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.00289255s, CPU 0.003301s)
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.00575687s, CPU 0.005817s)
Info    : 1469 nodes 2051 elements
Info    : Writing '/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/domain.msh'...
Info    : Done writing '/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/domain.msh'

domain: 1674 cells
physical_group_arc: 19 cells
physical_group_left: 64 cells
physical_group_bottom: 64 cells
physical_group_top: 14 cells
physical_group_right: 14 cells
OGS_BIN_PATH:  None .

OGS wheel:  ModuleSpec(name='ogs', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7feb42d65fd0>, origin='/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/site-packages/ogs/__init__.py', submodule_search_locations=['/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/site-packages/ogs']) .

OGS in PATH:  ['/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/bin/ogs', '/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/bin/ogs'] .

Warning: Too many occurrences of 'ogs' found in PATH.
Please remove OGS from PATH.
[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.
Create quadratic mesh for /var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/domain.vtu
OGS_BIN_PATH:  None .

OGS wheel:  ModuleSpec(name='ogs', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7feb42d65430>, origin='/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/site-packages/ogs/__init__.py', submodule_search_locations=['/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/site-packages/ogs']) .

OGS in PATH:  ['/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/bin/ogs', '/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/bin/ogs'] .

Warning: Too many occurrences of 'ogs' found in PATH.
Please remove OGS from PATH.
[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/F1XUyv4cx/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/right.vtu
OGS_BIN_PATH:  None .

OGS wheel:  ModuleSpec(name='ogs', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7feb42d65430>, origin='/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/site-packages/ogs/__init__.py', submodule_search_locations=['/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/site-packages/ogs']) .

OGS in PATH:  ['/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/bin/ogs', '/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/bin/ogs'] .

Warning: Too many occurrences of 'ogs' found in PATH.
Please remove OGS from PATH.
[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/F1XUyv4cx/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/top.vtu
OGS_BIN_PATH:  None .

OGS wheel:  ModuleSpec(name='ogs', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7feb42d65430>, origin='/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/site-packages/ogs/__init__.py', submodule_search_locations=['/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/site-packages/ogs']) .

OGS in PATH:  ['/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/bin/ogs', '/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/bin/ogs'] .

Warning: Too many occurrences of 'ogs' found in PATH.
Please remove OGS from PATH.
[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/F1XUyv4cx/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/bottom.vtu
OGS_BIN_PATH:  None .

OGS wheel:  ModuleSpec(name='ogs', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7feb42d65430>, origin='/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/site-packages/ogs/__init__.py', submodule_search_locations=['/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/site-packages/ogs']) .

OGS in PATH:  ['/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/bin/ogs', '/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/bin/ogs'] .

Warning: Too many occurrences of 'ogs' found in PATH.
Please remove OGS from PATH.
[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/F1XUyv4cx/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/left.vtu
OGS_BIN_PATH:  None .

OGS wheel:  ModuleSpec(name='ogs', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7feb42d65430>, origin='/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/site-packages/ogs/__init__.py', submodule_search_locations=['/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/site-packages/ogs']) .

OGS in PATH:  ['/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/bin/ogs', '/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/bin/ogs'] .

Warning: Too many occurrences of 'ogs' found in PATH.
Please remove OGS from PATH.
[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/F1XUyv4cx/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh/arc.vtu
OGS_BIN_PATH:  None .

OGS wheel:  ModuleSpec(name='ogs', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7feb42d65430>, origin='/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/site-packages/ogs/__init__.py', submodule_search_locations=['/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/site-packages/ogs']) .

OGS in PATH:  ['/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/bin/ogs', '/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/bin/ogs'] .

Warning: Too many occurrences of 'ogs' found in PATH.
Please remove OGS from PATH.
[0] info: Create a quadratic order mesh
[0] info: Save the new mesh into a file
OGS_BIN_PATH:  None .

OGS wheel:  ModuleSpec(name='ogs', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7feb42d65430>, origin='/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/site-packages/ogs/__init__.py', submodule_search_locations=['/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/site-packages/ogs']) .

OGS in PATH:  ['/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/bin/ogs', '/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/bin/ogs'] .

Warning: Too many occurrences of 'ogs' found in PATH.
Please remove OGS from PATH.
[0] info: Mesh reading time: 0.0114026 s
[0] info: MeshNodeSearcher construction time: 0.000269928 s
[0] info: identifySubdomainMesh(): identifySubdomainMeshNodes took 0.000511904 s
[0] info: identifySubdomainMesh(): identifySubdomainMeshElements took 0.00121442 s
[0] info: identifySubdomainMesh(): identifySubdomainMeshNodes took 6.489e-06 s
[0] info: identifySubdomainMesh(): identifySubdomainMeshElements took 0.000239051 s
[0] info: identifySubdomainMesh(): identifySubdomainMeshNodes took 1.5733e-05 s
[0] info: identifySubdomainMesh(): identifySubdomainMeshElements took 0.000228745 s
[0] info: identifySubdomainMesh(): identifySubdomainMeshNodes took 1.6354e-05 s
[0] info: identifySubdomainMesh(): identifySubdomainMeshElements took 0.000235485 s
[0] info: identifySubdomainMesh(): identifySubdomainMeshNodes took 4.177e-06 s
[0] info: identifySubdomainMesh(): identifySubdomainMeshElements took 0.000221345 s
[0] info: identifySubdomainMesh(): identifySubdomainMeshNodes took 4.087e-06 s
[0] info: identifySubdomainMesh(): identifySubdomainMeshElements took 0.000220193 s
[0] info: identifySubdomains time: 0.00300032 s
[0] info: writing time: 0.0137465 s
[0] info: Entire run time: -2.87661e+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"),
)
OGS_BIN_PATH:  None .

OGS wheel:  ModuleSpec(name='ogs', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7feb42d65430>, origin='/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/site-packages/ogs/__init__.py', submodule_search_locations=['/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/site-packages/ogs']) .

OGS in PATH:  ['/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/bin/ogs', '/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/bin/ogs'] .

Warning: Too many occurrences of 'ogs' found in PATH.
Please remove OGS from PATH.
[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.00905011 s.
[0] info: Total CPU time: 0.008971 s.
OGS_BIN_PATH:  None .

OGS wheel:  ModuleSpec(name='ogs', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7feb42d65430>, origin='/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/site-packages/ogs/__init__.py', submodule_search_locations=['/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/site-packages/ogs']) .

OGS in PATH:  ['/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/bin/ogs', '/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/bin/ogs'] .

Warning: Too many occurrences of 'ogs' found in PATH.
Please remove OGS from PATH.
[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/F1XUyv4cx/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: Sep 26 2025, 11:30:11)
 size of idx_t: 64bits, real_t: 32bits, idx_t *: 64bits

Mesh Information ------------------------------------------------------------
 Name: /var/lib/gitlab-runner/builds/F1XUyv4cx/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:		 111.047 MB
  proc/self/stat/VmPeak:	  26.582 MB
******************************************************************************
[0] info: Partitioning the mesh in the node wise way ...
[0] info: partitionMesh(): Partition IDs per element computed in 0.000130227 s
[0] info: partitionMesh(): distribute nodes to partitions took 3.0266e-05 s
[0] info: partitionMesh(): sorting [base nodes | higher order nodes] took 0.00028424 s
[0] info: partitionMesh(): setting number of nodes and of all mesh base nodes took 0.000266773 s
[0] info: partitionMesh(): distribute elements into partitions took 8.9505e-05 s
[0] info: partitionMesh(): determine / append ghost nodes took 4.7773e-05 s
[0] info: partitionMesh(): markDuplicateGhostCells took 1.602e-06 s
[0] info: Partitioning other meshes according to the main mesh partitions.
[0] info: Mesh 'left' from file '/var/lib/gitlab-runner/builds/F1XUyv4cx/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.555e-06 s
[0] info: partitionMesh(): distribute nodes to partitions took 2.724e-06 s
[0] info: partitionMesh(): sorting [base nodes | higher order nodes] took 5.228e-06 s
[0] info: partitionMesh(): setting number of nodes and of all mesh base nodes took 2.904e-06 s
[0] info: partitionMesh(): distribute elements into partitions took 4.868e-06 s
[0] info: partitionMesh(): determine / append ghost nodes took 2.975e-06 s
[0] info: partitionMesh(): markDuplicateGhostCells took 5.71e-07 s
[0] info: Mesh 'right' from file '/var/lib/gitlab-runner/builds/F1XUyv4cx/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 9.01e-07 s
[0] info: partitionMesh(): distribute nodes to partitions took 7.91e-07 s
[0] info: partitionMesh(): sorting [base nodes | higher order nodes] took 1.783e-06 s
[0] info: partitionMesh(): setting number of nodes and of all mesh base nodes took 8.01e-07 s
[0] info: partitionMesh(): distribute elements into partitions took 1.382e-06 s
[0] info: partitionMesh(): determine / append ghost nodes took 5.5e-07 s
[0] info: partitionMesh(): markDuplicateGhostCells took 2.8e-07 s
[0] info: Mesh 'top' from file '/var/lib/gitlab-runner/builds/F1XUyv4cx/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 9.92e-07 s
[0] info: partitionMesh(): distribute nodes to partitions took 1.102e-06 s
[0] info: partitionMesh(): sorting [base nodes | higher order nodes] took 1.763e-06 s
[0] info: partitionMesh(): setting number of nodes and of all mesh base nodes took 8.81e-07 s
[0] info: partitionMesh(): distribute elements into partitions took 2.113e-06 s
[0] info: partitionMesh(): determine / append ghost nodes took 5.21e-07 s
[0] info: partitionMesh(): markDuplicateGhostCells took 3e-07 s
[0] info: Mesh 'bottom' from file '/var/lib/gitlab-runner/builds/F1XUyv4cx/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 3.436e-06 s
[0] info: partitionMesh(): distribute nodes to partitions took 2.624e-06 s
[0] info: partitionMesh(): sorting [base nodes | higher order nodes] took 5.658e-06 s
[0] info: partitionMesh(): setting number of nodes and of all mesh base nodes took 2.804e-06 s
[0] info: partitionMesh(): distribute elements into partitions took 4.607e-06 s
[0] info: partitionMesh(): determine / append ghost nodes took 3.005e-06 s
[0] info: partitionMesh(): markDuplicateGhostCells took 4.91e-07 s
[0] info: Mesh 'arc' from file '/var/lib/gitlab-runner/builds/F1XUyv4cx/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 9.21e-07 s
[0] info: partitionMesh(): distribute nodes to partitions took 8.22e-07 s
[0] info: partitionMesh(): sorting [base nodes | higher order nodes] took 2.113e-06 s
[0] info: partitionMesh(): setting number of nodes and of all mesh base nodes took 1.042e-06 s
[0] info: partitionMesh(): distribute elements into partitions took 1.772e-06 s
[0] info: partitionMesh(): determine / append ghost nodes took 5.41e-07 s
[0] info: partitionMesh(): markDuplicateGhostCells took 2.81e-07 s
[0] info: Writing the partitions data into binary files took 0.00160314 s
[0] info: Total runtime: 0.0704316 s.
[0] info: Total CPU time: 0.020173 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 2025-10-30 14:41:04+0100 with MPI. MPI processes: 3.
[0] info: This is OpenGeoSys-6 version 6.5.6-178-g32dbb580952. Log version: 2, Log level: info.
[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/F1XUyv4cx/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/F1XUyv4cx/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.003259 s.
[0] info: Reading corresponding part of mesh data from binary file /var/lib/gitlab-runner/builds/F1XUyv4cx/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/F1XUyv4cx/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.001755 s.
[0] info: Reading corresponding part of mesh data from binary file /var/lib/gitlab-runner/builds/F1XUyv4cx/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/F1XUyv4cx/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.001709 s.
[0] info: Reading corresponding part of mesh data from binary file /var/lib/gitlab-runner/builds/F1XUyv4cx/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/F1XUyv4cx/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.001749 s.
[0] info: Reading corresponding part of mesh data from binary file /var/lib/gitlab-runner/builds/F1XUyv4cx/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/F1XUyv4cx/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.001792 s.
[0] info: Reading corresponding part of mesh data from binary file /var/lib/gitlab-runner/builds/F1XUyv4cx/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/F1XUyv4cx/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.001686 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: No source terms for process variable 'displacement' found.
[0] info: Threads used for ParallelVectorMatrixAssembler: 1. This is the default when OGS_ASM_THREADS environment variable is not set.
[0] info: SmallDeformation process initializeSubmeshOutput().
[0] info: Initialize processes.
[0] info: Time step #0 started. Time: 0. Step size: 0.
[0] info: [time] Output of timestep 0 took 0.0098693 s.
[0] info: Calculate non-equilibrium initial residuum.
[0] info: Number of threads: 1
[0] info: Time step #0 took 0.0367361 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.0102982 s.
[0] info: [time] Applying Dirichlet BCs took 0.000273984 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 425 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0868428 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.0979498 s.
[0] info: Iteration #2 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0142147 s.
[0] info: [time] Applying Dirichlet BCs took 0.00011302 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 33 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.00763862 s.
[0] info: Convergence criterion, component 0: |dx|=4.0958e-16, |x|=2.1980e-02, |dx|/|x|=1.8634e-14
[0] info: Convergence criterion, component 1: |dx|=5.5947e-16, |x|=5.3739e-02, |dx|/|x|=1.0411e-14
[0] info: [time] Iteration #2 took 0.0223985 s.
[0] info: [time] Solving process #0 took 0.120431 s in time step #1
[0] info: [time] Time step #1 took 0.123253 s.
[0] info: [time] Output of timestep 1 took 0.00557505 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.0104453 s.
[0] info: [time] Applying Dirichlet BCs took 0.000162436 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 423 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0862226 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.0972908 s.
[0] info: Iteration #2 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0123965 s.
[0] info: [time] Applying Dirichlet BCs took 0.000105129 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 112 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0234279 s.
[0] info: Convergence criterion, component 0: |dx|=7.4702e-15, |x|=5.4951e-02, |dx|/|x|=1.3594e-13
[0] info: Convergence criterion, component 1: |dx|=1.5314e-14, |x|=1.3435e-01, |dx|/|x|=1.1399e-13
[0] info: [time] Iteration #2 took 0.0363721 s.
[0] info: [time] Solving process #0 took 0.13374 s in time step #2
[0] info: [time] Time step #2 took 0.136607 s.
[0] info: [time] Output of timestep 2 took 0.00567788 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.0104748 s.
[0] info: [time] Applying Dirichlet BCs took 0.000166972 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 423 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0854803 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.0965829 s.
[0] info: Iteration #2 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0124612 s.
[0] info: [time] Applying Dirichlet BCs took 0.000105579 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 130 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0270126 s.
[0] info: Convergence criterion, component 0: |dx|=8.6399e-15, |x|=9.2933e-02, |dx|/|x|=9.2969e-14
[0] info: Convergence criterion, component 1: |dx|=2.0340e-14, |x|=2.2721e-01, |dx|/|x|=8.9523e-14
[0] info: [time] Iteration #2 took 0.0400234 s.
[0] info: [time] Solving process #0 took 0.136683 s in time step #3
[0] info: [time] Time step #3 took 0.139541 s.
[0] info: [time] Output of timestep 3 took 0.00558106 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.0104358 s.
[0] info: [time] Applying Dirichlet BCs took 0.000161394 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 451 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0912992 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.102366 s.
[0] info: Iteration #2 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0124789 s.
[0] info: [time] Applying Dirichlet BCs took 0.000106381 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 46 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0102233 s.
[0] info: Convergence criterion, component 0: |dx|=8.3890e-16, |x|=1.3091e-01, |dx|/|x|=6.4080e-15
[0] info: Convergence criterion, component 1: |dx|=1.0043e-15, |x|=3.2007e-01, |dx|/|x|=3.1377e-15
[0] info: [time] Iteration #2 took 0.0232412 s.
[0] info: [time] Solving process #0 took 0.125681 s in time step #4
[0] info: [time] Time step #4 took 0.128507 s.
[0] info: [time] Output of timestep 4 took 0.00561139 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.0103835 s.
[0] info: [time] Applying Dirichlet BCs took 0.000154624 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 424 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0858612 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.0968671 s.
[0] info: Iteration #2 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0123972 s.
[0] info: [time] Applying Dirichlet BCs took 0.000104599 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 43 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.00969629 s.
[0] info: Convergence criterion, component 0: |dx|=6.1291e-16, |x|=1.6890e-01, |dx|/|x|=3.6289e-15
[0] info: Convergence criterion, component 1: |dx|=1.5721e-15, |x|=4.1293e-01, |dx|/|x|=3.8071e-15
[0] info: [time] Iteration #2 took 0.022633 s.
[0] info: [time] Solving process #0 took 0.119576 s in time step #5
[0] info: [time] Time step #5 took 0.122518 s.
[0] info: [time] Output of timestep 5 took 0.00566727 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.0104229 s.
[0] info: [time] Applying Dirichlet BCs took 0.000166572 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 433 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0876364 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.0986987 s.
[0] info: Iteration #2 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0124333 s.
[0] info: [time] Applying Dirichlet BCs took 0.000113623 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 75 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0159747 s.
[0] info: Convergence criterion, component 0: |dx|=1.8816e-15, |x|=2.0688e-01, |dx|/|x|=9.0952e-15
[0] info: Convergence criterion, component 1: |dx|=3.3826e-15, |x|=5.0579e-01, |dx|/|x|=6.6877e-15
[0] info: [time] Iteration #2 took 0.0289934 s.
[0] info: [time] Solving process #0 took 0.127769 s in time step #6
[0] info: [time] Time step #6 took 0.130603 s.
[0] info: [time] Output of timestep 6 took 0.00567483 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.0105017 s.
[0] info: [time] Applying Dirichlet BCs took 0.000163368 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 474 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0957143 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.106841 s.
[0] info: Iteration #2 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0124202 s.
[0] info: [time] Applying Dirichlet BCs took 0.000104899 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 96 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0202293 s.
[0] info: Convergence criterion, component 0: |dx|=5.8706e-15, |x|=2.4486e-01, |dx|/|x|=2.3975e-14
[0] info: Convergence criterion, component 1: |dx|=5.2918e-15, |x|=5.9865e-01, |dx|/|x|=8.8396e-15
[0] info: [time] Iteration #2 took 0.0331982 s.
[0] info: [time] Solving process #0 took 0.140115 s in time step #7
[0] info: [time] Time step #7 took 0.142946 s.
[0] info: [time] Output of timestep 7 took 0.00566849 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.0104363 s.
[0] info: [time] Applying Dirichlet BCs took 0.0001649 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 428 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.086671 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.0977285 s.
[0] info: Iteration #2 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.012495 s.
[0] info: [time] Applying Dirichlet BCs took 0.000110668 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 37 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.00845131 s.
[0] info: Convergence criterion, component 0: |dx|=4.2402e-16, |x|=2.8284e-01, |dx|/|x|=1.4991e-15
[0] info: Convergence criterion, component 1: |dx|=9.1309e-16, |x|=6.9151e-01, |dx|/|x|=1.3204e-15
[0] info: [time] Iteration #2 took 0.0214974 s.
[0] info: [time] Solving process #0 took 0.119306 s in time step #8
[0] info: [time] Time step #8 took 0.122182 s.
[0] info: [time] Output of timestep 8 took 0.00565224 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.0105122 s.
[0] info: [time] Applying Dirichlet BCs took 0.000155094 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 420 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0848747 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.0960333 s.
[0] info: Iteration #2 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0124427 s.
[0] info: [time] Applying Dirichlet BCs took 0.000112711 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 82 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.017457 s.
[0] info: Convergence criterion, component 0: |dx|=1.3166e-15, |x|=3.2083e-01, |dx|/|x|=4.1037e-15
[0] info: Convergence criterion, component 1: |dx|=5.4861e-15, |x|=7.8437e-01, |dx|/|x|=6.9943e-15
[0] info: [time] Iteration #2 took 0.0304589 s.
[0] info: [time] Solving process #0 took 0.126573 s in time step #9
[0] info: [time] Time step #9 took 0.129357 s.
[0] info: [time] Output of timestep 9 took 0.00554812 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.0104346 s.
[0] info: [time] Applying Dirichlet BCs took 0.000163287 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 438 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0886943 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.0997528 s.
[0] info: Iteration #2 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0124262 s.
[0] info: [time] Applying Dirichlet BCs took 0.000105019 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 49 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.010875 s.
[0] info: Convergence criterion, component 0: |dx|=8.8350e-16, |x|=3.5881e-01, |dx|/|x|=2.4623e-15
[0] info: Convergence criterion, component 1: |dx|=1.0793e-15, |x|=8.7723e-01, |dx|/|x|=1.2304e-15
[0] info: [time] Iteration #2 took 0.0238479 s.
[0] info: [time] Solving process #0 took 0.123675 s in time step #10
[0] info: [time] Time step #10 took 0.126597 s.
[0] info: [time] Output of timestep 10 took 0.00570595 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.0104307 s.
[0] info: [time] Applying Dirichlet BCs took 0.000169126 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 432 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0872048 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.0982922 s.
[0] info: Iteration #2 started.
[0] info: Number of threads: 1
[0] info: [time] Assembly took 0.0123927 s.
[0] info: [time] Applying Dirichlet BCs took 0.000104257 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 59 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0128446 s.
[0] info: Convergence criterion, component 0: |dx|=8.6917e-16, |x|=3.7982e-01, |dx|/|x|=2.2884e-15
[0] info: Convergence criterion, component 1: |dx|=9.9211e-16, |x|=9.2860e-01, |dx|/|x|=1.0684e-15
[0] info: [time] Iteration #2 took 0.0257785 s.
[0] info: [time] Solving process #0 took 0.124148 s in time step #11
[0] info: [time] Time step #11 took 0.126933 s.
[0] info: [time] Output of timestep 11 took 0.00566111 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.010458 s.
[0] info: [time] Applying Dirichlet BCs took 0.000164619 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 24 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.00589115 s.
[0] info: Convergence criterion, component 0: |dx|=1.3619e-16, |x|=3.7982e-01, |dx|/|x|=3.5857e-16
[0] info: Convergence criterion, component 1: |dx|=3.5633e-16, |x|=9.2860e-01, |dx|/|x|=3.8372e-16
[0] info: [time] Iteration #1 took 0.0169346 s.
[0] info: [time] Solving process #0 took 0.016994 s in time step #12
[0] info: [time] Time step #12 took 0.0197193 s.
[0] info: [time] Output of timestep 12 took 0.00551334 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.0102877 s.
[0] info: [time] Applying Dirichlet BCs took 0.000154403 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 21 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.00533104 s.
[0] info: Convergence criterion, component 0: |dx|=1.4906e-16, |x|=3.7982e-01, |dx|/|x|=3.9244e-16
[0] info: Convergence criterion, component 1: |dx|=3.1492e-16, |x|=9.2860e-01, |dx|/|x|=3.3913e-16
[0] info: [time] Iteration #1 took 0.0162038 s.
[0] info: [time] Solving process #0 took 0.0162691 s in time step #13
[0] info: [time] Time step #13 took 0.0189508 s.
[0] info: [time] Output of timestep 13 took 0.00554701 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.0103997 s.
[0] info: [time] Applying Dirichlet BCs took 0.00016533 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 20 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.00498676 s.
[0] info: Convergence criterion, component 0: |dx|=9.5511e-17, |x|=3.7982e-01, |dx|/|x|=2.5146e-16
[0] info: Convergence criterion, component 1: |dx|=2.1871e-16, |x|=9.2860e-01, |dx|/|x|=2.3553e-16
[0] info: [time] Iteration #1 took 0.0159778 s.
[0] info: [time] Solving process #0 took 0.0160425 s in time step #14
[0] info: [time] Time step #14 took 0.0187913 s.
[0] info: [time] Output of timestep 14 took 0.00545553 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.0101972 s.
[0] info: [time] Applying Dirichlet BCs took 0.000137337 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 21 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.00520735 s.
[0] info: Convergence criterion, component 0: |dx|=1.6249e-16, |x|=3.7982e-01, |dx|/|x|=4.2780e-16
[0] info: Convergence criterion, component 1: |dx|=2.6792e-16, |x|=9.2860e-01, |dx|/|x|=2.8852e-16
[0] info: [time] Iteration #1 took 0.015953 s.
[0] info: [time] Solving process #0 took 0.0160084 s in time step #15
[0] info: [time] Time step #15 took 0.0187029 s.
[0] info: [time] Output of timestep 15 took 0.00550062 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.0104546 s.
[0] info: [time] Applying Dirichlet BCs took 0.000136215 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 26 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.00622505 s.
[0] info: Convergence criterion, component 0: |dx|=2.3219e-16, |x|=3.7982e-01, |dx|/|x|=6.1133e-16
[0] info: Convergence criterion, component 1: |dx|=5.9461e-16, |x|=9.2860e-01, |dx|/|x|=6.4032e-16
[0] info: [time] Iteration #1 took 0.0172469 s.
[0] info: [time] Solving process #0 took 0.0173071 s in time step #16
[0] info: [time] Time step #16 took 0.020028 s.
[0] info: [time] Output of timestep 16 took 0.00548049 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.0101347 s.
[0] info: [time] Applying Dirichlet BCs took 0.000144538 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 23 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.00559177 s.
[0] info: Convergence criterion, component 0: |dx|=2.0277e-16, |x|=3.7982e-01, |dx|/|x|=5.3386e-16
[0] info: Convergence criterion, component 1: |dx|=4.8746e-16, |x|=9.2860e-01, |dx|/|x|=5.2494e-16
[0] info: [time] Iteration #1 took 0.0163058 s.
[0] info: [time] Solving process #0 took 0.0163687 s in time step #17
[0] info: [time] Time step #17 took 0.0189648 s.
[0] info: [time] Output of timestep 17 took 0.0055372 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.0104271 s.
[0] info: [time] Applying Dirichlet BCs took 0.00014486 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 19 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.00481665 s.
[0] info: Convergence criterion, component 0: |dx|=1.2076e-16, |x|=3.7982e-01, |dx|/|x|=3.1795e-16
[0] info: Convergence criterion, component 1: |dx|=2.6784e-16, |x|=9.2860e-01, |dx|/|x|=2.8843e-16
[0] info: [time] Iteration #1 took 0.0158119 s.
[0] info: [time] Solving process #0 took 0.0158766 s in time step #18
[0] info: [time] Time step #18 took 0.0185235 s.
[0] info: [time] Output of timestep 18 took 0.00547773 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.0101518 s.
[0] info: [time] Applying Dirichlet BCs took 0.000137067 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 20 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.00501521 s.
[0] info: Convergence criterion, component 0: |dx|=1.0903e-16, |x|=3.7982e-01, |dx|/|x|=2.8706e-16
[0] info: Convergence criterion, component 1: |dx|=2.7761e-16, |x|=9.2860e-01, |dx|/|x|=2.9895e-16
[0] info: [time] Iteration #1 took 0.0157352 s.
[0] info: [time] Solving process #0 took 0.0157986 s in time step #19
[0] info: [time] Time step #19 took 0.0185212 s.
[0] info: [time] Output of timestep 19 took 0.00673126 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.0104425 s.
[0] info: [time] Applying Dirichlet BCs took 0.00013923 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 19 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.00484409 s.
[0] info: Convergence criterion, component 0: |dx|=1.0976e-16, |x|=3.7982e-01, |dx|/|x|=2.8897e-16
[0] info: Convergence criterion, component 1: |dx|=2.4919e-16, |x|=9.2860e-01, |dx|/|x|=2.6835e-16
[0] info: [time] Iteration #1 took 0.0158501 s.
[0] info: [time] Solving process #0 took 0.0159134 s in time step #20
[0] info: [time] Time step #20 took 0.0185821 s.
[0] info: [time] Output of timestep 20 took 0.00552767 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.0114396 s.
[0] info: [time] Applying Dirichlet BCs took 0.00013864 s.

================================================
Linear solver bcgs with bjacobi preconditioner using PRECONDITIONED
converged in 19 iterations (absolute convergence criterion fulfilled).
================================================
[0] info: [time] Linear solver took 0.0048236 s.
[0] info: Convergence criterion, component 0: |dx|=1.2665e-16, |x|=3.7982e-01, |dx|/|x|=3.3345e-16
[0] info: Convergence criterion, component 1: |dx|=2.6848e-16, |x|=9.2860e-01, |dx|/|x|=2.8912e-16
[0] info: [time] Iteration #1 took 0.0168275 s.
[0] info: [time] Solving process #0 took 0.0168914 s in time step #21
[0] info: [time] Time step #21 took 0.0195765 s.
[0] info: [time] Output of timestep 21 took 0.00553931 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 1.7974 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/F1XUyv4cx/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/F1XUyv4cx/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch source: command line
[0] info: OGS completed on 2025-10-30 14:41:06+0100.
CompletedProcess(args='mpirun -np 3 ogs /var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/kirsch_mpi.prj -m /var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/Mesh -o /var/lib/gitlab-runner/builds/F1XUyv4cx/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=("s", "d"))
print(pvd)
mesh_last = ms[-1]
fig = mesh_last.plot_contourf(
    ot.variables.displacement["x"],
    figsize=(6, 4),
    fontsize=8,
    cmap="jet",
)
/var/lib/gitlab-runner/builds/F1XUyv4cx/0/ogs/build/release-petsc/Tests/Data/Mechanics/ReleaseNodalForceKirsch/mpi_parallel_run_kirsch/kirsch_mpi.pvd

png

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

png

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

png

fig = mesh_last.plot_contourf((click to toggle)
fig = mesh_last.plot_contourf(
    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)
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.147.9 in CI job 639840 | Last revision: August 27, 2025