Solving Kirsch's problem using the release nodal force approach: run with MPI parallel computing

This page is based on a Jupyter notebook.

import os(click to toggle)
import os
from pathlib import Path
from subprocess import run

import gmsh
import matplotlib.pyplot as plt
import numpy as np
import ogstools as ot
from mesh import MeshGenerator

Run “Solving Kirsch’s problem using the release nodal force approach” with MPI parallel computing

out_dir = Path(os.environ.get("OGS_TESTRUNNER_OUT_DIR", "_out"))(click to toggle)
out_dir = Path(os.environ.get("OGS_TESTRUNNER_OUT_DIR", "_out"))
if not out_dir.exists():
    out_dir.mkdir(parents=True)
mesh_dir = Path(out_dir, "Mesh")

1. Mesh generation

if not gmsh.isInitialized():(click to toggle)
if not gmsh.isInitialized():
    gmsh.initialize()

gmsh.model.add("Mesh")

mesh_generator = MeshGenerator(gmsh_model=gmsh.model)
mesh_generator.generate_meshes(out_dir=mesh_dir, order=2)

gmsh.finalize()
Info    : Meshing 1D...
Info    : [  0%] Meshing curve 1 (Circle)
Info    : [ 20%] Meshing curve 2 (Circle)
Info    : [ 30%] Meshing curve 3 (Line)
Info    : [ 40%] Meshing curve 4 (Line)
Info    : [ 50%] Meshing curve 5 (Line)
Info    : [ 60%] Meshing curve 6 (Line)
Info    : [ 70%] Meshing curve 7 (Line)
Info    : [ 80%] Meshing curve 8 (Line)
Info    : [ 90%] Meshing curve 9 (Line)
Info    : [100%] Meshing curve 10 (Line)
Info    : Done meshing 1D (Wall 0.00209115s, CPU 0.002348s)
Info    : Meshing 2D...
Info    : [  0%] Meshing surface 1 (Transfinite)
Info    : [ 40%] Meshing surface 2 (Plane, Delaunay)
Info    : [ 70%] Meshing surface 3 (Plane, Delaunay)
Info    : Done meshing 2D (Wall 0.00627798s, CPU 0.006555s)
Info    : 1469 nodes 2051 elements
Info    : Writing '/var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/domain.msh'...
Info    : Done writing '/var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/domain.msh'
INFO:ogstools.meshes.gmsh_converter:Detected domain dimension of 2
INFO:ogstools.meshes.gmsh_converter:Found material IDs: [1]
INFO:ogstools.meshes.gmsh_converter:Renumbered to: [0]
INFO:ogstools.meshes.gmsh_converter:domain: UnstructuredGrid (0x7f7091935c00)
  N Cells:    1674
  N Points:   1391
  X Bounds:   0.000e+00, 7.000e+01
  Y Bounds:   -8.570e+02, -7.870e+02
  Z Bounds:   0.000e+00, 0.000e+00
  N Arrays:   1
[0] info: Reordering nodes... 
[0] info: Method: Reversing order of nodes unless it is considered correct by the OGS6 standard, i.e. such that det(J) > 0, where J is the Jacobian of the global-to-local coordinate transformation.
[0] info: Corrected 1674 elements.
[0] info: VTU file written.
INFO:ogstools.meshes.gmsh_converter:arc: UnstructuredGrid (0x7f7091936800)
  N Cells:    19
  N Points:   20
  X Bounds:   0.000e+00, 6.500e+00
  Y Bounds:   -8.570e+02, -8.505e+02
  Z Bounds:   0.000e+00, 0.000e+00
  N Arrays:   2
INFO:ogstools.meshes.gmsh_converter:left: UnstructuredGrid (0x7f708bf33f40)
  N Cells:    64
  N Points:   65
  X Bounds:   0.000e+00, 0.000e+00
  Y Bounds:   -8.505e+02, -7.870e+02
  Z Bounds:   0.000e+00, 0.000e+00
  N Arrays:   2
INFO:ogstools.meshes.gmsh_converter:bottom: UnstructuredGrid (0x7f708bf33580)
  N Cells:    64
  N Points:   65
  X Bounds:   6.500e+00, 7.000e+01
  Y Bounds:   -8.570e+02, -8.570e+02
  Z Bounds:   0.000e+00, 0.000e+00
  N Arrays:   2
INFO:ogstools.meshes.gmsh_converter:top: UnstructuredGrid (0x7f708bf741c0)
  N Cells:    14
  N Points:   15
  X Bounds:   0.000e+00, 7.000e+01
  Y Bounds:   -7.870e+02, -7.870e+02
  Z Bounds:   0.000e+00, 0.000e+00
  N Arrays:   2
INFO:ogstools.meshes.gmsh_converter:right: UnstructuredGrid (0x7f708bf74400)
  N Cells:    14
  N Points:   15
  X Bounds:   7.000e+01, 7.000e+01
  Y Bounds:   -8.570e+02, -7.870e+02
  Z Bounds:   0.000e+00, 0.000e+00
  N Arrays:   2
INFO:ogstools.meshes.gmsh_converter:Conversion complete.
domain: 1674 cells
arc: 19 cells
left: 64 cells
bottom: 64 cells
top: 14 cells
right: 14 cells
[0] info: Reordering nodes... 
[0] info: Method: Reversing order of nodes unless it is considered correct by the OGS6 standard, i.e. such that det(J) > 0, where J is the Jacobian of the global-to-local coordinate transformation.
[0] info: Corrected 0 elements.
[0] info: VTU file written.
Create quadratic mesh for /var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/arc.vtu
[0] info: Create a quadratic order mesh
[0] info: Save the new mesh into a file
Create quadratic mesh for /var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/top.vtu
[0] info: Create a quadratic order mesh
[0] info: Save the new mesh into a file
Create quadratic mesh for /var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/bottom.vtu
[0] info: Create a quadratic order mesh
[0] info: Save the new mesh into a file
Create quadratic mesh for /var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/left.vtu
[0] info: Create a quadratic order mesh
[0] info: Save the new mesh into a file
Create quadratic mesh for /var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/right.vtu
[0] info: Create a quadratic order mesh
[0] info: Save the new mesh into a file
Create quadratic mesh for /var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/domain.vtu
[0] info: Create a quadratic order mesh
[0] info: Save the new mesh into a file
[0] info: Mesh reading time: 0.00676764 s
[0] info: MeshNodeSearcher construction time: 0.000196395 s
[0] info: identifySubdomainMesh(): identifySubdomainMeshNodes took 0.000265719 s
[0] info: identifySubdomainMesh(): identifySubdomainMeshElements took 0.0010125 s
[0] info: identifySubdomainMesh(): identifySubdomainMeshNodes took 9.514e-06 s
[0] info: identifySubdomainMesh(): identifySubdomainMeshElements took 0.000241272 s
[0] info: There is already a 'bulk_element_ids' property present in the subdomain mesh 'arc' and it is equal to the newly computed values.
[0] info: identifySubdomainMesh(): identifySubdomainMeshNodes took 1.1107e-05 s
[0] info: identifySubdomainMesh(): identifySubdomainMeshElements took 0.000163395 s
[0] info: There is already a 'bulk_element_ids' property present in the subdomain mesh 'left' and it is equal to the newly computed values.
[0] info: identifySubdomainMesh(): identifySubdomainMeshNodes took 1.1447e-05 s
[0] info: identifySubdomainMesh(): identifySubdomainMeshElements took 0.000144497 s
[0] info: There is already a 'bulk_element_ids' property present in the subdomain mesh 'bottom' and it is equal to the newly computed values.
[0] info: identifySubdomainMesh(): identifySubdomainMeshNodes took 2.584e-06 s
[0] info: identifySubdomainMesh(): identifySubdomainMeshElements took 0.000144206 s
[0] info: There is already a 'bulk_element_ids' property present in the subdomain mesh 'top' and it is equal to the newly computed values.
[0] info: identifySubdomainMesh(): identifySubdomainMeshNodes took 2.654e-06 s
[0] info: identifySubdomainMesh(): identifySubdomainMeshElements took 0.000128373 s
[0] info: There is already a 'bulk_element_ids' property present in the subdomain mesh 'right' and it is equal to the newly computed values.
[0] info: identifySubdomains time: 0.00224572 s
[0] info: writing time: 0.011584 s
[0] info: Entire run time: -3.0351e+06 s

2. Partitioning meshes

bulk_mesh = Path(mesh_dir, "domain.vtu")(click to toggle)
bulk_mesh = Path(mesh_dir, "domain.vtu")
num_parts = 3
ot.cli().partmesh("-s", "-i", bulk_mesh, "-o", mesh_dir)
ot.cli().partmesh(
    "-m",
    "-n",
    str(num_parts),
    "-i",
    bulk_mesh,
    "-o",
    mesh_dir,
    "--",
    Path(mesh_dir, "left.vtu"),
    Path(mesh_dir, "right.vtu"),
    Path(mesh_dir, "top.vtu"),
    Path(mesh_dir, "bottom.vtu"),
    Path(mesh_dir, "arc.vtu"),
)
[0] info: Mesh 'domain' read: 4455 nodes, 1674 elements.
[0] info: Property global_node_ids is added to mesh domain
[0] info: Property global_element_ids is added to mesh domain
[0] info: Write the mesh into METIS input file.
[0] info: Total runtime: 0.00410465 s.
[0] info: Total CPU time: 0.003918 s.
[0] info: Mesh 'domain' read: 4455 nodes, 1674 elements.
[0] info: Property global_node_ids is added to mesh domain
[0] info: Property global_element_ids is added to mesh domain
[0] info: METIS is running ...
[0] info: Path to mpmetis is: 
	
[0] info: Running: mpmetis -gtype=nodal "/var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/domain.mesh" 3
******************************************************************************
METIS 5.2.1 Copyright 1998-22, Regents of the University of Minnesota
 (HEAD: unknown, Built on: Mar 31 2026, 13:48:50)
 size of idx_t: 64bits, real_t: 32bits, idx_t *: 64bits

Mesh Information ------------------------------------------------------------
 Name: /var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/domain.mesh, #Elements: 1674, #Nodes: 4455, #Parts: 3

Options ---------------------------------------------------------------------
 ptype=kway, objtype=cut, ctype=shem, rtype=greedy, iptype=metisrb
 dbglvl=0, ufactor=1.030, minconn=NO, contig=NO, nooutput=NO
 seed=-1, niter=10, ncuts=1
 gtype=nodal, ncommon=1, niter=10, ncuts=1

Direct k-way Partitioning ---------------------------------------------------
 - Edgecut: 479.


Timing Information ----------------------------------------------------------
  I/O:          		   0.001 sec
  Partitioning: 		   0.003 sec   (METIS time)
  Reporting:    		   0.000 sec

Memory Information ----------------------------------------------------------
  Max memory used:		   1.725 MB
  rusage.ru_maxrss:		  76.090 MB
  proc/self/stat/VmPeak:	  28.160 MB
******************************************************************************
[0] info: Partitioning the mesh in the node wise way ...
[0] info: partitionMesh(): Partition IDs per element computed in 0.000235784 s
[0] info: partitionMesh(): distribute nodes to partitions took 2.1582e-05 s
[0] info: partitionMesh(): sorting [base nodes | higher order nodes] took 0.000276315 s
[0] info: partitionMesh(): setting number of nodes and of all mesh base nodes took 0.000158518 s
[0] info: partitionMesh(): distribute elements into partitions took 9.1808e-05 s
[0] info: partitionMesh(): determine / append ghost nodes took 3.6385e-05 s
[0] info: partitionMesh(): markDuplicateGhostCells took 1.291e-06 s
[0] info: Partitioning other meshes according to the main mesh partitions.
[0] info: Mesh 'left' from file '/var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/left.vtu' read: 129 nodes, 64 elements.
[0] info: Property global_node_ids is added to mesh left
[0] info: Property global_element_ids is added to mesh left
[0] info: partitionMesh(): Partition IDs per element computed in 3.074e-06 s
[0] info: partitionMesh(): distribute nodes to partitions took 1.582e-06 s
[0] info: partitionMesh(): sorting [base nodes | higher order nodes] took 3.034e-06 s
[0] info: partitionMesh(): setting number of nodes and of all mesh base nodes took 1.072e-06 s
[0] info: partitionMesh(): distribute elements into partitions took 2.153e-06 s
[0] info: partitionMesh(): determine / append ghost nodes took 2.263e-06 s
[0] info: partitionMesh(): markDuplicateGhostCells took 8.21e-07 s
[0] info: Mesh 'right' from file '/var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/right.vtu' read: 29 nodes, 14 elements.
[0] info: Property global_node_ids is added to mesh right
[0] info: Property global_element_ids is added to mesh right
[0] info: partitionMesh(): Partition IDs per element computed in 8.81e-07 s
[0] info: partitionMesh(): distribute nodes to partitions took 5.21e-07 s
[0] info: partitionMesh(): sorting [base nodes | higher order nodes] took 9.22e-07 s
[0] info: partitionMesh(): setting number of nodes and of all mesh base nodes took 3.31e-07 s
[0] info: partitionMesh(): distribute elements into partitions took 6.11e-07 s
[0] info: partitionMesh(): determine / append ghost nodes took 1.011e-06 s
[0] info: partitionMesh(): markDuplicateGhostCells took 4.2e-07 s
[0] info: Mesh 'top' from file '/var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/top.vtu' read: 29 nodes, 14 elements.
[0] info: Property global_node_ids is added to mesh top
[0] info: Property global_element_ids is added to mesh top
[0] info: partitionMesh(): Partition IDs per element computed in 1.182e-06 s
[0] info: partitionMesh(): distribute nodes to partitions took 2.81e-07 s
[0] info: partitionMesh(): sorting [base nodes | higher order nodes] took 6.51e-07 s
[0] info: partitionMesh(): setting number of nodes and of all mesh base nodes took 2.7e-07 s
[0] info: partitionMesh(): distribute elements into partitions took 3.61e-07 s
[0] info: partitionMesh(): determine / append ghost nodes took 4.1e-07 s
[0] info: partitionMesh(): markDuplicateGhostCells took 2.9e-07 s
[0] info: Mesh 'bottom' from file '/var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/bottom.vtu' read: 129 nodes, 64 elements.
[0] info: Property global_node_ids is added to mesh bottom
[0] info: Property global_element_ids is added to mesh bottom
[0] info: partitionMesh(): Partition IDs per element computed in 5.849e-06 s
[0] info: partitionMesh(): distribute nodes to partitions took 9.61e-07 s
[0] info: partitionMesh(): sorting [base nodes | higher order nodes] took 2.423e-06 s
[0] info: partitionMesh(): setting number of nodes and of all mesh base nodes took 9.92e-07 s
[0] info: partitionMesh(): distribute elements into partitions took 1.752e-06 s
[0] info: partitionMesh(): determine / append ghost nodes took 1.713e-06 s
[0] info: partitionMesh(): markDuplicateGhostCells took 5.21e-07 s
[0] info: Mesh 'arc' from file '/var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/arc.vtu' read: 39 nodes, 19 elements.
[0] info: Property global_node_ids is added to mesh arc
[0] info: Property global_element_ids is added to mesh arc
[0] info: partitionMesh(): Partition IDs per element computed in 1.302e-06 s
[0] info: partitionMesh(): distribute nodes to partitions took 3.91e-07 s
[0] info: partitionMesh(): sorting [base nodes | higher order nodes] took 8.31e-07 s
[0] info: partitionMesh(): setting number of nodes and of all mesh base nodes took 3.6e-07 s
[0] info: partitionMesh(): distribute elements into partitions took 6.31e-07 s
[0] info: partitionMesh(): determine / append ghost nodes took 4.11e-07 s
[0] info: partitionMesh(): markDuplicateGhostCells took 2e-07 s
[0] info: Writing the partitions data into binary files took 0.0005264 s
[0] info: Total runtime: 0.0823518 s.
[0] info: Total CPU time: 0.008722 s.
0

3. Parallel computing

output_prefix = "kirsch_mpi"(click to toggle)
output_prefix = "kirsch_mpi"
temporary_project = Path(out_dir, f"{output_prefix}.prj")
prj = ot.Project(
    input_file="kirsch.prj",
    output_file=temporary_project,
)
prj.replace_text(
    output_prefix,
    xpath="./time_loop/output/prefix",
)
prj.write_input()

run(
    f"mpirun -np {num_parts} ogs {temporary_project} -m {mesh_dir} -o {out_dir}",
    shell=True,
    check=True,
)
[0] info: OGS started on 2026-05-18 12:46:57+0200 with MPI. MPI processes: 3.
[0] info: This is OpenGeoSys-6 version 6.5.8. Log version: 2, Log level: info.
[0] info: Using virtual environment site-packages: /var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/.venv/lib/python3.14/site-packages
[0] info: Reading project file ../../../../../build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/kirsch_mpi.prj.
[0] info: Reading corresponding part of mesh data from binary file /var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/domain ...
[0] warning: Could not open file '/var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/domain_partitioned_integration_point_properties_cfg3.bin'.
	You can ignore this warning if the mesh does not contain integration_point-wise property data.
[0] info: [time] Reading the mesh took 0.008315 s.
[0] info: Reading corresponding part of mesh data from binary file /var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/left ...
[0] warning: Could not open file '/var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/left_partitioned_integration_point_properties_cfg3.bin'.
	You can ignore this warning if the mesh does not contain integration_point-wise property data.
[0] info: [time] Reading the mesh took 0.006069 s.
[0] info: Reading corresponding part of mesh data from binary file /var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/right ...
[0] warning: Could not open file '/var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/right_partitioned_integration_point_properties_cfg3.bin'.
	You can ignore this warning if the mesh does not contain integration_point-wise property data.
[0] info: [time] Reading the mesh took 0.002105 s.
[0] info: Reading corresponding part of mesh data from binary file /var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/top ...
[0] warning: Could not open file '/var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/top_partitioned_integration_point_properties_cfg3.bin'.
	You can ignore this warning if the mesh does not contain integration_point-wise property data.
[0] info: [time] Reading the mesh took 0.001444 s.
[0] info: Reading corresponding part of mesh data from binary file /var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/bottom ...
[0] warning: Could not open file '/var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/bottom_partitioned_integration_point_properties_cfg3.bin'.
	You can ignore this warning if the mesh does not contain integration_point-wise property data.
[0] info: [time] Reading the mesh took 0.000661 s.
[0] info: Reading corresponding part of mesh data from binary file /var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/arc ...
[0] warning: Could not open file '/var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/arc_partitioned_integration_point_properties_cfg3.bin'.
	You can ignore this warning if the mesh does not contain integration_point-wise property data.
[0] info: [time] Reading the mesh took 0.015700 s.
[0] info: readRasters ...
[0] info: readRasters done
[0] info: ConstantParameter: E
[0] info: ConstantParameter: nu
[0] info: ConstantParameter: zero
[0] info: ConstantParameter: initial_displacement
[0] info: FunctionParameter: sigma0
[0] info: ConstantParameter: sigma_top
[0] info: FunctionParameter: decay_function
[0] info: Configure mesh 'left' for boundary condition or source term.
[0] info: Configure mesh 'bottom' for boundary condition or source term.
[0] info: Configure mesh 'top' for boundary condition or source term.
[0] info: Configure mesh 'arc' for boundary condition or source term.
[0] info: No source terms for process variable 'displacement' found.
[0] info: Threads used for ParallelVectorMatrixAssembler: 1.
[0] info: SmallDeformation process initializeSubmeshOutput().
[0] info: Initialize processes.
[0] info: Checking correct model evaluation order in the constitutive setting.
[0] info: Model evaluation order is correct.
[0] info: Time step #0 started. Time: 0. Step size: 0.
[0] info: [time] Output of timestep 0 took 0.0274528 s.
[0] info: Calculate non-equilibrium initial residuum.
[0] info: Number of threads: 1
[0] info: Time step #0 took 0.0825458 s.
[0] info: Solve processes.
[0] info: Time step #1 started. Time: 10000. Step size: 10000.
[0] info: Solving process #0 started.
[0] info: Iteration #1 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0161944 s.
[0] info: [time] Applying Dirichlet BCs took 0.000250256 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 425 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.140802 s.
[0] info: Convergence criterion, component 0: |dx|=2.1980e-02, |x|=2.1980e-02, |dx|/|x|=1.0000e+00
[0] info: Convergence criterion, component 1: |dx|=5.3739e-02, |x|=5.3739e-02, |dx|/|x|=1.0000e+00
[0] info: [time] Iteration #1 took 0.158068 s.
[0] info: Iteration #2 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0110174 s.
[0] info: [time] Applying Dirichlet BCs took 0.000125268 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 32 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.00767107 s.
[0] info: Convergence criterion, component 0: |dx|=3.2605e-16, |x|=2.1980e-02, |dx|/|x|=1.4834e-14
[0] info: Convergence criterion, component 1: |dx|=6.5767e-16, |x|=5.3739e-02, |dx|/|x|=1.2238e-14
[0] info: [time] Iteration #2 took 0.0192981 s.
[0] info: [time] Solving process #0 took 0.177471 s in time step #1
[0] info: [time] Time step #1 took 0.180252 s.
[0] info: [time] Output of timestep 1 took 0.00510508 s.
[0] info: Time step #2 started. Time: 25000. Step size: 15000.
[0] info: Solving process #0 started.
[0] info: Iteration #1 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.00629824 s.
[0] info: [time] Applying Dirichlet BCs took 0.000198618 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 434 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.158554 s.
[0] info: Convergence criterion, component 0: |dx|=3.2971e-02, |x|=5.4951e-02, |dx|/|x|=6.0000e-01
[0] info: Convergence criterion, component 1: |dx|=8.0608e-02, |x|=1.3435e-01, |dx|/|x|=6.0000e-01
[0] info: [time] Iteration #1 took 0.165539 s.
[0] info: Iteration #2 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0238686 s.
[0] info: [time] Applying Dirichlet BCs took 0.000125999 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 70 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.048429 s.
[0] info: Convergence criterion, component 0: |dx|=1.5497e-15, |x|=5.4951e-02, |dx|/|x|=2.8202e-14
[0] info: Convergence criterion, component 1: |dx|=2.6808e-15, |x|=1.3435e-01, |dx|/|x|=1.9954e-14
[0] info: [time] Iteration #2 took 0.0749522 s.
[0] info: [time] Solving process #0 took 0.240563 s in time step #2
[0] info: [time] Time step #2 took 0.246714 s.
[0] info: [time] Output of timestep 2 took 0.0181391 s.
[0] info: Time step #3 started. Time: 42280. Step size: 17280.
[0] info: Solving process #0 started.
[0] info: Iteration #1 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0182251 s.
[0] info: [time] Applying Dirichlet BCs took 0.000199491 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 429 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.207759 s.
[0] info: Convergence criterion, component 0: |dx|=3.7982e-02, |x|=9.2933e-02, |dx|/|x|=4.0870e-01
[0] info: Convergence criterion, component 1: |dx|=9.2860e-02, |x|=2.2721e-01, |dx|/|x|=4.0870e-01
[0] info: [time] Iteration #1 took 0.229119 s.
[0] info: Iteration #2 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.012266 s.
[0] info: [time] Applying Dirichlet BCs took 0.000129323 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 186 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0813552 s.
[0] info: Convergence criterion, component 0: |dx|=1.2894e-14, |x|=9.2933e-02, |dx|/|x|=1.3874e-13
[0] info: Convergence criterion, component 1: |dx|=3.0830e-14, |x|=2.2721e-01, |dx|/|x|=1.3569e-13
[0] info: [time] Iteration #2 took 0.0972455 s.
[0] info: [time] Solving process #0 took 0.326476 s in time step #3
[0] info: [time] Time step #3 took 0.335703 s.
[0] info: [time] Output of timestep 3 took 0.0224962 s.
[0] info: Time step #4 started. Time: 59560. Step size: 17280.
[0] info: Solving process #0 started.
[0] info: Iteration #1 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0160814 s.
[0] info: [time] Applying Dirichlet BCs took 0.000182756 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 419 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.18156 s.
[0] info: Convergence criterion, component 0: |dx|=3.7982e-02, |x|=1.3091e-01, |dx|/|x|=2.9013e-01
[0] info: Convergence criterion, component 1: |dx|=9.2860e-02, |x|=3.2007e-01, |dx|/|x|=2.9013e-01
[0] info: [time] Iteration #1 took 0.198319 s.
[0] info: Iteration #2 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.00914503 s.
[0] info: [time] Applying Dirichlet BCs took 0.000121472 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 37 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.014458 s.
[0] info: Convergence criterion, component 0: |dx|=3.6273e-16, |x|=1.3091e-01, |dx|/|x|=2.7707e-15
[0] info: Convergence criterion, component 1: |dx|=5.3986e-16, |x|=3.2007e-01, |dx|/|x|=1.6867e-15
[0] info: [time] Iteration #2 took 0.0242817 s.
[0] info: [time] Solving process #0 took 0.222741 s in time step #4
[0] info: [time] Time step #4 took 0.226928 s.
[0] info: [time] Output of timestep 4 took 0.00602819 s.
[0] info: Time step #5 started. Time: 76840. Step size: 17280.
[0] info: Solving process #0 started.
[0] info: Iteration #1 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.00696059 s.
[0] info: [time] Applying Dirichlet BCs took 0.00015206 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 429 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.267791 s.
[0] info: Convergence criterion, component 0: |dx|=3.7982e-02, |x|=1.6890e-01, |dx|/|x|=2.2488e-01
[0] info: Convergence criterion, component 1: |dx|=9.2860e-02, |x|=4.1293e-01, |dx|/|x|=2.2488e-01
[0] info: [time] Iteration #1 took 0.275394 s.
[0] info: Iteration #2 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0138851 s.
[0] info: [time] Applying Dirichlet BCs took 0.000120761 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 90 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0370494 s.
[0] info: Convergence criterion, component 0: |dx|=1.0257e-15, |x|=1.6890e-01, |dx|/|x|=6.0728e-15
[0] info: Convergence criterion, component 1: |dx|=2.4528e-15, |x|=4.1293e-01, |dx|/|x|=5.9400e-15
[0] info: [time] Iteration #2 took 0.0516445 s.
[0] info: [time] Solving process #0 took 0.327188 s in time step #5
[0] info: [time] Time step #5 took 0.33829 s.
[0] info: [time] Output of timestep 5 took 0.0113583 s.
[0] info: Time step #6 started. Time: 94120. Step size: 17280.
[0] info: Solving process #0 started.
[0] info: Iteration #1 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0120496 s.
[0] info: [time] Applying Dirichlet BCs took 0.000203455 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 422 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.112754 s.
[0] info: Convergence criterion, component 0: |dx|=3.7982e-02, |x|=2.0688e-01, |dx|/|x|=1.8360e-01
[0] info: Convergence criterion, component 1: |dx|=9.2860e-02, |x|=5.0579e-01, |dx|/|x|=1.8360e-01
[0] info: [time] Iteration #1 took 0.125574 s.
[0] info: Iteration #2 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0193792 s.
[0] info: [time] Applying Dirichlet BCs took 0.000131037 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 125 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0624326 s.
[0] info: Convergence criterion, component 0: |dx|=2.5665e-14, |x|=2.0688e-01, |dx|/|x|=1.2406e-13
[0] info: Convergence criterion, component 1: |dx|=4.2263e-14, |x|=5.0579e-01, |dx|/|x|=8.3558e-14
[0] info: [time] Iteration #2 took 0.0834758 s.
[0] info: [time] Solving process #0 took 0.209175 s in time step #6
[0] info: [time] Time step #6 took 0.213162 s.
[0] info: [time] Output of timestep 6 took 0.0101014 s.
[0] info: Time step #7 started. Time: 111400. Step size: 17280.
[0] info: Solving process #0 started.
[0] info: Iteration #1 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.00933603 s.
[0] info: [time] Applying Dirichlet BCs took 0.00015306 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 422 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.110954 s.
[0] info: Convergence criterion, component 0: |dx|=3.7982e-02, |x|=2.4486e-01, |dx|/|x|=1.5512e-01
[0] info: Convergence criterion, component 1: |dx|=9.2860e-02, |x|=5.9865e-01, |dx|/|x|=1.5512e-01
[0] info: [time] Iteration #1 took 0.121283 s.
[0] info: Iteration #2 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0136092 s.
[0] info: [time] Applying Dirichlet BCs took 0.000125478 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 102 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.046531 s.
[0] info: Convergence criterion, component 0: |dx|=9.6270e-15, |x|=2.4486e-01, |dx|/|x|=3.9316e-14
[0] info: Convergence criterion, component 1: |dx|=5.4930e-15, |x|=5.9865e-01, |dx|/|x|=9.1756e-15
[0] info: [time] Iteration #2 took 0.0613418 s.
[0] info: [time] Solving process #0 took 0.182754 s in time step #7
[0] info: [time] Time step #7 took 0.18578 s.
[0] info: [time] Output of timestep 7 took 0.00923142 s.
[0] info: Time step #8 started. Time: 128680. Step size: 17280.
[0] info: Solving process #0 started.
[0] info: Iteration #1 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0075922 s.
[0] info: [time] Applying Dirichlet BCs took 0.000663076 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 436 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.220321 s.
[0] info: Convergence criterion, component 0: |dx|=3.7982e-02, |x|=2.8284e-01, |dx|/|x|=1.3429e-01
[0] info: Convergence criterion, component 1: |dx|=9.2860e-02, |x|=6.9151e-01, |dx|/|x|=1.3429e-01
[0] info: [time] Iteration #1 took 0.232436 s.
[0] info: Iteration #2 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0122418 s.
[0] info: [time] Applying Dirichlet BCs took 0.000212999 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 158 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0742286 s.
[0] info: Convergence criterion, component 0: |dx|=3.7517e-14, |x|=2.8284e-01, |dx|/|x|=1.3264e-13
[0] info: Convergence criterion, component 1: |dx|=4.5004e-14, |x|=6.9151e-01, |dx|/|x|=6.5081e-14
[0] info: [time] Iteration #2 took 0.0885919 s.
[0] info: [time] Solving process #0 took 0.321287 s in time step #8
[0] info: [time] Time step #8 took 0.32573 s.
[0] info: [time] Output of timestep 8 took 0.0131974 s.
[0] info: Time step #9 started. Time: 145960. Step size: 17280.
[0] info: Solving process #0 started.
[0] info: Iteration #1 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0128532 s.
[0] info: [time] Applying Dirichlet BCs took 0.000183205 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 438 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.144902 s.
[0] info: Convergence criterion, component 0: |dx|=3.7982e-02, |x|=3.2083e-01, |dx|/|x|=1.1839e-01
[0] info: Convergence criterion, component 1: |dx|=9.2860e-02, |x|=7.8437e-01, |dx|/|x|=1.1839e-01
[0] info: [time] Iteration #1 took 0.158509 s.
[0] info: Iteration #2 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0122504 s.
[0] info: [time] Applying Dirichlet BCs took 0.000134391 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 81 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.035658 s.
[0] info: Convergence criterion, component 0: |dx|=2.6406e-15, |x|=3.2083e-01, |dx|/|x|=8.2306e-15
[0] info: Convergence criterion, component 1: |dx|=4.1628e-15, |x|=7.8437e-01, |dx|/|x|=5.3072e-15
[0] info: [time] Iteration #2 took 0.0495387 s.
[0] info: [time] Solving process #0 took 0.208251 s in time step #9
[0] info: [time] Time step #9 took 0.214155 s.
[0] info: [time] Output of timestep 9 took 0.0101566 s.
[0] info: Time step #10 started. Time: 163240. Step size: 17280.
[0] info: Solving process #0 started.
[0] info: Iteration #1 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.00909109 s.
[0] info: [time] Applying Dirichlet BCs took 0.000167172 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 425 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.107587 s.
[0] info: Convergence criterion, component 0: |dx|=3.7982e-02, |x|=3.5881e-01, |dx|/|x|=1.0586e-01
[0] info: Convergence criterion, component 1: |dx|=9.2860e-02, |x|=8.7723e-01, |dx|/|x|=1.0586e-01
[0] info: [time] Iteration #1 took 0.119352 s.
[0] info: Iteration #2 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0101059 s.
[0] info: [time] Applying Dirichlet BCs took 0.000321843 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 109 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0381855 s.
[0] info: Convergence criterion, component 0: |dx|=4.5610e-15, |x|=3.5881e-01, |dx|/|x|=1.2711e-14
[0] info: Convergence criterion, component 1: |dx|=6.2965e-15, |x|=8.7723e-01, |dx|/|x|=7.1777e-15
[0] info: [time] Iteration #2 took 0.0501813 s.
[0] info: [time] Solving process #0 took 0.16962 s in time step #10
[0] info: [time] Time step #10 took 0.173682 s.
[0] info: [time] Output of timestep 10 took 0.0122979 s.
[0] info: Time step #11 started. Time: 180520. Step size: 17280.
[0] info: Solving process #0 started.
[0] info: Iteration #1 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0101426 s.
[0] info: [time] Applying Dirichlet BCs took 0.00129067 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 410 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.138388 s.
[0] info: Convergence criterion, component 0: |dx|=2.1013e-02, |x|=3.7982e-01, |dx|/|x|=5.5324e-02
[0] info: Convergence criterion, component 1: |dx|=5.1374e-02, |x|=9.2860e-01, |dx|/|x|=5.5324e-02
[0] info: [time] Iteration #1 took 0.150324 s.
[0] info: Iteration #2 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.00807872 s.
[0] info: [time] Applying Dirichlet BCs took 0.000122164 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 127 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.037712 s.
[0] info: Convergence criterion, component 0: |dx|=1.0213e-14, |x|=3.7982e-01, |dx|/|x|=2.6888e-14
[0] info: Convergence criterion, component 1: |dx|=2.5036e-14, |x|=9.2860e-01, |dx|/|x|=2.6961e-14
[0] info: [time] Iteration #2 took 0.046679 s.
[0] info: [time] Solving process #0 took 0.197103 s in time step #11
[0] info: [time] Time step #11 took 0.201223 s.
[0] info: [time] Output of timestep 11 took 0.00599656 s.
[0] info: Time step #12 started. Time: 197800. Step size: 17280.
[0] info: Solving process #0 started.
[0] info: Iteration #1 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.00657528 s.
[0] info: [time] Applying Dirichlet BCs took 0.000165688 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 31 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0135648 s.
[0] info: Convergence criterion, component 0: |dx|=4.0489e-16, |x|=3.7982e-01, |dx|/|x|=1.0660e-15
[0] info: Convergence criterion, component 1: |dx|=4.9510e-16, |x|=9.2860e-01, |dx|/|x|=5.3316e-16
[0] info: [time] Iteration #1 took 0.0213266 s.
[0] info: [time] Solving process #0 took 0.0214427 s in time step #12
[0] info: [time] Time step #12 took 0.0260473 s.
[0] info: [time] Output of timestep 12 took 0.00879968 s.
[0] info: Time step #13 started. Time: 215080. Step size: 17280.
[0] info: Solving process #0 started.
[0] info: Iteration #1 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.00666556 s.
[0] info: [time] Applying Dirichlet BCs took 0.000149835 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 40 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0144887 s.
[0] info: Convergence criterion, component 0: |dx|=8.6317e-16, |x|=3.7982e-01, |dx|/|x|=2.2726e-15
[0] info: Convergence criterion, component 1: |dx|=5.5966e-16, |x|=9.2860e-01, |dx|/|x|=6.0268e-16
[0] info: [time] Iteration #1 took 0.02308 s.
[0] info: [time] Solving process #0 took 0.0235843 s in time step #13
[0] info: [time] Time step #13 took 0.0265395 s.
[0] info: [time] Output of timestep 13 took 0.00789172 s.
[0] info: Time step #14 started. Time: 232360. Step size: 17280.
[0] info: Solving process #0 started.
[0] info: Iteration #1 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0102365 s.
[0] info: [time] Applying Dirichlet BCs took 0.00129725 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 27 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0137089 s.
[0] info: Convergence criterion, component 0: |dx|=3.0454e-16, |x|=3.7982e-01, |dx|/|x|=8.0181e-16
[0] info: Convergence criterion, component 1: |dx|=5.0100e-16, |x|=9.2860e-01, |dx|/|x|=5.3952e-16
[0] info: [time] Iteration #1 took 0.0283791 s.
[0] info: [time] Solving process #0 took 0.0296041 s in time step #14
[0] info: [time] Time step #14 took 0.0327258 s.
[0] info: [time] Output of timestep 14 took 0.0126391 s.
[0] info: Time step #15 started. Time: 249640. Step size: 17280.
[0] info: Solving process #0 started.
[0] info: Iteration #1 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.012979 s.
[0] info: [time] Applying Dirichlet BCs took 0.000165499 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 39 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0271576 s.
[0] info: Convergence criterion, component 0: |dx|=3.0141e-16, |x|=3.7982e-01, |dx|/|x|=7.9357e-16
[0] info: Convergence criterion, component 1: |dx|=7.3075e-16, |x|=9.2860e-01, |dx|/|x|=7.8694e-16
[0] info: [time] Iteration #1 took 0.0482447 s.
[0] info: [time] Solving process #0 took 0.0484767 s in time step #15
[0] info: [time] Time step #15 took 0.0538915 s.
[0] info: [time] Output of timestep 15 took 0.0181406 s.
[0] info: Time step #16 started. Time: 266920. Step size: 17280.
[0] info: Solving process #0 started.
[0] info: Iteration #1 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0138676 s.
[0] info: [time] Applying Dirichlet BCs took 0.000176184 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 25 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0122458 s.
[0] info: Convergence criterion, component 0: |dx|=2.7372e-16, |x|=3.7982e-01, |dx|/|x|=7.2065e-16
[0] info: Convergence criterion, component 1: |dx|=4.6714e-16, |x|=9.2860e-01, |dx|/|x|=5.0305e-16
[0] info: [time] Iteration #1 took 0.0267905 s.
[0] info: [time] Solving process #0 took 0.027967 s in time step #16
[0] info: [time] Time step #16 took 0.0356826 s.
[0] info: [time] Output of timestep 16 took 0.0157817 s.
[0] info: Time step #17 started. Time: 284200. Step size: 17280.
[0] info: Solving process #0 started.
[0] info: Iteration #1 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.00995923 s.
[0] info: [time] Applying Dirichlet BCs took 0.000184959 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 70 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0220993 s.
[0] info: Convergence criterion, component 0: |dx|=2.0561e-15, |x|=3.7982e-01, |dx|/|x|=5.4134e-15
[0] info: Convergence criterion, component 1: |dx|=2.0951e-15, |x|=9.2860e-01, |dx|/|x|=2.2562e-15
[0] info: [time] Iteration #1 took 0.0337237 s.
[0] info: [time] Solving process #0 took 0.0338199 s in time step #17
[0] info: [time] Time step #17 took 0.0379793 s.
[0] info: [time] Output of timestep 17 took 0.00712058 s.
[0] info: Time step #18 started. Time: 301480. Step size: 17280.
[0] info: Solving process #0 started.
[0] info: Iteration #1 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.00667044 s.
[0] info: [time] Applying Dirichlet BCs took 0.000159479 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 52 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0213592 s.
[0] info: Convergence criterion, component 0: |dx|=3.7717e-16, |x|=3.7982e-01, |dx|/|x|=9.9301e-16
[0] info: Convergence criterion, component 1: |dx|=6.2266e-16, |x|=9.2860e-01, |dx|/|x|=6.7053e-16
[0] info: [time] Iteration #1 took 0.0289151 s.
[0] info: [time] Solving process #0 took 0.0289953 s in time step #18
[0] info: [time] Time step #18 took 0.0328035 s.
[0] info: [time] Output of timestep 18 took 0.0065657 s.
[0] info: Time step #19 started. Time: 318760. Step size: 17280.
[0] info: Solving process #0 started.
[0] info: Iteration #1 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.00671281 s.
[0] info: [time] Applying Dirichlet BCs took 0.000158688 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 24 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.00675743 s.
[0] info: Convergence criterion, component 0: |dx|=1.3720e-16, |x|=3.7982e-01, |dx|/|x|=3.6123e-16
[0] info: Convergence criterion, component 1: |dx|=3.7964e-16, |x|=9.2860e-01, |dx|/|x|=4.0883e-16
[0] info: [time] Iteration #1 took 0.0140945 s.
[0] info: [time] Solving process #0 took 0.0141634 s in time step #19
[0] info: [time] Time step #19 took 0.0170777 s.
[0] info: [time] Output of timestep 19 took 0.0101455 s.
[0] info: Time step #20 started. Time: 336040. Step size: 17280.
[0] info: Solving process #0 started.
[0] info: Iteration #1 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0107593 s.
[0] info: [time] Applying Dirichlet BCs took 0.000249665 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 45 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0222321 s.
[0] info: Convergence criterion, component 0: |dx|=2.5060e-16, |x|=3.7982e-01, |dx|/|x|=6.5979e-16
[0] info: Convergence criterion, component 1: |dx|=9.2419e-16, |x|=9.2860e-01, |dx|/|x|=9.9525e-16
[0] info: [time] Iteration #1 took 0.0349083 s.
[0] info: [time] Solving process #0 took 0.0349992 s in time step #20
[0] info: [time] Time step #20 took 0.0399748 s.
[0] info: [time] Output of timestep 20 took 0.0109108 s.
[0] info: Time step #21 started. Time: 345600. Step size: 9560.
[0] info: Solving process #0 started.
[0] info: Iteration #1 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.00951052 s.
[0] info: [time] Applying Dirichlet BCs took 0.000174031 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 36 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0172869 s.
[0] info: Convergence criterion, component 0: |dx|=5.7592e-16, |x|=3.7982e-01, |dx|/|x|=1.5163e-15
[0] info: Convergence criterion, component 1: |dx|=1.3761e-15, |x|=9.2860e-01, |dx|/|x|=1.4819e-15
[0] info: [time] Iteration #1 took 0.0277988 s.
[0] info: [time] Solving process #0 took 0.0278816 s in time step #21
[0] info: [time] Time step #21 took 0.0316539 s.
[0] info: [time] Output of timestep 21 took 0.0103105 s.
[0] info: The whole computation of the time stepping took 21 steps, in which
	 the accepted steps are 21, and the rejected steps are 0.

[0] info: [time] Simulation completed. It took 3.35261 s.
WARNING! There are options you set that were not used!
WARNING! could be spelling mistake, etc!
There are 2 unused database options. They are:
Option left: name:-m value: /var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh source: command line
Option left: name:-o value: /var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch source: command line
[0] info: OGS completed on 2026-05-18 12:47:01+0200.
CompletedProcess(args='mpirun -np 3 ogs /var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/kirsch_mpi.prj -m /var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh -o /var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch', returncode=0)

4. Contour plotting of the simulation results

pvd = Path(out_dir, f"{output_prefix}.pvd")(click to toggle)
pvd = Path(out_dir, f"{output_prefix}.pvd")
ms = ot.MeshSeries(pvd).scale(time="d")
print(pvd)
mesh_last = ms[-1]
fig = ot.plot.contourf(
    mesh_last,
    ot.variables.displacement["x"],
    figsize=(6, 4),
    fontsize=8,
    cmap="jet",
)
[0] info: Reading meshes took 0.01031686200000026 s
[0] info: Collection of 1674 regular elements and computing element map took 2.131200000010658e-05 s
[0] info: Collection of 4720 nodes and computing offsets took 8.17200000002849e-06 s
[0] info: Make nodes unique (4455 unique nodes) / computing map took 0.0014425060000000656 s
[0] info: Reset nodes in regular elements took 0.004084364000000118 s
[0] info: creation of merged mesh took 0.00025032600000018945 s
[0] info: merge properties into merged mesh took 0.000166750999999854 s
[0] info: writing mesh took 0.010857443999999994 s
/var/lib/gitlab-runner/builds/Sbm-BZZt4/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/kirsch_mpi.pvd
[0] info: Reading meshes took 0.015824964000000108 s
[0] info: Collection of 1674 regular elements and computing element map took 2.4927999999979633e-05 s
[0] info: Collection of 4720 nodes and computing offsets took 8.052000000091653e-06 s
[0] info: Make nodes unique (4455 unique nodes) / computing map took 0.0012258899999999517 s
[0] info: Reset nodes in regular elements took 0.003358753999999964 s
[0] info: creation of merged mesh took 0.0002653289999998698 s
[0] info: merge properties into merged mesh took 0.00021888899999988887 s
[0] info: writing mesh took 0.006743476000000026 s

png

fig = ot.plot.contourf((click to toggle)
fig = ot.plot.contourf(
    mesh_last, ot.variables.displacement["y"], figsize=(6, 4), fontsize=8, cmap="jet"
)

png

fig = ot.plot.contourf((click to toggle)
fig = ot.plot.contourf(
    mesh_last, ot.variables.stress["xx"], figsize=(6, 4), fontsize=8, cmap="jet"
)

png

fig = ot.plot.contourf((click to toggle)
fig = ot.plot.contourf(
    mesh_last, ot.variables.stress["yy"], figsize=(6, 4), fontsize=8, cmap="jet"
)

png

5. Result comparison

point_a = (6.5, -857.0, 0)(click to toggle)
point_a = (6.5, -857.0, 0)
point_b = (70.0, -857.0, 0)
profile = ms[-1].sample_over_line(point_a, point_b, resolution=30)
xs = profile["Distance"] + 6.5
plt.plot(
    xs, profile["sigma"][:, 0] * 1e-6, color="C2", label="Release nodal force (MPI)"
)

a = 6.5
sigma_t = -20  # MPa
sigma_x_a = np.asarray(
    [0.5 * (3.0 * a * a / (r * r) - 3 * a**4 / (r**4)) * sigma_t for r in xs],
)
plt.plot(xs, sigma_x_a, linestyle="dotted", color="C0", label="Analytical solution")
plt.xlabel("x / m")
plt.ylabel(r"stress $\sigma_{xx}$ / MPa")
plt.legend()
plt.grid()
plt.show()

png

In the above figure, the radial stress $\sigma_r$ profiles along the $\theta = 0^\circ$ axis, obtained using the release nodal force approach, and the analytical solution, are compared.

plt.plot((click to toggle)
plt.plot(
    xs, profile["sigma"][:, 1] * 1e-6, color="C2", label="Release nodal force (MPI)"
)

a = 6.5
sigma_t = -20  # MPa
sigma_y_a = np.asarray(
    [0.5 * (2 + a * a / (r * r) + 3 * a**4 / (r**4)) * sigma_t for r in xs],
)
plt.plot(xs, sigma_y_a, linestyle="dotted", color="C0", label="Analytical solution")
plt.xlabel("x / m")
plt.ylabel(r"stress $\sigma_{yy}$ / MPa")
plt.legend()
plt.grid()
plt.show()

png

In the above two figures, the tangential stress $\sigma_{\theta}$ profiles along the $\theta = 0^\circ$ axis, obtained using the release nodal force approach, and the analytical solution, are compared.

expected_sigma = np.asarray((click to toggle)
expected_sigma = np.asarray(
    [
        [-5.94322287e05, -6.19135039e07, -1.27523478e07, 2.88857972e04],
        [-7.47350139e06, -3.61722449e07, -7.09372389e06, -4.31847097e03],
        [-7.02632921e06, -2.82291119e07, -4.57663234e06, -3.04634647e03],
        [-5.69811254e06, -2.49548130e07, -3.19587766e06, -2.33539317e03],
        [-4.52129471e06, -2.33397674e07, -2.35831864e06, -1.87907695e03],
        [-3.60618350e06, -2.24352157e07, -1.81241976e06, -1.49642711e03],
        [-2.90810489e06, -2.18773279e07, -1.43562983e06, -1.21999451e03],
        [-2.37358359e06, -2.15068967e07, -1.16414410e06, -1.00559463e03],
        [-1.95790335e06, -2.12450510e07, -9.60886316e05, -8.50316451e02],
        [-1.63102314e06, -2.10507797e07, -8.04540863e05, -7.21601922e02],
        [-1.36956366e06, -2.08999790e07, -6.80862806e05, -6.21075254e02],
        [-1.15718662e06, -2.07782330e07, -5.80625884e05, -5.47100152e02],
        [-9.83183398e05, -2.06769008e07, -4.98025268e05, -4.73813630e02],
        [-8.38590438e05, -2.05896257e07, -4.28464851e05, -2.91454098e02],
        [-7.18847960e05, -2.05193954e07, -3.71473022e05, -5.83689809e02],
        [-6.15597155e05, -2.04493120e07, -3.19472761e05, -2.60734404e02],
        [-5.26222722e05, -2.03832868e07, -2.72852858e05, -1.22193725e02],
        [-4.48460991e05, -2.03225868e07, -2.31314329e05, -1.40384160e02],
        [-3.81052951e05, -2.02633176e07, -1.93311164e05, 8.27105976e00],
        [-3.21267935e05, -2.02058999e07, -1.58150365e05, 1.25229397e02],
        [-2.68380912e05, -2.01489856e07, -1.25209966e05, -2.03819778e02],
        [-2.21121750e05, -2.00919675e07, -9.39267720e04, -5.98779759e02],
        [-1.79147229e05, -2.00335377e07, -6.38054888e04, 6.67763887e02],
        [-1.41291420e05, -1.99727511e07, -3.42127668e04, -2.09343375e02],
        [-1.07444543e05, -1.99093000e07, -5.02336097e03, -6.12146069e02],
        [-7.76109665e04, -1.98407209e07, 2.45004314e04, -3.90010177e02],
        [-5.18790616e04, -1.97699451e07, 5.34527661e04, -3.13328250e02],
        [-3.10211876e04, -1.96869485e07, 8.46090962e04, -3.15443054e01],
        [-1.35909887e04, -1.96029252e07, 1.15045144e05, 3.61051256e02],
        [-4.03024845e03, -1.94999513e07, 1.48805539e05, 7.61397500e02],
        [2.04509604e03, -1.93933612e07, 1.82605155e05, 2.68937637e03],
    ]
)

computed_sigma = np.asarray(profile["sigma"])

np.testing.assert_allclose(actual=computed_sigma, desired=expected_sigma, atol=1e-10)
profile_1 = ms[1].sample_over_line(point_a, point_b, resolution=30)
[0] info: Reading meshes took 0.016065114000000102 s
[0] info: Collection of 1674 regular elements and computing element map took 1.3621000000130223e-05 s
[0] info: Collection of 4720 nodes and computing offsets took 5.477999999836669e-06 s
[0] info: Make nodes unique (4455 unique nodes) / computing map took 0.0014379689999999279 s
[0] info: Reset nodes in regular elements took 0.0031495599999999957 s
[0] info: creation of merged mesh took 0.00021845799999997695 s
[0] info: merge properties into merged mesh took 0.00011523300000026993 s
[0] info: writing mesh took 0.0048391669999998665 s
expected_sigma_at_time_step1 = np.array((click to toggle)
expected_sigma_at_time_step1 = np.array(
    [
        [-3.43936509e04, -2.24255500e07, -7.37983093e05, 1.67163179e03],
        [-4.32494293e05, -2.09358938e07, -4.10516429e05, -2.49911515e02],
        [-4.06616274e05, -2.04762218e07, -2.64851408e05, -1.76293199e02],
        [-3.29751883e05, -2.02867369e07, -1.84946624e05, -1.35150068e02],
        [-2.61649000e05, -2.01932736e07, -1.36476773e05, -1.08742879e02],
        [-2.08691175e05, -2.01409268e07, -1.04885403e05, -8.65987912e01],
        [-1.68293107e05, -2.01086417e07, -8.30804300e04, -7.06015339e01],
        [-1.37360161e05, -2.00872047e07, -6.73694502e04, -5.81941335e01],
        [-1.13304592e05, -2.00720516e07, -5.56068470e04, -4.92081280e01],
        [-9.43879134e04, -2.00608090e07, -4.65590777e04, -4.17593705e01],
        [-7.92571563e04, -2.00520821e07, -3.94017827e04, -3.59418550e01],
        [-6.69668185e04, -2.00450366e07, -3.36010349e04, -3.16608884e01],
        [-5.68971874e04, -2.00391725e07, -2.88209067e04, -2.74197703e01],
        [-4.85295392e04, -2.00341219e07, -2.47954196e04, -1.68665566e01],
        [-4.15999977e04, -2.00300576e07, -2.14972814e04, -3.37783455e01],
        [-3.56248353e04, -2.00260019e07, -1.84880070e04, -1.50887965e01],
        [-3.04527038e04, -2.00221809e07, -1.57900959e04, -7.07139610e00],
        [-2.59526036e04, -2.00186682e07, -1.33862459e04, -8.12408336e00],
        [-2.20516754e04, -2.00152383e07, -1.11869887e04, 4.78649290e-01],
        [-1.85918944e04, -2.00119155e07, -9.15222018e03, 7.24707160e00],
        [-1.55313028e04, -2.00086219e07, -7.24594709e03, -1.17951260e01],
        [-1.27963975e04, -2.00053222e07, -5.43557708e03, -3.46516064e01],
        [-1.03673165e04, -2.00019408e07, -3.69244727e03, 3.86437434e01],
        [-8.17658683e03, -1.99984231e07, -1.97990549e03, -1.21147786e01],
        [-6.21785551e03, -1.99947512e07, -2.90703760e02, -3.54251197e01],
        [-4.49137538e03, -1.99907825e07, 1.41784904e03, -2.25700334e01],
        [-3.00226051e03, -1.99866866e07, 3.09333137e03, -1.81324219e01],
        [-1.79520762e03, -1.99818836e07, 4.89635973e03, -1.82548063e00],
        [-7.86515552e02, -1.99770211e07, 6.65770509e03, 2.08941699e01],
        [-2.33231970e02, -1.99710620e07, 8.61143168e03, 4.40623553e01],
        [1.18350465e02, -1.99648936e07, 1.05674280e04, 1.55635206e02],
    ]
)


computed_sigma_t1 = np.asarray(profile_1["sigma"])

np.testing.assert_allclose(
    actual=computed_sigma_t1, desired=expected_sigma_at_time_step1, atol=1e-10
)

This article was written by Wenqing Wang. If you are missing something or you find an error please let us know.
Generated with Hugo 0.154.5 in CI job 743084 | Last revision: August 27, 2025