import os
…
(click to toggle)
import os
import sys
from pathlib import Path
from subprocess import run
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
import ogstools as ot
import pyvista as pv
from matplotlib import colormaps
mechanics_path = Path("../../LIE/Mechanics/GreatCelljupyterNotebook").resolve()
sys.path.insert(0, str(mechanics_path))
# Local modules
from mesh_generator import ( # noqa: E402
mesh_GreatCell_intact,
mesh_GreatCell_VPF,
)
from ogs_model_runner import SingleOGSModel # noqa: E402
from Plotter import Plotter # noqa: E402
def truncated_cmap(name, minval=0.3, maxval=0.9, n=6):
…
(click to toggle)
def truncated_cmap(name, minval=0.3, maxval=0.9, n=6):
base = colormaps.get_cmap(name)
return lambda i: base(minval + (maxval - minval) * i / (n - 1))
mpl.rcdefaults()
mpl.rcParams.update(
{
"text.usetex": False,
"font.family": "serif",
"font.serif": ["DejaVu Serif"],
"axes.labelsize": 26,
"axes.titlesize": 24,
"legend.fontsize": 18,
"xtick.labelsize": 18,
"ytick.labelsize": 18,
}
)
ot.plot.setup.show_region_bounds = False
…
(click to toggle)
ot.plot.setup.show_region_bounds = False
out_dir = Path(os.environ.get("OGS_TESTRUNNER_OUT_DIR", "_out"))
if not out_dir.exists():
out_dir.mkdir(parents=True)
The GREAT cell is a poly-axial rock-testing device that reproduces subsurface conditions down to 3.5 km depth on 200 mm-diameter samples. It imposes a rotating stress field, injects fluid through a central borehole, and records both fiber-optic strain and pore-pressure data—providing a rich dataset for validating coupled hydro-mechanical models. For full details, see the GREAT cell benchmark docs: www.opengeosys.org/docs/benchmarks/small-deformations/greatcellm/
We distinguish two main types of benchmarks: intact and fractured rock tests. In the first type, an intact rock sample is subjected to rotating external stress conditions ($\texttt{M}_1$) and fluid is injected from a central borehole ($\texttt{HM}_1$):
For the fractured rock samples, two subtypes are also considered: static and propagating fractures. Static fractures are studied as full ($\texttt{M}_{2a}$, $\texttt{HM}_{2a}$) and half-fractured ($\texttt{M}_{2b}$, $\texttt{HM}_{2b}$) versions to have a symmetric and non-symmetric case. Again, mechanical and hydro-mechanical versions are studied, the latter with fluid injection into the rock fracture:
To run this benchmark, you need to have OGS built with PETSc and PIP support. The following steps outline the process:
Configure & build OGS with PETSc & PIP
cmake -S ogs-source -B build-folder --preset release-petsc \
-DOGS_USE_PIP=ON
Run the benchmark
cd build-folder/release-petsc
ninja # OR make -j
ctest -R nb-HMPhaseField/GreatCell
Verify output files
ls build-folder/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCell
The material properties are provided in the following dictionary. The computational model incorporates two distinct elastic materials within its domain: a central circle ($r=0.097$ m) of rock surrounded by a rubber sheath in a 2D configuration.
materials = {
…
(click to toggle)
materials = {
"Gneiss": {
"young_sample": 83.9e9, # Young's modulus (Pa)
"nu_sample": 0.21, # Poisson's ratio
"biot": 0.6, # Biot coefficient
"porosity": 0.001, # Porosity
"permeability": 1e-19, # Permeability (m²)
"density_solid": 2750, # Solid density (kg/m³)
"k_n": 200e9, # Normal stiffness (Pa/m)
"k_t": 100e9, # Tangential stiffness (Pa/m)
"c_f": 4.4e-10, # Fluid compressibility (Pa⁻¹)
"k_s": 4.82e10, # Solid bulk modulus (Pa)
"S_f": 4.4e-10, # Specific storage (Pa⁻¹)
"t_np": 10e6, # Peak normal traction (Pa)
"Gc": 50, # Fracture toughness (J/m²)
"w_init": 1e-6, # initial fracture width (m)
"fluid": {
"density": 1000.0, # Fluid density (kg/m³)
"viscosity": 1e-3, # Fluid viscosity (Pa·s)
"injectionFlowRate_Inlet": 4.167e-7, # Injection flow rate (m³/s)
"p_outlet": 3.45e6, # Outlet pressure (Pa)
},
"rubber_sheath": {
"young_modulus": 0.1e9, # Young's modulus (Pa)
"poisson_ratio": 0.4, # Poisson's ratio
"porosity": 0.001, # Porosity
"permeability": 1e-17, # Permeability (m²)
"density": 1500, # Density (kg/m³)
"biot": 0.0, # Biot coefficient
},
},
"Greywacke": {
"young_sample": 26.87e9, # Young's modulus (Pa)
"nu_sample": 0.27, # Poisson's ratio
"biot": 0.8, # Biot coefficient
"porosity": 0.005, # Porosity
"permeability": 2.58e-19, # Permeability (m²)
"density_solid": 2650, # Solid density (kg/m³)
"k_n": 100e9, # Normal stiffness (Pa/m)
"k_t": 50e9, # Tangential stiffness (Pa/m)
"c_f": 4.4e-10, # Fluid compressibility (Pa⁻¹)
"k_s": 1.95e10, # Solid bulk modulus (Pa)
"S_f": 4.4e-10, # Specific storage (Pa⁻¹)
"t_np": 10e6, # Peak normal traction (Pa)
"Gc": 30, # Fracture toughness (J/m²)
"w_init": 1e-6, # initial fracture width (m)
"fluid": {
"density": 1000.0, # Fluid density (kg/m³)
"viscosity": 1.0e-3, # Fluid viscosity (Pa·s)
"injectionFlowRate_Inlet": 4.167e-7, # Injection flow rate (m³/s)
"p_outlet": 3.45e6, # Outlet pressure (Pa)
},
"rubber_sheath": {
"young_modulus": 0.1e9, # Young's modulus (Pa)
"poisson_ratio": 0.4, # Poisson's ratio
"porosity": 0.001, # Porosity
"permeability": 1e-17, # Permeability (m²)
"density": 1500, # Density (kg/m³)
"biot": 0.0, # Biot coefficient
},
},
}
material_names = list(materials.keys())
Marker | PEE1 Angle to $\sigma_2$ | PEE1 & 1a | PEE2 & 2a | PEE3 & 3a | PEE4 & 4a | PEE5 & 5a | PEE6 & 6a | PEE7 & 7a | PEE8 & 8a |
---|---|---|---|---|---|---|---|---|---|
A | 0° | 10.0 | 6.64 | 4.46 | 1.17 | 1.0 | 3.82 | 7.80 | 9.95 |
E | 22.5° | 9.95 | 10.0 | 6.64 | 4.46 | 1.17 | 1.0 | 3.82 | 7.80 |
B | 45.0° | 7.80 | 9.95 | 10.0 | 6.64 | 4.46 | 1.17 | 1.0 | 3.82 |
F | 67.5° | 3.82 | 7.80 | 9.95 | 10.0 | 6.64 | 4.46 | 1.17 | 1.0 |
C | 90° | 1.0 | 3.82 | 7.80 | 9.95 | 10.0 | 6.64 | 4.46 | 1.17 |
All loads are in MPa. DSS loads are averages of adjacent PEEs.
loads = {
…
(click to toggle)
loads = {
"A": [
10.0e6,
6.64e6,
4.46e6,
1.17e6,
1.0e6,
3.82e6,
7.80e6,
9.95e6,
10.0e6,
6.64e6,
4.46e6,
1.17e6,
1.0e6,
3.82e6,
7.80e6,
9.95e6,
],
"B": [
7.80e6,
9.95e6,
10.0e6,
6.64e6,
4.46e6,
1.17e6,
1.0e6,
3.82e6,
7.80e6,
9.95e6,
10.0e6,
6.64e6,
4.46e6,
1.17e6,
1.0e6,
3.82e6,
],
"C": [
1.0e6,
3.82e6,
7.80e6,
9.95e6,
10.0e6,
6.64e6,
4.46e6,
1.17e6,
1.0e6,
3.82e6,
7.80e6,
9.95e6,
10.0e6,
6.64e6,
4.46e6,
1.17e6,
],
}
angles_degrees = [
…
(click to toggle)
angles_degrees = [
0,
-22.5,
-45,
-67.5,
-90,
-112.5,
-135,
-157.5,
-180,
-202.5,
-225,
-247.5,
-270,
-292.5,
-315,
-337.5,
]
angles_radians = np.deg2rad(angles_degrees)
circle_radius = 6
circle_x = circle_radius * np.cos(angles_radians)
circle_y = circle_radius * np.sin(angles_radians)
fig, axs = plt.subplots(1, 3, figsize=(21, 7), facecolor="none")
for idx, (label, values) in enumerate(loads.items()):
ax = axs[idx]
ax.set_aspect("equal")
ax.axis("off")
formatted_values = [rf"${v / 1e6:.1f}$" for v in values]
scaled_values = [v / 2 for v in values]
circle = plt.Circle(
(0, 0),
circle_radius,
color="black",
fill=False,
linestyle="--",
linewidth=2,
)
ax.add_artist(circle)
top_points_x, top_points_y = [], []
for i, (x, y, value) in enumerate(
zip(circle_x, circle_y, scaled_values, strict=True)
):
unit_vector = np.array([x, y]) / circle_radius
line_end = np.array([x, y]) + unit_vector * value / 1e6
top_points_x.append(line_end[0])
top_points_y.append(line_end[1])
ax.annotate(
"",
xytext=line_end,
xy=(x, y),
arrowprops={
"arrowstyle": "-|>",
"color": "blue",
"lw": 2,
"mutation_scale": 15,
"fill": True,
},
)
angle_offset = 1.2 * unit_vector
angle_label = f"{-angles_degrees[i]}°"
ax.text(
x - angle_offset[0],
y - angle_offset[1],
angle_label,
fontsize=12,
ha="center",
va="center",
color="m",
)
value_offset = 0.5 * unit_vector
ax.text(
line_end[0] + 3.0 * value_offset[0],
line_end[1] + 1.8 * value_offset[1],
formatted_values[i],
fontsize=18,
ha="center",
weight="bold",
)
top_points_x.append(top_points_x[0])
top_points_y.append(top_points_y[0])
ax.plot(
top_points_x,
top_points_y,
color="green",
linestyle="-.",
lw=2,
marker="o",
markersize=6,
markerfacecolor="lightgreen",
markeredgewidth=1.0,
markeredgecolor="black",
)
ax.set_xlim([-12, 12])
ax.set_ylim([-12, 12])
ax.text(
0,
0,
f"Load {label}",
fontsize=32,
ha="center",
va="center",
family="serif",
)
plt.tight_layout()
output_path = Path(out_dir, "loads_A_B_C_schematic_with_angles.png")
plt.savefig(output_path, dpi=350, bbox_inches="tight", transparent=True)
plt.show()
The boundary conditions applied in the simulation include both Dirichlet and Neumann conditions.
Dirichlet conditions (displacement control): \begin{equation*} \begin{cases} u_x(0, y) = 0, \quad u_y(0, y) = 0 & \quad \text{for } y = -0.09894 \text{ m}, \ u_y(x, 0) = 0, & \quad \text{for } x = -0.09894 \text{ m}. \end{cases} \end{equation*}
Neumann conditions: Normal stress $\sigma_{rr}$ is applied on PEEs and DSSs. The DSS stress is calculated as:
$$\sigma_\text{DSS}^i = \frac{\sigma_\text{PEE}^i + \sigma_\text{PEE}^{i+1}}{2}$$h = 0.005
…
(click to toggle)
h = 0.005
meshname = "GreatCell"
mesh_path = Path(out_dir, "mesh_intact").resolve()
print(mesh_path)
/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact
msh_file = mesh_GreatCell_intact(
…
(click to toggle)
msh_file = mesh_GreatCell_intact(
lc=0.005,
lc2=h,
r0=0.097,
r1=0.094,
r2=0.090,
r3=0.065,
out_dir=mesh_path,
meshname=meshname,
mode="BC",
)
Info : Meshing 1D...
Info : [ 0%] Meshing curve 101 (Line)
Info : [ 10%] Meshing curve 102 (Line)
Info : [ 10%] Meshing curve 103 (Line)
Info : [ 10%] Meshing curve 104 (Line)
Info : [ 10%] Meshing curve 105 (Line)
Info : [ 10%] Meshing curve 106 (Line)
Info : [ 10%] Meshing curve 107 (Line)
Info : [ 10%] Meshing curve 108 (Line)
Info : [ 10%] Meshing curve 109 (Line)
Info : [ 20%] Meshing curve 110 (Line)
Info : [ 20%] Meshing curve 111 (Line)
Info : [ 20%] Meshing curve 112 (Line)
Info : [ 20%] Meshing curve 113 (Line)
Info : [ 20%] Meshing curve 114 (Line)
Info : [ 20%] Meshing curve 115 (Line)
Info : [ 20%] Meshing curve 116 (Line)
Info : [ 20%] Meshing curve 117 (Line)
Info : [ 30%] Meshing curve 118 (Line)
Info : [ 30%] Meshing curve 119 (Line)
Info : [ 30%] Meshing curve 120 (Line)
Info : [ 30%] Meshing curve 121 (Line)
Info : [ 30%] Meshing curve 122 (Line)
Info : [ 30%] Meshing curve 123 (Line)
Info : [ 30%] Meshing curve 124 (Line)
Info : [ 30%] Meshing curve 125 (Line)
Info : [ 40%] Meshing curve 126 (Line)
Info : [ 40%] Meshing curve 127 (Line)
Info : [ 40%] Meshing curve 128 (Line)
Info : [ 40%] Meshing curve 129 (Line)
Info : [ 40%] Meshing curve 130 (Line)
Info : [ 40%] Meshing curve 131 (Line)
Info : [ 40%] Meshing curve 132 (Line)
Info : [ 40%] Meshing curve 133 (Line)
Info : [ 50%] Meshing curve 134 (Line)
Info : [ 50%] Meshing curve 135 (Line)
Info : [ 50%] Meshing curve 136 (Line)
Info : [ 50%] Meshing curve 137 (Line)
Info : [ 50%] Meshing curve 138 (Line)
Info : [ 50%] Meshing curve 139 (Line)
Info : [ 50%] Meshing curve 140 (Line)
Info : [ 50%] Meshing curve 141 (Line)
Info : [ 60%] Meshing curve 142 (Line)
Info : [ 60%] Meshing curve 143 (Line)
Info : [ 60%] Meshing curve 144 (Line)
Info : [ 60%] Meshing curve 145 (Line)
Info : [ 60%] Meshing curve 146 (Line)
Info : [ 60%] Meshing curve 147 (Line)
Info : [ 60%] Meshing curve 148 (Line)
Info : [ 60%] Meshing curve 149 (Line)
Info : [ 70%] Meshing curve 150 (Line)
Info : [ 70%] Meshing curve 151 (Line)
Info : [ 70%] Meshing curve 152 (Line)
Info : [ 70%] Meshing curve 153 (Line)
Info : [ 70%] Meshing curve 154 (Line)
Info : [ 70%] Meshing curve 155 (Line)
Info : [ 70%] Meshing curve 156 (Line)
Info : [ 70%] Meshing curve 157 (Line)
Info : [ 80%] Meshing curve 158 (Line)
Info : [ 80%] Meshing curve 159 (Line)
Info : [ 80%] Meshing curve 160 (Line)
Info : [ 80%] Meshing curve 161 (Line)
Info : [ 80%] Meshing curve 162 (Line)
Info : [ 80%] Meshing curve 163 (Line)
Info : [ 80%] Meshing curve 164 (Line)
Info : [ 80%] Meshing curve 1234 (Line)
Info : [ 90%] Meshing curve 3005 (Circle)
Info : [ 90%] Meshing curve 3006 (Circle)
Info : [ 90%] Meshing curve 3007 (Circle)
Info : [ 90%] Meshing curve 3008 (Circle)
Info : [ 90%] Meshing curve 3015 (Circle)
Info : [ 90%] Meshing curve 3016 (Circle)
Info : [ 90%] Meshing curve 3017 (Circle)
Info : [ 90%] Meshing curve 3018 (Circle)
Info : [100%] Meshing curve 3025 (Circle)
Info : [100%] Meshing curve 3026 (Circle)
Info : [100%] Meshing curve 3027 (Circle)
Info : [100%] Meshing curve 3028 (Circle)
Info : [100%] Meshing curve 3035 (Circle)
Info : [100%] Meshing curve 3036 (Circle)
Info : [100%] Meshing curve 3037 (Circle)
Info : [100%] Meshing curve 3038 (Circle)
Info : Done meshing 1D (Wall 0.00429454s, CPU 0.005173s)
Info : Meshing 2D...
Info : [ 0%] Meshing surface 200 (Plane, Delaunay)
Info : [ 0%] Blossom: 2264 internal 88 closed
Info : [ 0%] Blossom recombination completed (Wall 0.0166165s, CPU 0.015985s): 740 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 0.776443, min Q = 0.460287
Info : [ 30%] Meshing surface 201 (Plane, Delaunay)
Info : [ 30%] Blossom: 2128 internal 208 closed
Info : [ 30%] Blossom recombination completed (Wall 0.0133064s, CPU 0.013314s): 744 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 0.715401, min Q = 0.462407
Info : [ 50%] Meshing surface 202 (Plane, Delaunay)
Info : [ 50%] Blossom: 600 internal 240 closed
Info : [ 50%] Blossom recombination completed (Wall 0.00225538s, CPU 0.002095s): 120 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 0.983333, min Q = 0.983333
Info : [ 70%] Meshing surface 203 (Plane, Delaunay)
Info : [ 70%] Blossom: 344 internal 248 closed
Info : [ 70%] Blossom recombination completed (Wall 0.00192454s, CPU 0.00192s): 132 quads, 16 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 0.59063, min Q = 0.274456
Info : [ 90%] Meshing surface 204 (Plane, Delaunay)
Info : Done meshing 2D (Wall 0.0773176s, CPU 0.068517s)
Info : 2097 nodes 3002 elements
Info : Writing '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/GreatCell.msh'...
Info : Done writing '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/GreatCell.msh'
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/domain.vtu (160 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_Inlet.vtu (1 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_p_right.vtu (1 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_p_top.vtu (1 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_p_left.vtu (1 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_p_bottom.vtu (1 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE1.vtu (6 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE2.vtu (6 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE3.vtu (6 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE4.vtu (6 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE5.vtu (6 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE6.vtu (6 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE7.vtu (6 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE8.vtu (6 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE1a.vtu (6 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE2a.vtu (6 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE3a.vtu (6 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE4a.vtu (6 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE5a.vtu (6 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE6a.vtu (6 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE7a.vtu (6 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE8a.vtu (6 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS1.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS2.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS3.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS4.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS5.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS6.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS7.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS8.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS1a.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS2a.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS3a.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS4a.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS5a.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS6a.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS7a.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS8a.vtu (4 cells)
[0m[33m2025-09-09 17:37:44.201 ( 3.784s) [ 717A1162F740]vtkXOpenGLRenderWindow.:1416 WARN| bad X server connection. DISPLAY=[0m
msh_path = Path(mesh_path, f"{meshname}.msh")
…
(click to toggle)
msh_path = Path(mesh_path, f"{meshname}.msh")
meshes = ot.meshes_from_gmsh(filename=msh_path, dim=[1], reindex=True, log=False)
for name, mesh in meshes.items():
print(f"{name}: {mesh.n_cells} cells")
pv.save_meshio(Path(mesh_path, f"{name}.vtu"), mesh)
domain: 160 cells
physical_group_Inlet: 1 cells
physical_group_p_right: 1 cells
physical_group_p_top: 1 cells
physical_group_p_left: 1 cells
physical_group_p_bottom: 1 cells
physical_group_PEE1: 6 cells
physical_group_PEE2: 6 cells
physical_group_PEE3: 6 cells
physical_group_PEE4: 6 cells
physical_group_PEE5: 6 cells
physical_group_PEE6: 6 cells
physical_group_PEE7: 6 cells
physical_group_PEE8: 6 cells
physical_group_PEE1a: 6 cells
physical_group_PEE2a: 6 cells
physical_group_PEE3a: 6 cells
physical_group_PEE4a: 6 cells
physical_group_PEE5a: 6 cells
physical_group_PEE6a: 6 cells
physical_group_PEE7a: 6 cells
physical_group_PEE8a: 6 cells
physical_group_DSS1: 4 cells
physical_group_DSS2: 4 cells
physical_group_DSS3: 4 cells
physical_group_DSS4: 4 cells
physical_group_DSS5: 4 cells
physical_group_DSS6: 4 cells
physical_group_DSS7: 4 cells
physical_group_DSS8: 4 cells
physical_group_DSS1a: 4 cells
physical_group_DSS2a: 4 cells
physical_group_DSS3a: 4 cells
physical_group_DSS4a: 4 cells
physical_group_DSS5a: 4 cells
physical_group_DSS6a: 4 cells
physical_group_DSS7a: 4 cells
physical_group_DSS8a: 4 cells
plotter = pv.Plotter()
…
(click to toggle)
plotter = pv.Plotter()
for name, mesh in meshes.items():
if mesh.active_scalars is not None:
plotter.add_mesh(
mesh,
scalars=mesh.active_scalars_name,
cmap="tab20",
show_edges=False,
opacity=0.7,
)
else:
plotter.add_mesh(mesh, show_edges=False, opacity=0.7, label=name)
clean_name = name.replace("physical_group_", "")
center = mesh.center
direction = np.array(center) - np.array([0, 0, 0])
direction[:2] = direction[:2] / (np.linalg.norm(direction[:2]) + 1e-8)
offset = center + 0.025 * direction
plotter.add_point_labels(
[offset], [clean_name], font_size=12, point_size=0, text_color="black"
)
plotter.view_xy()
plotter.enable_parallel_projection()
plotter.show()
msh_file = mesh_GreatCell_intact(
…
(click to toggle)
msh_file = mesh_GreatCell_intact(
lc=0.005,
lc2=h,
r0=0.097,
r1=0.094,
r2=0.090,
r3=0.065,
out_dir=mesh_path,
meshname=meshname,
mode="domain",
)
Info : Meshing 1D...
Info : [ 0%] Meshing curve 101 (Line)
Info : [ 10%] Meshing curve 102 (Line)
Info : [ 10%] Meshing curve 103 (Line)
Info : [ 10%] Meshing curve 104 (Line)
Info : [ 10%] Meshing curve 105 (Line)
Info : [ 10%] Meshing curve 106 (Line)
Info : [ 10%] Meshing curve 107 (Line)
Info : [ 10%] Meshing curve 108 (Line)
Info : [ 10%] Meshing curve 109 (Line)
Info : [ 20%] Meshing curve 110 (Line)
Info : [ 20%] Meshing curve 111 (Line)
Info : [ 20%] Meshing curve 112 (Line)
Info : [ 20%] Meshing curve 113 (Line)
Info : [ 20%] Meshing curve 114 (Line)
Info : [ 20%] Meshing curve 115 (Line)
Info : [ 20%] Meshing curve 116 (Line)
Info : [ 20%] Meshing curve 117 (Line)
Info : [ 30%] Meshing curve 118 (Line)
Info : [ 30%] Meshing curve 119 (Line)
Info : [ 30%] Meshing curve 120 (Line)
Info : [ 30%] Meshing curve 121 (Line)
Info : [ 30%] Meshing curve 122 (Line)
Info : [ 30%] Meshing curve 123 (Line)
Info : [ 30%] Meshing curve 124 (Line)
Info : [ 30%] Meshing curve 125 (Line)
Info : [ 40%] Meshing curve 126 (Line)
Info : [ 40%] Meshing curve 127 (Line)
Info : [ 40%] Meshing curve 128 (Line)
Info : [ 40%] Meshing curve 129 (Line)
Info : [ 40%] Meshing curve 130 (Line)
Info : [ 40%] Meshing curve 131 (Line)
Info : [ 40%] Meshing curve 132 (Line)
Info : [ 40%] Meshing curve 133 (Line)
Info : [ 50%] Meshing curve 134 (Line)
Info : [ 50%] Meshing curve 135 (Line)
Info : [ 50%] Meshing curve 136 (Line)
Info : [ 50%] Meshing curve 137 (Line)
Info : [ 50%] Meshing curve 138 (Line)
Info : [ 50%] Meshing curve 139 (Line)
Info : [ 50%] Meshing curve 140 (Line)
Info : [ 50%] Meshing curve 141 (Line)
Info : [ 60%] Meshing curve 142 (Line)
Info : [ 60%] Meshing curve 143 (Line)
Info : [ 60%] Meshing curve 144 (Line)
Info : [ 60%] Meshing curve 145 (Line)
Info : [ 60%] Meshing curve 146 (Line)
Info : [ 60%] Meshing curve 147 (Line)
Info : [ 60%] Meshing curve 148 (Line)
Info : [ 60%] Meshing curve 149 (Line)
Info : [ 70%] Meshing curve 150 (Line)
Info : [ 70%] Meshing curve 151 (Line)
Info : [ 70%] Meshing curve 152 (Line)
Info : [ 70%] Meshing curve 153 (Line)
Info : [ 70%] Meshing curve 154 (Line)
Info : [ 70%] Meshing curve 155 (Line)
Info : [ 70%] Meshing curve 156 (Line)
Info : [ 70%] Meshing curve 157 (Line)
Info : [ 80%] Meshing curve 158 (Line)
Info : [ 80%] Meshing curve 159 (Line)
Info : [ 80%] Meshing curve 160 (Line)
Info : [ 80%] Meshing curve 161 (Line)
Info : [ 80%] Meshing curve 162 (Line)
Info : [ 80%] Meshing curve 163 (Line)
Info : [ 80%] Meshing curve 164 (Line)
Info : [ 80%] Meshing curve 1234 (Line)
Info : [ 90%] Meshing curve 3005 (Circle)
Info : [ 90%] Meshing curve 3006 (Circle)
Info : [ 90%] Meshing curve 3007 (Circle)
Info : [ 90%] Meshing curve 3008 (Circle)
Info : [ 90%] Meshing curve 3015 (Circle)
Info : [ 90%] Meshing curve 3016 (Circle)
Info : [ 90%] Meshing curve 3017 (Circle)
Info : [ 90%] Meshing curve 3018 (Circle)
Info : [100%] Meshing curve 3025 (Circle)
Info : [100%] Meshing curve 3026 (Circle)
Info : [100%] Meshing curve 3027 (Circle)
Info : [100%] Meshing curve 3028 (Circle)
Info : [100%] Meshing curve 3035 (Circle)
Info : [100%] Meshing curve 3036 (Circle)
Info : [100%] Meshing curve 3037 (Circle)
Info : [100%] Meshing curve 3038 (Circle)
Info : Done meshing 1D (Wall 0.00406106s, CPU 0.00472s)
Info : Meshing 2D...
Info : [ 0%] Meshing surface 200 (Plane, Delaunay)
Info : [ 0%] Blossom: 2264 internal 88 closed
Info : [ 0%] Blossom recombination completed (Wall 0.0157697s, CPU 0.01577s): 740 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 0.776443, min Q = 0.460287
Info : [ 30%] Meshing surface 201 (Plane, Delaunay)
Info : [ 30%] Blossom: 2128 internal 208 closed
Info : [ 30%] Blossom recombination completed (Wall 0.0131401s, CPU 0.01314s): 744 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 0.715401, min Q = 0.462407
Info : [ 50%] Meshing surface 202 (Plane, Delaunay)
Info : [ 50%] Blossom: 600 internal 240 closed
Info : [ 50%] Blossom recombination completed (Wall 0.00218385s, CPU 0.002193s): 120 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 0.983333, min Q = 0.983333
Info : [ 70%] Meshing surface 203 (Plane, Delaunay)
Info : [ 70%] Blossom: 344 internal 248 closed
Info : [ 70%] Blossom recombination completed (Wall 0.00184226s, CPU 0.001797s): 132 quads, 16 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 0.59063, min Q = 0.274456
Info : [ 90%] Meshing surface 204 (Plane, Delaunay)
Info : Done meshing 2D (Wall 0.0675421s, CPU 0.067567s)
Info : 2097 nodes 3002 elements
Info : Writing '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/GreatCell.msh'...
Info : Done writing '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/GreatCell.msh'
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/domain.vtu (2296 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_Central_sample.vtu (740 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_OuterPart_sample.vtu (1012 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_Rubber_sheath.vtu (544 cells)
msh_path = Path(mesh_path, f"{meshname}.msh")
…
(click to toggle)
msh_path = Path(mesh_path, f"{meshname}.msh")
meshes_volume = ot.meshes_from_gmsh(
filename=msh_path, dim=[1, 2], reindex=True, log=False
)
for name, mesh in meshes_volume.items():
print(f"{name}: {mesh.n_cells} cells")
pv.save_meshio(Path(mesh_path, f"{name}.vtu"), mesh)
domain: 2296 cells
physical_group_Central_sample: 740 cells
physical_group_OuterPart_sample: 1012 cells
physical_group_Rubber_sheath: 544 cells
plotter = pv.Plotter()
…
(click to toggle)
plotter = pv.Plotter()
for name, mesh in meshes_volume.items():
if mesh.active_scalars is not None:
plotter.add_mesh(
mesh,
scalars=mesh.active_scalars_name,
cmap="Set1",
show_edges=False,
opacity=0.7,
)
else:
plotter.add_mesh(mesh, show_edges=False, opacity=0.7, label=name)
clean_name = name.replace("physical_group_", "")
center = mesh.center
direction = np.array(center) - np.array([0, 0, 0])
direction[:2] = direction[:2] / (np.linalg.norm(direction[:2]) + 1e-8)
offset = center + 0.025 * direction
plotter.add_point_labels(
[offset], [clean_name], font_size=12, point_size=0, text_color="black"
)
plotter.view_xy()
plotter.enable_parallel_projection()
plotter.show()
mesh_dir = Path(mesh_path).resolve()
…
(click to toggle)
mesh_dir = Path(mesh_path).resolve()
run(
[
"NodeReordering",
"-i",
str(mesh_dir.joinpath("domain.vtu")),
"-o",
str(mesh_dir.joinpath("domain.vtu")),
],
cwd=mesh_dir,
check=True,
)
physical_groups = [
"physical_group_DSS1.vtu",
"physical_group_DSS1a.vtu",
"physical_group_DSS2.vtu",
"physical_group_DSS2a.vtu",
"physical_group_DSS3.vtu",
"physical_group_DSS3a.vtu",
"physical_group_DSS4.vtu",
"physical_group_DSS4a.vtu",
"physical_group_DSS5.vtu",
"physical_group_DSS5a.vtu",
"physical_group_DSS6.vtu",
"physical_group_DSS6a.vtu",
"physical_group_DSS7.vtu",
"physical_group_DSS7a.vtu",
"physical_group_DSS8.vtu",
"physical_group_DSS8a.vtu",
"physical_group_PEE1.vtu",
"physical_group_PEE1a.vtu",
"physical_group_PEE2.vtu",
"physical_group_PEE2a.vtu",
"physical_group_PEE3.vtu",
"physical_group_PEE3a.vtu",
"physical_group_PEE4.vtu",
"physical_group_PEE4a.vtu",
"physical_group_PEE5.vtu",
"physical_group_PEE5a.vtu",
"physical_group_PEE6.vtu",
"physical_group_PEE6a.vtu",
"physical_group_PEE7.vtu",
"physical_group_PEE7a.vtu",
"physical_group_PEE8.vtu",
"physical_group_PEE8a.vtu",
"physical_group_p_bottom.vtu",
"physical_group_p_left.vtu",
"physical_group_p_right.vtu",
"physical_group_p_top.vtu",
"physical_group_Inlet.vtu",
]
group_paths = [str(mesh_dir.joinpath(name)) for name in physical_groups]
run(
[
"identifySubdomains",
"-f",
"-m",
str(mesh_dir.joinpath("domain.vtu")),
"--",
*group_paths,
],
cwd=mesh_dir,
check=True,
)
[2025-09-09 17:37:47.682] [ogs] [info] Reordering nodes...
[2025-09-09 17:37:47.682] [ogs] [info] Corrected 0 elements.
[2025-09-09 17:37:47.694] [ogs] [info] VTU file written.
[2025-09-09 17:37:49.002] [ogs] [info] Mesh reading time: 0.00981772 s
[2025-09-09 17:37:49.003] [ogs] [info] MeshNodeSearcher construction time: 0.000113103 s
[2025-09-09 17:37:49.003] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 1.3491e-05 s
[2025-09-09 17:37:49.003] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS1' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.003] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.003] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000212287 s
[2025-09-09 17:37:49.003] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 8.6e-07 s
[2025-09-09 17:37:49.003] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS1a' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.003] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.003] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 9.5534e-05 s
[2025-09-09 17:37:49.003] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 8.3e-07 s
[2025-09-09 17:37:49.003] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS2' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.003] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.003] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 8.8703e-05 s
[2025-09-09 17:37:49.003] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 7.1e-07 s
[2025-09-09 17:37:49.003] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS2a' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.003] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.003] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 8.7933e-05 s
[2025-09-09 17:37:49.003] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 7.5e-07 s
[2025-09-09 17:37:49.003] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS3' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.003] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.003] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 8.6103e-05 s
[2025-09-09 17:37:49.003] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 6.8e-07 s
[2025-09-09 17:37:49.003] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS3a' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.003] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.003] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 8.8803e-05 s
[2025-09-09 17:37:49.003] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 7.5e-07 s
[2025-09-09 17:37:49.003] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS4' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.003] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.003] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 8.7603e-05 s
[2025-09-09 17:37:49.003] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 7.4e-07 s
[2025-09-09 17:37:49.003] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS4a' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.003] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.004] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 8.7983e-05 s
[2025-09-09 17:37:49.004] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 8.6e-07 s
[2025-09-09 17:37:49.004] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS5' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.004] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.004] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 8.7783e-05 s
[2025-09-09 17:37:49.004] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 7.1e-07 s
[2025-09-09 17:37:49.004] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS5a' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.004] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.004] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 8.8063e-05 s
[2025-09-09 17:37:49.004] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 7.8e-07 s
[2025-09-09 17:37:49.004] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS6' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.004] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.004] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 8.8853e-05 s
[2025-09-09 17:37:49.004] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 6.8e-07 s
[2025-09-09 17:37:49.004] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS6a' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.004] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.007] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.003455 s
[2025-09-09 17:37:49.007] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 2.13e-06 s
[2025-09-09 17:37:49.007] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS7' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.007] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.007] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000114694 s
[2025-09-09 17:37:49.007] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 1.3e-06 s
[2025-09-09 17:37:49.007] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS7a' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.007] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.008] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 8.9113e-05 s
[2025-09-09 17:37:49.008] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 1.15e-06 s
[2025-09-09 17:37:49.008] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS8' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.008] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.008] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 8.8963e-05 s
[2025-09-09 17:37:49.008] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 1.26e-06 s
[2025-09-09 17:37:49.008] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS8a' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.008] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.008] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 8.8763e-05 s
[2025-09-09 17:37:49.008] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 1.88e-06 s
[2025-09-09 17:37:49.008] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE1' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.008] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.008] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 9.0053e-05 s
[2025-09-09 17:37:49.008] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 1.58e-06 s
[2025-09-09 17:37:49.008] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE1a' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.008] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.008] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 8.9842e-05 s
[2025-09-09 17:37:49.008] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 1.72e-06 s
[2025-09-09 17:37:49.008] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE2' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.008] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.008] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 9.0443e-05 s
[2025-09-09 17:37:49.008] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 1.81e-06 s
[2025-09-09 17:37:49.008] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE2a' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.008] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.008] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 9.0703e-05 s
[2025-09-09 17:37:49.008] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 1.94e-06 s
[2025-09-09 17:37:49.008] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE3' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.008] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.008] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 9.1593e-05 s
[2025-09-09 17:37:49.008] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 1.41e-06 s
[2025-09-09 17:37:49.008] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE3a' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.008] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.008] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 9.0643e-05 s
[2025-09-09 17:37:49.008] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 2.18e-06 s
[2025-09-09 17:37:49.008] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE4' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.008] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.008] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 9.0173e-05 s
[2025-09-09 17:37:49.008] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 1.67e-06 s
[2025-09-09 17:37:49.008] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE4a' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.008] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.009] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 9.0143e-05 s
[2025-09-09 17:37:49.009] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 1.38e-06 s
[2025-09-09 17:37:49.009] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE5' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.009] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.009] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 9.1653e-05 s
[2025-09-09 17:37:49.009] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 1.61e-06 s
[2025-09-09 17:37:49.009] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE5a' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.009] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.009] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 9.1133e-05 s
[2025-09-09 17:37:49.009] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 1.65e-06 s
[2025-09-09 17:37:49.009] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE6' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.009] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.009] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 9.0423e-05 s
[2025-09-09 17:37:49.009] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 1.68e-06 s
[2025-09-09 17:37:49.009] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE6a' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.009] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.009] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 9.0933e-05 s
[2025-09-09 17:37:49.009] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 1.66e-06 s
[2025-09-09 17:37:49.009] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE7' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.009] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.009] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 9.1443e-05 s
[2025-09-09 17:37:49.009] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 2.05e-06 s
[2025-09-09 17:37:49.009] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE7a' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.009] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.009] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 9.2003e-05 s
[2025-09-09 17:37:49.009] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 1.79e-06 s
[2025-09-09 17:37:49.009] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE8' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.009] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.009] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 9.2223e-05 s
[2025-09-09 17:37:49.009] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 1.56e-06 s
[2025-09-09 17:37:49.009] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE8a' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.009] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.009] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 9.0853e-05 s
[2025-09-09 17:37:49.009] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 6e-07 s
[2025-09-09 17:37:49.009] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_p_bottom' and it is equal to the newly computed values.
[2025-09-09 17:37:49.009] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 8.9923e-05 s
[2025-09-09 17:37:49.009] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 5e-07 s
[2025-09-09 17:37:49.009] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_p_left' and it is equal to the newly computed values.
[2025-09-09 17:37:49.010] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 8.9563e-05 s
[2025-09-09 17:37:49.010] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 3.2e-07 s
[2025-09-09 17:37:49.010] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_p_right' and it is equal to the newly computed values.
[2025-09-09 17:37:49.010] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 8.9293e-05 s
[2025-09-09 17:37:49.010] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 6.2e-07 s
[2025-09-09 17:37:49.010] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_p_top' and it is equal to the newly computed values.
[2025-09-09 17:37:49.010] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 8.8973e-05 s
[2025-09-09 17:37:49.010] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 5.5e-07 s
[2025-09-09 17:37:49.010] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_Inlet' and it is not equal to the newly computed values.
[2025-09-09 17:37:49.010] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:37:49.010] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 8.9713e-05 s
[2025-09-09 17:37:49.010] [ogs] [info] identifySubdomains time: 0.00714567 s
[2025-09-09 17:37:49.075] [ogs] [info] writing time: 0.0647653 s
[2025-09-09 17:37:49.075] [ogs] [info] Entire run time: 1.268 s
CompletedProcess(args=['identifySubdomains', '-f', '-m', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/domain.vtu', '--', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS1.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS1a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS2.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS2a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS3.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS3a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS4.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS4a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS5.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS5a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS6.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS6a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS7.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS7a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS8.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_DSS8a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE1.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE1a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE2.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE2a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE3.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE3a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE4.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE4a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE5.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE5a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE6.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE6a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE7.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE7a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE8.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_PEE8a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_p_bottom.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_p_left.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_p_right.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_p_top.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact/physical_group_Inlet.vtu'], returncode=0)
The primary objective of the first benchmark exercise is to evaluate the mechanical deformation of different rock samples in the GREAT cell under various boundary conditions in a 2D plane strain setup.
This benchmark considers a plane strain triaxial stress condition, where the in-plane principal stresses are defined as:
$$ \sigma_2 = 10\ \text{MPa},\quad \sigma_3 = 1\ \text{MPa} $$The out-of-plane stress component, $\sigma_1$, is governed by the plane strain constraint:
$$ \sigma_1 = \nu (\sigma_2 + \sigma_3) $$This loading condition is applied to both Greywacke and Gneiss samples
# Times for load curves
…
(click to toggle)
# Times for load curves
times = "0.0 1000. 3500"
simulation_end_time = 3500.0
n_fracture_p_ncs = 0
model_type = "M1"
output_prefix = "M1_VPF"
# Load
PEE_load_values = {
"A": [10.0e6, 6.64e6, 4.46e6, 1.17e6, 1.0e6, 3.82e6, 7.80e6, 9.95e6],
"B": [7.80e6, 9.95e6, 10.0e6, 6.64e6, 4.46e6, 1.17e6, 1.0e6, 3.82e6],
"C": [1.0e6, 3.82e6, 7.80e6, 9.95e6, 10.0e6, 6.64e6, 4.46e6, 1.17e6],
}
prj_file = Path("M1_VPF.prj")
prj = ot.Project(input_file=prj_file, output_file=Path(out_dir, f"{output_prefix}.prj"))
# Create SingleOGSModel
…
(click to toggle)
# Create SingleOGSModel
sing_ogs_model = SingleOGSModel(
model=prj,
out_dir=out_dir,
mesh_path=mesh_path,
output_prefix=output_prefix,
method="VPF",
n_fracture_p_ncs=n_fracture_p_ncs,
model_type=model_type,
materials=materials,
)
# Run simulations
vtu_files_dict = sing_ogs_model.run_simulations_with_fracture(
times=times,
base_project_file=prj_file,
mesh_path=mesh_path,
load_cases=PEE_load_values,
material_names=material_names,
materials=materials,
n_fracture_p_ncs=n_fracture_p_ncs,
model_type=model_type,
output_prefix=output_prefix,
out_dir=out_dir,
method="VPF",
fracture_model_type="VolumetricDeviatoric",
mesh_size=h,
)
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M1_VPF.prj
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M1_VPF_A.prj
============================================================
Running simulation for load case: A with method: VPF, tension_cutoff: False
============================================================
------------------------------------------------------------
* Running the simulation for sample Gneiss:
------------------------------------------------------------
DEBUG: Setting ls to 0.01 based on mesh size 0.005
ls 0.01
Material properties for 'Gneiss' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M1_VPF_A.prj
Status: finished successfully.
Execution took 48.02065372467041 s
------------------------------------------------------------
* Running the simulation for sample Greywacke:
------------------------------------------------------------
DEBUG: Setting ls to 0.01 based on mesh size 0.005
ls 0.01
Material properties for 'Greywacke' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M1_VPF_A.prj
Status: finished successfully.
Execution took 49.01787066459656 s
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M1_VPF_B.prj
============================================================
Running simulation for load case: B with method: VPF, tension_cutoff: False
============================================================
------------------------------------------------------------
* Running the simulation for sample Gneiss:
------------------------------------------------------------
DEBUG: Setting ls to 0.01 based on mesh size 0.005
ls 0.01
Material properties for 'Gneiss' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M1_VPF_B.prj
Status: finished successfully.
Execution took 57.9615683555603 s
------------------------------------------------------------
* Running the simulation for sample Greywacke:
------------------------------------------------------------
DEBUG: Setting ls to 0.01 based on mesh size 0.005
ls 0.01
Material properties for 'Greywacke' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M1_VPF_B.prj
Status: finished successfully.
Execution took 64.4273853302002 s
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M1_VPF_C.prj
============================================================
Running simulation for load case: C with method: VPF, tension_cutoff: False
============================================================
------------------------------------------------------------
* Running the simulation for sample Gneiss:
------------------------------------------------------------
DEBUG: Setting ls to 0.01 based on mesh size 0.005
ls 0.01
Material properties for 'Gneiss' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M1_VPF_C.prj
Status: finished successfully.
Execution took 46.11513686180115 s
------------------------------------------------------------
* Running the simulation for sample Greywacke:
------------------------------------------------------------
DEBUG: Setting ls to 0.01 based on mesh size 0.005
ls 0.01
Material properties for 'Greywacke' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M1_VPF_C.prj
Status: finished successfully.
Execution took 28.463220357894897 s
json_path = Path("./external_data_dict.py").resolve()
…
(click to toggle)
json_path = Path("./external_data_dict.py").resolve()
print(f"[DEBUG] Trying path: {json_path}")
if json_path.exists():
from external_data_dict import external_data
else:
print("[WARNING] External data dict not found! Skipping...")
external_data = None
plotter = Plotter(
output_dir=out_dir,
save_extracted_data=True,
)
data_dir = Path("external_data")
external_data = Plotter.load_external_data(data_dir, benchmark_tag="M1")
plotter.plot_volumetric_strain_vs_angle(
vtu_files_dict,
model_type="M1",
ylim_range=[-7.5, 2.5],
layout="subplots",
external_data=external_data["strain"],
)
[DEBUG] Trying path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell/external_data_dict.py
[WARNING] External data dict not found! Skipping...
plotter.plot_field_variables(vtu_files_dict)
Load: A, File 0, Benchmark: M1, Material: Gneiss
Load: A, File 1, Benchmark: M1, Material: Greywacke
Load: B, File 0, Benchmark: M1, Material: Gneiss
Load: B, File 1, Benchmark: M1, Material: Greywacke
Load: C, File 0, Benchmark: M1, Material: Gneiss
Load: C, File 1, Benchmark: M1, Material: Greywacke
This benchmark, which does not consider any fracture, is designed to verify the basic computational setting for hydro-mechanical simulations. In addition to the mechanical loads, a zero constant pore pressure is prescribed at the outer boundary. At the center of sample, fluid is injected at a rate of $Q_0^{\text{v}} = 2.085 \times 10^{-9}$ m$^3$/s
The hydro-mechanical simulations follows a two-stage process: a 3000s equilibrium phase under mechanical loading to stabilize initial conditions, followed by a 500s fluid injection phase to model fluid flow. This loading condition is applied to both Greywacke and Gneiss samples
# Times for load curves
…
(click to toggle)
# Times for load curves
times = "0.0 1000. 3500"
simulation_end_time = 3500.0
n_fracture_p_ncs = 0
model_type = "HM1"
output_prefix = "HM1_VPF"
# Load
PEE_load_values = {
"A": [10.0e6, 6.64e6, 4.46e6, 1.17e6, 1.0e6, 3.82e6, 7.80e6, 9.95e6],
"B": [7.80e6, 9.95e6, 10.0e6, 6.64e6, 4.46e6, 1.17e6, 1.0e6, 3.82e6],
"C": [1.0e6, 3.82e6, 7.80e6, 9.95e6, 10.0e6, 6.64e6, 4.46e6, 1.17e6],
}
for p in materials.values():
p["fluid"][
"injectionFlowRate_Inlet"
] = 2.085e-6 # Injection flow rate m³/s (125 ml/min)
prj_file = Path("HM1_VPF.prj")
prj = ot.Project(input_file=prj_file, output_file=Path(out_dir, f"{output_prefix}.prj"))
# Create SingleOGSModel
…
(click to toggle)
# Create SingleOGSModel
sing_ogs_model = SingleOGSModel(
model=prj,
out_dir=out_dir,
mesh_path=mesh_path,
output_prefix=output_prefix,
method="VPF",
n_fracture_p_ncs=n_fracture_p_ncs,
model_type=model_type,
materials=materials,
)
# Run simulations
vtu_files_dict_HM = sing_ogs_model.run_simulations_with_fracture(
times=times,
base_project_file=prj_file,
mesh_path=mesh_path,
load_cases=PEE_load_values,
material_names=material_names,
materials=materials,
n_fracture_p_ncs=n_fracture_p_ncs,
model_type=model_type,
output_prefix=output_prefix,
out_dir=out_dir,
method="VPF",
fracture_model_type="VolumetricDeviatoric",
mesh_size=h,
)
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM1_VPF.prj
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM1_VPF_A.prj
============================================================
Running simulation for load case: A with method: VPF, tension_cutoff: False
============================================================
------------------------------------------------------------
* Running the simulation for sample Gneiss:
------------------------------------------------------------
DEBUG: Setting ls to 0.01 based on mesh size 0.005
ls 0.01
Material properties for 'Gneiss' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM1_VPF_A.prj
Status: finished successfully.
Execution took 54.8050491809845 s
------------------------------------------------------------
* Running the simulation for sample Greywacke:
------------------------------------------------------------
DEBUG: Setting ls to 0.01 based on mesh size 0.005
ls 0.01
Material properties for 'Greywacke' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM1_VPF_A.prj
Status: finished successfully.
Execution took 39.83910012245178 s
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM1_VPF_B.prj
============================================================
Running simulation for load case: B with method: VPF, tension_cutoff: False
============================================================
------------------------------------------------------------
* Running the simulation for sample Gneiss:
------------------------------------------------------------
DEBUG: Setting ls to 0.01 based on mesh size 0.005
ls 0.01
Material properties for 'Gneiss' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM1_VPF_B.prj
Status: finished successfully.
Execution took 27.823129177093506 s
------------------------------------------------------------
* Running the simulation for sample Greywacke:
------------------------------------------------------------
DEBUG: Setting ls to 0.01 based on mesh size 0.005
ls 0.01
Material properties for 'Greywacke' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM1_VPF_B.prj
Status: finished successfully.
Execution took 37.69605875015259 s
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_intact
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM1_VPF_C.prj
============================================================
Running simulation for load case: C with method: VPF, tension_cutoff: False
============================================================
------------------------------------------------------------
* Running the simulation for sample Gneiss:
------------------------------------------------------------
DEBUG: Setting ls to 0.01 based on mesh size 0.005
ls 0.01
Material properties for 'Gneiss' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM1_VPF_C.prj
Status: finished successfully.
Execution took 27.31951141357422 s
------------------------------------------------------------
* Running the simulation for sample Greywacke:
------------------------------------------------------------
DEBUG: Setting ls to 0.01 based on mesh size 0.005
ls 0.01
Material properties for 'Greywacke' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM1_VPF_C.prj
Status: finished successfully.
Execution took 37.05393600463867 s
json_path = Path("./external_data_dict.py").resolve()
…
(click to toggle)
json_path = Path("./external_data_dict.py").resolve()
print(f"[DEBUG] Trying path: {json_path}")
if json_path.exists():
from external_data_dict import external_data
else:
print("[WARNING] External data dict not found! Skipping...")
external_data = None
data_dir = Path("external_data")
external_data = Plotter.load_external_data(data_dir, benchmark_tag="HM1")
plotter = Plotter(
output_dir=out_dir,
save_extracted_data=True,
)
plotter.plot_volumetric_strain_vs_angle(
vtu_files_dict_HM,
model_type="HM1",
ylim_range=[-7.5, 2.5],
layout="subplots",
external_data=external_data["strain"],
)
[DEBUG] Trying path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell/external_data_dict.py
[WARNING] External data dict not found! Skipping...
plotter.plot_field_variables(vtu_files_dict_HM)
Load: A, File 0, Benchmark: HM1, Material: Gneiss
Load: A, File 1, Benchmark: HM1, Material: Greywacke
Load: B, File 0, Benchmark: HM1, Material: Gneiss
Load: B, File 1, Benchmark: HM1, Material: Greywacke
Load: C, File 0, Benchmark: HM1, Material: Gneiss
Load: C, File 1, Benchmark: HM1, Material: Greywacke
h = 0.001
…
(click to toggle)
h = 0.001
meshname = "GreatCell"
mesh_path_VPF = Path(out_dir, "mesh_GreatCell_VPF").resolve()
msh_file_VPF = mesh_GreatCell_VPF(
…
(click to toggle)
msh_file_VPF = mesh_GreatCell_VPF(
lc2=h,
lc=20 * h,
r0=0.097,
r1=0.094,
r2=0.090,
r3=0.065,
out_dir=mesh_path_VPF,
meshname=meshname,
mode="BC",
)
Info : Meshing 1D...
Info : [ 0%] Meshing curve 101 (Line)
Info : [ 10%] Meshing curve 102 (Line)
Info : [ 10%] Meshing curve 103 (Line)
Info : [ 10%] Meshing curve 104 (Line)
Info : [ 10%] Meshing curve 105 (Line)
Info : [ 10%] Meshing curve 106 (Line)
Info : [ 10%] Meshing curve 107 (Line)
Info : [ 10%] Meshing curve 108 (Line)
Info : [ 10%] Meshing curve 109 (Line)
Info : [ 10%] Meshing curve 110 (Line)
Info : [ 10%] Meshing curve 111 (Line)
Info : [ 20%] Meshing curve 112 (Line)
Info : [ 20%] Meshing curve 113 (Line)
Info : [ 20%] Meshing curve 114 (Line)
Info : [ 20%] Meshing curve 115 (Line)
Info : [ 20%] Meshing curve 116 (Line)
Info : [ 20%] Meshing curve 117 (Line)
Info : [ 20%] Meshing curve 118 (Line)
Info : [ 20%] Meshing curve 119 (Line)
Info : [ 20%] Meshing curve 120 (Line)
Info : [ 20%] Meshing curve 121 (Line)
Info : [ 20%] Meshing curve 122 (Line)
Info : [ 30%] Meshing curve 123 (Line)
Info : [ 30%] Meshing curve 124 (Line)
Info : [ 30%] Meshing curve 125 (Line)
Info : [ 30%] Meshing curve 126 (Line)
Info : [ 30%] Meshing curve 127 (Line)
Info : [ 30%] Meshing curve 128 (Line)
Info : [ 30%] Meshing curve 129 (Line)
Info : [ 30%] Meshing curve 130 (Line)
Info : [ 30%] Meshing curve 131 (Line)
Info : [ 30%] Meshing curve 132 (Line)
Info : [ 30%] Meshing curve 133 (Line)
Info : [ 40%] Meshing curve 134 (Line)
Info : [ 40%] Meshing curve 135 (Line)
Info : [ 40%] Meshing curve 136 (Line)
Info : [ 40%] Meshing curve 137 (Line)
Info : [ 40%] Meshing curve 138 (Line)
Info : [ 40%] Meshing curve 139 (Line)
Info : [ 40%] Meshing curve 140 (Line)
Info : [ 40%] Meshing curve 141 (Line)
Info : [ 40%] Meshing curve 142 (Line)
Info : [ 40%] Meshing curve 143 (Line)
Info : [ 40%] Meshing curve 144 (Line)
Info : [ 50%] Meshing curve 145 (Line)
Info : [ 50%] Meshing curve 146 (Line)
Info : [ 50%] Meshing curve 147 (Line)
Info : [ 50%] Meshing curve 148 (Line)
Info : [ 50%] Meshing curve 149 (Line)
Info : [ 50%] Meshing curve 150 (Line)
Info : [ 50%] Meshing curve 151 (Line)
Info : [ 50%] Meshing curve 152 (Line)
Info : [ 50%] Meshing curve 153 (Line)
Info : [ 50%] Meshing curve 154 (Line)
Info : [ 60%] Meshing curve 155 (Line)
Info : [ 60%] Meshing curve 156 (Line)
Info : [ 60%] Meshing curve 157 (Line)
Info : [ 60%] Meshing curve 158 (Line)
Info : [ 60%] Meshing curve 159 (Line)
Info : [ 60%] Meshing curve 160 (Line)
Info : [ 60%] Meshing curve 161 (Line)
Info : [ 60%] Meshing curve 162 (Line)
Info : [ 60%] Meshing curve 163 (Line)
Info : [ 60%] Meshing curve 164 (Line)
Info : [ 60%] Meshing curve 401 (Circle)
Info : [ 70%] Meshing curve 402 (Circle)
Info : [ 70%] Meshing curve 403 (Circle)
Info : [ 70%] Meshing curve 404 (Circle)
Info : [ 70%] Meshing curve 411 (Circle)
Info : [ 70%] Meshing curve 412 (Circle)
Info : [ 70%] Meshing curve 413 (Circle)
Info : [ 70%] Meshing curve 414 (Circle)
Info : [ 70%] Meshing curve 421 (Circle)
Info : [ 70%] Meshing curve 422 (Circle)
Info : [ 70%] Meshing curve 423 (Circle)
Info : [ 70%] Meshing curve 424 (Circle)
Info : [ 80%] Meshing curve 431 (Circle)
Info : [ 80%] Meshing curve 432 (Circle)
Info : [ 80%] Meshing curve 433 (Circle)
Info : [ 80%] Meshing curve 434 (Circle)
Info : [ 80%] Meshing curve 501 (Line)
Info : [ 80%] Meshing curve 502 (Line)
Info : [ 80%] Meshing curve 503 (Line)
Info : [ 80%] Meshing curve 504 (Line)
Info : [ 80%] Meshing curve 505 (Line)
Info : [ 80%] Meshing curve 506 (Line)
Info : [ 80%] Meshing curve 507 (Line)
Info : [ 90%] Meshing curve 508 (Line)
Info : [ 90%] Meshing curve 509 (Line)
Info : [ 90%] Meshing curve 510 (Line)
Info : [ 90%] Meshing curve 511 (Line)
Info : [ 90%] Meshing curve 512 (Line)
Info : [ 90%] Meshing curve 513 (Line)
Info : [ 90%] Meshing curve 514 (Line)
Info : [ 90%] Meshing curve 515 (Line)
Info : [ 90%] Meshing curve 516 (Line)
Info : [ 90%] Meshing curve 517 (Line)
Info : [ 90%] Meshing curve 518 (Line)
Info : [100%] Meshing curve 519 (Line)
Info : [100%] Meshing curve 520 (Line)
Info : [100%] Meshing curve 521 (Line)
Info : [100%] Meshing curve 522 (Line)
Info : [100%] Meshing curve 523 (Line)
Info : [100%] Meshing curve 524 (Line)
Info : [100%] Meshing curve 525 (Line)
Info : [100%] Meshing curve 526 (Line)
Info : [100%] Meshing curve 5040 (Line)
Info : [100%] Meshing curve 5120 (Line)
Info : Done meshing 1D (Wall 0.0330253s, CPU 0.034356s)
Info : Meshing 2D...
Info : [ 0%] Meshing surface 701 (Plane, Frontal-Delaunay for Quads)
Info : [ 0%] Blossom: 51 internal 52 closed
Info : [ 0%] Blossom recombination completed (Wall 0.000133974s, CPU 0.000147s): 26 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 1, min Q = 1
Info : [ 10%] Meshing surface 702 (Plane, Frontal-Delaunay for Quads)
Info : [ 10%] Blossom: 79 internal 80 closed
Info : [ 10%] Blossom recombination completed (Wall 0.000195026s, CPU 0.000214s): 40 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 1, min Q = 1
Info : [ 20%] Meshing surface 703 (Plane, Frontal-Delaunay for Quads)
Info : [ 20%] Blossom: 129 internal 130 closed
Info : [ 20%] Blossom recombination completed (Wall 0.00032883s, CPU 0.000347s): 65 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 1, min Q = 1
Info : [ 20%] Meshing surface 704 (Plane, Frontal-Delaunay for Quads)
Info : [ 20%] Blossom recombination completed (Wall 0.00892712s, CPU 0.009184s): 639 quads, 133 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 0.843335, min Q = 0.363603
Info : [ 30%] Meshing surface 705 (Plane, Frontal-Delaunay for Quads)
Info : [ 30%] Blossom recombination completed (Wall 0.0070022s, CPU 0.007033s): 665 quads, 125 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 0.844908, min Q = 0.460748
Info : [ 30%] Meshing surface 706 (Plane, Frontal-Delaunay for Quads)
Info : [ 30%] Blossom: 49 internal 50 closed
Info : [ 30%] Blossom recombination completed (Wall 0.000179265s, CPU 0.000198s): 25 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 1, min Q = 1
Info : [ 40%] Meshing surface 707 (Plane, Frontal-Delaunay for Quads)
Info : [ 40%] Blossom: 49 internal 50 closed
Info : [ 40%] Blossom recombination completed (Wall 0.000175505s, CPU 0.00019s): 25 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 1, min Q = 1
Info : [ 40%] Meshing surface 708 (Plane, Frontal-Delaunay for Quads)
Info : [ 40%] Blossom: 1190 internal 132 closed
Info : [ 40%] Blossom recombination completed (Wall 0.00959746s, CPU 0.009605s): 416 quads, 0 triangles, 0 invalid quads, 1 quads with Q < 0.1, avg Q = 0.744994, min Q = 0.0703248
Info : [ 50%] Meshing surface 709 (Plane, Frontal-Delaunay for Quads)
Info : [ 50%] Blossom: 1130 internal 132 closed
Info : [ 50%] Blossom recombination completed (Wall 0.00915409s, CPU 0.009164s): 395 quads, 0 triangles, 0 invalid quads, 3 quads with Q < 0.1, avg Q = 0.762586, min Q = 0.0293523
Info : [ 60%] Meshing surface 710 (Plane, Frontal-Delaunay for Quads)
Info : [ 60%] Blossom: 7 internal 8 closed
Info : [ 60%] Blossom recombination completed (Wall 0.000124874s, CPU 0.000136s): 4 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 1, min Q = 1
Info : [ 60%] Meshing surface 711 (Plane, Frontal-Delaunay for Quads)
Info : [ 60%] Blossom: 7 internal 8 closed
Info : [ 60%] Blossom recombination completed (Wall 0.000114614s, CPU 0.000129s): 4 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 1, min Q = 1
Info : [ 70%] Meshing surface 712 (Plane, Frontal-Delaunay for Quads)
Info : [ 70%] Blossom: 197 internal 103 closed
Info : [ 70%] Blossom recombination completed (Wall 0.00126386s, CPU 0.001276s): 80 quads, 6 triangles, 0 invalid quads, 6 quads with Q < 0.1, avg Q = 0.564073, min Q = 0.0244822
Info : [ 70%] Meshing surface 713 (Plane, Frontal-Delaunay for Quads)
Info : [ 70%] Blossom: 191 internal 102 closed
Info : [ 70%] Blossom recombination completed (Wall 0.00124319s, CPU 0.001256s): 75 quads, 12 triangles, 0 invalid quads, 8 quads with Q < 0.1, avg Q = 0.52015, min Q = 0.0178184
Info : [ 80%] Meshing surface 714 (Plane, Frontal-Delaunay for Quads)
Info : [ 80%] Blossom: 5 internal 6 closed
Info : [ 80%] Blossom recombination completed (Wall 0.000120574s, CPU 0.000148s): 3 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 1, min Q = 1
Info : [ 80%] Meshing surface 715 (Plane, Frontal-Delaunay for Quads)
Info : [ 80%] Blossom: 5 internal 6 closed
Info : [ 80%] Blossom recombination completed (Wall 0.000118454s, CPU 0.000133s): 3 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 1, min Q = 1
Info : [ 90%] Meshing surface 716 (Plane, Frontal-Delaunay for Quads)
Info : [ 90%] Blossom: 67 internal 68 closed
Info : [ 90%] Blossom recombination completed (Wall 0.00030481s, CPU 0.000336s): 18 quads, 32 triangles, 0 invalid quads, 4 quads with Q < 0.1, avg Q = 0.275269, min Q = 0.0598336
Info : [ 90%] Meshing surface 717 (Plane, Frontal-Delaunay for Quads)
Info : [ 90%] Blossom: 67 internal 68 closed
Info : [ 90%] Blossom recombination completed (Wall 0.00030405s, CPU 0.00033s): 18 quads, 32 triangles, 0 invalid quads, 4 quads with Q < 0.1, avg Q = 0.275269, min Q = 0.0598336
Info : [100%] Meshing surface 718 (Plane, Frontal-Delaunay for Quads)
Info : [100%] Blossom: 130 internal 130 closed
Info : [100%] Blossom recombination completed (Wall 0.000520816s, CPU 0.000543s): 50 quads, 30 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 0.144988, min Q = 0.125
Info : Done meshing 2D (Wall 0.0971681s, CPU 0.098158s)
Info : 2786 nodes 3806 elements
Info : Writing '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/GreatCell.msh'...
Info : Done writing '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/GreatCell.msh'
Warning : Cannot apply Blossom: odd number of triangles (1413) in surface 704
Warning : Cannot apply Blossom: odd number of triangles (1455) in surface 705
Warning : ------------------------------
Warning : Mesh generation error summary
Warning : 2 warnings
Warning : 0 errors
Warning : Check the full log for details
Warning : ------------------------------
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/domain.vtu (100 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_p_right.vtu (1 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_p_top.vtu (1 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_p_left.vtu (1 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_p_bottom.vtu (1 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE1.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE2.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE3.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE4.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE5.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE6.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE7.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE8.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE1a.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE2a.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE3a.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE4a.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE5a.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE6a.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE7a.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE8a.vtu (4 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS1.vtu (2 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS2.vtu (2 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS3.vtu (2 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS4.vtu (2 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS5.vtu (2 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS6.vtu (2 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS7.vtu (2 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS8.vtu (2 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS1a.vtu (2 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS2a.vtu (2 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS3a.vtu (2 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS4a.vtu (2 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS5a.vtu (2 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS6a.vtu (2 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS7a.vtu (2 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS8a.vtu (2 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_Inlet.vtu (1 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_Outlet_R_embeddedFracture.vtu (1 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_Outlet_R_fullFracture.vtu (1 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_Outlet_L_fullFracture.vtu (1 cells)
msh_path_VPF = mesh_path_VPF / f"{meshname}.msh"
…
(click to toggle)
msh_path_VPF = mesh_path_VPF / f"{meshname}.msh"
meshes_volume_VPF = ot.meshes_from_gmsh(
filename=msh_path_VPF, dim=[0, 1], reindex=True, log=False
)
for name, mesh in meshes_volume_VPF.items():
print(f"{name}: {mesh.n_cells} cells")
pv.save_meshio(mesh_path_VPF / f"{name}.vtu", mesh)
domain: 104 cells
physical_group_p_right: 1 cells
physical_group_p_top: 1 cells
physical_group_p_left: 1 cells
physical_group_p_bottom: 1 cells
physical_group_PEE1: 4 cells
physical_group_PEE2: 4 cells
physical_group_PEE3: 4 cells
physical_group_PEE4: 4 cells
physical_group_PEE5: 4 cells
physical_group_PEE6: 4 cells
physical_group_PEE7: 4 cells
physical_group_PEE8: 4 cells
physical_group_PEE1a: 4 cells
physical_group_PEE2a: 4 cells
physical_group_PEE3a: 4 cells
physical_group_PEE4a: 4 cells
physical_group_PEE5a: 4 cells
physical_group_PEE6a: 4 cells
physical_group_PEE7a: 4 cells
physical_group_PEE8a: 4 cells
physical_group_DSS1: 2 cells
physical_group_DSS2: 2 cells
physical_group_DSS3: 2 cells
physical_group_DSS4: 2 cells
physical_group_DSS5: 2 cells
physical_group_DSS6: 2 cells
physical_group_DSS7: 2 cells
physical_group_DSS8: 2 cells
physical_group_DSS1a: 2 cells
physical_group_DSS2a: 2 cells
physical_group_DSS3a: 2 cells
physical_group_DSS4a: 2 cells
physical_group_DSS5a: 2 cells
physical_group_DSS6a: 2 cells
physical_group_DSS7a: 2 cells
physical_group_DSS8a: 2 cells
physical_group_Inlet: 1 cells
physical_group_Outlet_R_embeddedFracture: 1 cells
physical_group_Outlet_R_fullFracture: 1 cells
physical_group_Outlet_L_fullFracture: 1 cells
plotter = pv.Plotter()
…
(click to toggle)
plotter = pv.Plotter()
for name, mesh in meshes_volume_VPF.items():
if mesh.active_scalars is not None:
plotter.add_mesh(
mesh,
scalars=mesh.active_scalars_name,
cmap="tab20",
show_edges=False,
opacity=0.7,
)
else:
plotter.add_mesh(mesh, show_edges=False, opacity=0.7, label=name)
clean_name = name.replace("physical_group_", "")
center = mesh.center
direction = np.array(center) - np.array([0, 0, 0])
direction[:2] = direction[:2] / (np.linalg.norm(direction[:2]) + 1e-8)
offset = center + 0.025 * direction
plotter.add_point_labels(
[offset], [clean_name], font_size=12, point_size=0, text_color="black"
)
plotter.view_xy()
plotter.enable_parallel_projection()
plotter.show()
msh_file_VPF = mesh_GreatCell_VPF(
…
(click to toggle)
msh_file_VPF = mesh_GreatCell_VPF(
lc2=h,
lc=20 * h,
r0=0.097,
r1=0.094,
r2=0.090,
r3=0.065,
out_dir=mesh_path_VPF,
meshname=meshname,
mode="domain",
)
Info : Meshing 1D...
Info : [ 0%] Meshing curve 101 (Line)
Info : [ 10%] Meshing curve 102 (Line)
Info : [ 10%] Meshing curve 103 (Line)
Info : [ 10%] Meshing curve 104 (Line)
Info : [ 10%] Meshing curve 105 (Line)
Info : [ 10%] Meshing curve 106 (Line)
Info : [ 10%] Meshing curve 107 (Line)
Info : [ 10%] Meshing curve 108 (Line)
Info : [ 10%] Meshing curve 109 (Line)
Info : [ 10%] Meshing curve 110 (Line)
Info : [ 10%] Meshing curve 111 (Line)
Info : [ 20%] Meshing curve 112 (Line)
Info : [ 20%] Meshing curve 113 (Line)
Info : [ 20%] Meshing curve 114 (Line)
Info : [ 20%] Meshing curve 115 (Line)
Info : [ 20%] Meshing curve 116 (Line)
Info : [ 20%] Meshing curve 117 (Line)
Info : [ 20%] Meshing curve 118 (Line)
Info : [ 20%] Meshing curve 119 (Line)
Info : [ 20%] Meshing curve 120 (Line)
Info : [ 20%] Meshing curve 121 (Line)
Info : [ 20%] Meshing curve 122 (Line)
Info : [ 30%] Meshing curve 123 (Line)
Info : [ 30%] Meshing curve 124 (Line)
Info : [ 30%] Meshing curve 125 (Line)
Info : [ 30%] Meshing curve 126 (Line)
Info : [ 30%] Meshing curve 127 (Line)
Info : [ 30%] Meshing curve 128 (Line)
Info : [ 30%] Meshing curve 129 (Line)
Info : [ 30%] Meshing curve 130 (Line)
Info : [ 30%] Meshing curve 131 (Line)
Info : [ 30%] Meshing curve 132 (Line)
Info : [ 30%] Meshing curve 133 (Line)
Info : [ 40%] Meshing curve 134 (Line)
Info : [ 40%] Meshing curve 135 (Line)
Info : [ 40%] Meshing curve 136 (Line)
Info : [ 40%] Meshing curve 137 (Line)
Info : [ 40%] Meshing curve 138 (Line)
Info : [ 40%] Meshing curve 139 (Line)
Info : [ 40%] Meshing curve 140 (Line)
Info : [ 40%] Meshing curve 141 (Line)
Info : [ 40%] Meshing curve 142 (Line)
Info : [ 40%] Meshing curve 143 (Line)
Info : [ 40%] Meshing curve 144 (Line)
Info : [ 50%] Meshing curve 145 (Line)
Info : [ 50%] Meshing curve 146 (Line)
Info : [ 50%] Meshing curve 147 (Line)
Info : [ 50%] Meshing curve 148 (Line)
Info : [ 50%] Meshing curve 149 (Line)
Info : [ 50%] Meshing curve 150 (Line)
Info : [ 50%] Meshing curve 151 (Line)
Info : [ 50%] Meshing curve 152 (Line)
Info : [ 50%] Meshing curve 153 (Line)
Info : [ 50%] Meshing curve 154 (Line)
Info : [ 60%] Meshing curve 155 (Line)
Info : [ 60%] Meshing curve 156 (Line)
Info : [ 60%] Meshing curve 157 (Line)
Info : [ 60%] Meshing curve 158 (Line)
Info : [ 60%] Meshing curve 159 (Line)
Info : [ 60%] Meshing curve 160 (Line)
Info : [ 60%] Meshing curve 161 (Line)
Info : [ 60%] Meshing curve 162 (Line)
Info : [ 60%] Meshing curve 163 (Line)
Info : [ 60%] Meshing curve 164 (Line)
Info : [ 60%] Meshing curve 401 (Circle)
Info : [ 70%] Meshing curve 402 (Circle)
Info : [ 70%] Meshing curve 403 (Circle)
Info : [ 70%] Meshing curve 404 (Circle)
Info : [ 70%] Meshing curve 411 (Circle)
Info : [ 70%] Meshing curve 412 (Circle)
Info : [ 70%] Meshing curve 413 (Circle)
Info : [ 70%] Meshing curve 414 (Circle)
Info : [ 70%] Meshing curve 421 (Circle)
Info : [ 70%] Meshing curve 422 (Circle)
Info : [ 70%] Meshing curve 423 (Circle)
Info : [ 70%] Meshing curve 424 (Circle)
Info : [ 80%] Meshing curve 431 (Circle)
Info : [ 80%] Meshing curve 432 (Circle)
Info : [ 80%] Meshing curve 433 (Circle)
Info : [ 80%] Meshing curve 434 (Circle)
Info : [ 80%] Meshing curve 501 (Line)
Info : [ 80%] Meshing curve 502 (Line)
Info : [ 80%] Meshing curve 503 (Line)
Info : [ 80%] Meshing curve 504 (Line)
Info : [ 80%] Meshing curve 505 (Line)
Info : [ 80%] Meshing curve 506 (Line)
Info : [ 80%] Meshing curve 507 (Line)
Info : [ 90%] Meshing curve 508 (Line)
Info : [ 90%] Meshing curve 509 (Line)
Info : [ 90%] Meshing curve 510 (Line)
Info : [ 90%] Meshing curve 511 (Line)
Info : [ 90%] Meshing curve 512 (Line)
Info : [ 90%] Meshing curve 513 (Line)
Info : [ 90%] Meshing curve 514 (Line)
Info : [ 90%] Meshing curve 515 (Line)
Info : [ 90%] Meshing curve 516 (Line)
Info : [ 90%] Meshing curve 517 (Line)
Info : [ 90%] Meshing curve 518 (Line)
Info : [100%] Meshing curve 519 (Line)
Info : [100%] Meshing curve 520 (Line)
Info : [100%] Meshing curve 521 (Line)
Info : [100%] Meshing curve 522 (Line)
Info : [100%] Meshing curve 523 (Line)
Info : [100%] Meshing curve 524 (Line)
Info : [100%] Meshing curve 525 (Line)
Info : [100%] Meshing curve 526 (Line)
Info : [100%] Meshing curve 5040 (Line)
Info : [100%] Meshing curve 5120 (Line)
Info : Done meshing 1D (Wall 0.0329821s, CPU 0.033925s)
Info : Meshing 2D...
Info : [ 0%] Meshing surface 701 (Plane, Frontal-Delaunay for Quads)
Info : [ 0%] Blossom: 51 internal 52 closed
Info : [ 0%] Blossom recombination completed (Wall 0.000127784s, CPU 0.000133s): 26 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 1, min Q = 1
Info : [ 10%] Meshing surface 702 (Plane, Frontal-Delaunay for Quads)
Info : [ 10%] Blossom: 79 internal 80 closed
Info : [ 10%] Blossom recombination completed (Wall 0.000187805s, CPU 0.000205s): 40 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 1, min Q = 1
Info : [ 20%] Meshing surface 703 (Plane, Frontal-Delaunay for Quads)
Info : [ 20%] Blossom: 129 internal 130 closed
Info : [ 20%] Blossom recombination completed (Wall 0.00029952s, CPU 0.000312s): 65 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 1, min Q = 1
Info : [ 20%] Meshing surface 704 (Plane, Frontal-Delaunay for Quads)
Info : [ 20%] Blossom recombination completed (Wall 0.00886099s, CPU 0.008908s): 639 quads, 133 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 0.843335, min Q = 0.363603
Info : [ 30%] Meshing surface 705 (Plane, Frontal-Delaunay for Quads)
Info : [ 30%] Blossom recombination completed (Wall 0.00699508s, CPU 0.006974s): 665 quads, 125 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 0.844908, min Q = 0.460748
Info : [ 30%] Meshing surface 706 (Plane, Frontal-Delaunay for Quads)
Info : [ 30%] Blossom: 49 internal 50 closed
Info : [ 30%] Blossom recombination completed (Wall 0.000176695s, CPU 0.000186s): 25 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 1, min Q = 1
Info : [ 40%] Meshing surface 707 (Plane, Frontal-Delaunay for Quads)
Info : [ 40%] Blossom: 49 internal 50 closed
Info : [ 40%] Blossom recombination completed (Wall 0.000172456s, CPU 0.000186s): 25 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 1, min Q = 1
Info : [ 40%] Meshing surface 708 (Plane, Frontal-Delaunay for Quads)
Info : [ 40%] Blossom: 1190 internal 132 closed
Info : [ 40%] Blossom recombination completed (Wall 0.00946812s, CPU 0.009465s): 416 quads, 0 triangles, 0 invalid quads, 1 quads with Q < 0.1, avg Q = 0.744994, min Q = 0.0703248
Info : [ 50%] Meshing surface 709 (Plane, Frontal-Delaunay for Quads)
Info : [ 50%] Blossom: 1130 internal 132 closed
Info : [ 50%] Blossom recombination completed (Wall 0.00912528s, CPU 0.009128s): 395 quads, 0 triangles, 0 invalid quads, 3 quads with Q < 0.1, avg Q = 0.762586, min Q = 0.0293523
Info : [ 60%] Meshing surface 710 (Plane, Frontal-Delaunay for Quads)
Info : [ 60%] Blossom: 7 internal 8 closed
Info : [ 60%] Blossom recombination completed (Wall 0.000114824s, CPU 0.000128s): 4 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 1, min Q = 1
Info : [ 60%] Meshing surface 711 (Plane, Frontal-Delaunay for Quads)
Info : [ 60%] Blossom: 7 internal 8 closed
Info : [ 60%] Blossom recombination completed (Wall 0.000112674s, CPU 0.000124s): 4 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 1, min Q = 1
Info : [ 70%] Meshing surface 712 (Plane, Frontal-Delaunay for Quads)
Info : [ 70%] Blossom: 197 internal 103 closed
Info : [ 70%] Blossom recombination completed (Wall 0.00124664s, CPU 0.001261s): 80 quads, 6 triangles, 0 invalid quads, 6 quads with Q < 0.1, avg Q = 0.564073, min Q = 0.0244822
Info : [ 70%] Meshing surface 713 (Plane, Frontal-Delaunay for Quads)
Info : [ 70%] Blossom: 191 internal 102 closed
Info : [ 70%] Blossom recombination completed (Wall 0.00121348s, CPU 0.001228s): 75 quads, 12 triangles, 0 invalid quads, 8 quads with Q < 0.1, avg Q = 0.52015, min Q = 0.0178184
Info : [ 80%] Meshing surface 714 (Plane, Frontal-Delaunay for Quads)
Info : [ 80%] Blossom: 5 internal 6 closed
Info : [ 80%] Blossom recombination completed (Wall 0.000117934s, CPU 0.00013s): 3 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 1, min Q = 1
Info : [ 80%] Meshing surface 715 (Plane, Frontal-Delaunay for Quads)
Info : [ 80%] Blossom: 5 internal 6 closed
Info : [ 80%] Blossom recombination completed (Wall 0.000115674s, CPU 0.000128s): 3 quads, 0 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 1, min Q = 1
Info : [ 90%] Meshing surface 716 (Plane, Frontal-Delaunay for Quads)
Info : [ 90%] Blossom: 67 internal 68 closed
Info : [ 90%] Blossom recombination completed (Wall 0.00030623s, CPU 0.000314s): 18 quads, 32 triangles, 0 invalid quads, 4 quads with Q < 0.1, avg Q = 0.275269, min Q = 0.0598336
Info : [ 90%] Meshing surface 717 (Plane, Frontal-Delaunay for Quads)
Info : [ 90%] Blossom: 67 internal 68 closed
Info : [ 90%] Blossom recombination completed (Wall 0.00030141s, CPU 0.000315s): 18 quads, 32 triangles, 0 invalid quads, 4 quads with Q < 0.1, avg Q = 0.275269, min Q = 0.0598336
Info : [100%] Meshing surface 718 (Plane, Frontal-Delaunay for Quads)
Info : [100%] Blossom: 130 internal 130 closed
Info : [100%] Blossom recombination completed (Wall 0.000521047s, CPU 0.000541s): 50 quads, 30 triangles, 0 invalid quads, 0 quads with Q < 0.1, avg Q = 0.144988, min Q = 0.125
Info : Done meshing 2D (Wall 0.0953697s, CPU 0.095933s)
Info : 2786 nodes 3806 elements
Info : Writing '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/GreatCell.msh'...
Info : Done writing '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/GreatCell.msh'
Warning : Cannot apply Blossom: odd number of triangles (1413) in surface 704
Warning : Cannot apply Blossom: odd number of triangles (1455) in surface 705
Warning : ------------------------------
Warning : Mesh generation error summary
Warning : 2 warnings
Warning : 0 errors
Warning : Check the full log for details
Warning : ------------------------------
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/domain.vtu (2921 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_Central_sample.vtu (2841 cells)
Saved: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_Rubber_sheath.vtu (80 cells)
msh_path_VPF = mesh_path_VPF / f"{meshname}.msh"
…
(click to toggle)
msh_path_VPF = mesh_path_VPF / f"{meshname}.msh"
meshes_volume_VPF = ot.meshes_from_gmsh(
filename=msh_path_VPF, dim=[2], reindex=True, log=False
)
for name, mesh in meshes_volume_VPF.items():
print(f"{name}: {mesh.n_cells} cells")
pv.save_meshio(mesh_path_VPF / f"{name}.vtu", mesh)
domain: 2921 cells
physical_group_Central_sample: 2841 cells
physical_group_Rubber_sheath: 80 cells
plotter = pv.Plotter()
…
(click to toggle)
plotter = pv.Plotter()
for name, mesh in meshes_volume_VPF.items():
if mesh.active_scalars is not None:
plotter.add_mesh(
mesh,
scalars=mesh.active_scalars_name,
cmap="Set1",
show_edges=False,
opacity=0.7,
)
else:
plotter.add_mesh(mesh, show_edges=False, opacity=0.7, label=name)
clean_name = name.replace("physical_group_", "")
center = mesh.center
direction = np.array(center) - np.array([0, 0, 0])
direction[:2] = direction[:2] / (np.linalg.norm(direction[:2]) + 1e-8)
offset = center + 0.025 * direction
plotter.add_point_labels(
[offset], [clean_name], font_size=12, point_size=0, text_color="black"
)
plotter.view_xy()
plotter.enable_parallel_projection()
plotter.show()
mesh_dir = Path(mesh_path_VPF).resolve()
…
(click to toggle)
mesh_dir = Path(mesh_path_VPF).resolve()
run(
[
"NodeReordering",
"-i",
str(mesh_dir.joinpath("domain.vtu")),
"-o",
str(mesh_dir.joinpath("domain.vtu")),
],
cwd=mesh_dir,
check=True,
)
physical_groups = [
"physical_group_DSS1.vtu",
"physical_group_DSS1a.vtu",
"physical_group_DSS2.vtu",
"physical_group_DSS2a.vtu",
"physical_group_DSS3.vtu",
"physical_group_DSS3a.vtu",
"physical_group_DSS4.vtu",
"physical_group_DSS4a.vtu",
"physical_group_DSS5.vtu",
"physical_group_DSS5a.vtu",
"physical_group_DSS6.vtu",
"physical_group_DSS6a.vtu",
"physical_group_DSS7.vtu",
"physical_group_DSS7a.vtu",
"physical_group_DSS8.vtu",
"physical_group_DSS8a.vtu",
"physical_group_PEE1.vtu",
"physical_group_PEE1a.vtu",
"physical_group_PEE2.vtu",
"physical_group_PEE2a.vtu",
"physical_group_PEE3.vtu",
"physical_group_PEE3a.vtu",
"physical_group_PEE4.vtu",
"physical_group_PEE4a.vtu",
"physical_group_PEE5.vtu",
"physical_group_PEE5a.vtu",
"physical_group_PEE6.vtu",
"physical_group_PEE6a.vtu",
"physical_group_PEE7.vtu",
"physical_group_PEE7a.vtu",
"physical_group_PEE8.vtu",
"physical_group_PEE8a.vtu",
"physical_group_p_bottom.vtu",
"physical_group_p_left.vtu",
"physical_group_p_right.vtu",
"physical_group_p_top.vtu",
"physical_group_Inlet.vtu",
"physical_group_Outlet_R_embeddedFracture.vtu",
"physical_group_Outlet_R_fullFracture.vtu",
"physical_group_Outlet_L_fullFracture.vtu",
]
group_paths = [str(mesh_dir.joinpath(name)) for name in physical_groups]
run(
[
"identifySubdomains",
"-f",
"-m",
str(mesh_dir.joinpath("domain.vtu")),
"--",
*group_paths,
],
cwd=mesh_dir,
check=True,
)
[2025-09-09 17:46:53.049] [ogs] [info] Reordering nodes...
[2025-09-09 17:46:53.049] [ogs] [info] Corrected 1469 elements.
[2025-09-09 17:46:53.053] [ogs] [info] VTU file written.
[2025-09-09 17:46:54.349] [ogs] [info] Mesh reading time: 0.0101921 s
[2025-09-09 17:46:54.349] [ogs] [info] MeshNodeSearcher construction time: 0.000124454 s
[2025-09-09 17:46:54.349] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 9.82e-06 s
[2025-09-09 17:46:54.349] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS1' and it is equal to the newly computed values.
[2025-09-09 17:46:54.350] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000241547 s
[2025-09-09 17:46:54.350] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 6.9e-07 s
[2025-09-09 17:46:54.350] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS1a' and it is equal to the newly computed values.
[2025-09-09 17:46:54.350] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000128174 s
[2025-09-09 17:46:54.350] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 5.4e-07 s
[2025-09-09 17:46:54.350] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS2' and it is equal to the newly computed values.
[2025-09-09 17:46:54.350] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000125034 s
[2025-09-09 17:46:54.350] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 5.5e-07 s
[2025-09-09 17:46:54.350] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS2a' and it is equal to the newly computed values.
[2025-09-09 17:46:54.350] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000122904 s
[2025-09-09 17:46:54.350] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 4.6e-07 s
[2025-09-09 17:46:54.350] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS3' and it is equal to the newly computed values.
[2025-09-09 17:46:54.350] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000123884 s
[2025-09-09 17:46:54.350] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 4.8e-07 s
[2025-09-09 17:46:54.350] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS3a' and it is equal to the newly computed values.
[2025-09-09 17:46:54.350] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000122614 s
[2025-09-09 17:46:54.350] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 4.3e-07 s
[2025-09-09 17:46:54.350] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS4' and it is equal to the newly computed values.
[2025-09-09 17:46:54.350] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000122104 s
[2025-09-09 17:46:54.350] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 4.6e-07 s
[2025-09-09 17:46:54.350] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS4a' and it is equal to the newly computed values.
[2025-09-09 17:46:54.351] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000128544 s
[2025-09-09 17:46:54.351] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 4.8e-07 s
[2025-09-09 17:46:54.351] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS5' and it is equal to the newly computed values.
[2025-09-09 17:46:54.351] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000119974 s
[2025-09-09 17:46:54.351] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 4.9e-07 s
[2025-09-09 17:46:54.351] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS5a' and it is equal to the newly computed values.
[2025-09-09 17:46:54.351] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000119964 s
[2025-09-09 17:46:54.351] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 4.4e-07 s
[2025-09-09 17:46:54.351] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS6' and it is equal to the newly computed values.
[2025-09-09 17:46:54.351] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000119274 s
[2025-09-09 17:46:54.351] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 4.5e-07 s
[2025-09-09 17:46:54.351] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS6a' and it is equal to the newly computed values.
[2025-09-09 17:46:54.351] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000121324 s
[2025-09-09 17:46:54.351] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 4.5e-07 s
[2025-09-09 17:46:54.351] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS7' and it is equal to the newly computed values.
[2025-09-09 17:46:54.351] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000122124 s
[2025-09-09 17:46:54.351] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 4.5e-07 s
[2025-09-09 17:46:54.351] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS7a' and it is equal to the newly computed values.
[2025-09-09 17:46:54.351] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000121604 s
[2025-09-09 17:46:54.351] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 4.3e-07 s
[2025-09-09 17:46:54.351] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS8' and it is equal to the newly computed values.
[2025-09-09 17:46:54.352] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000121944 s
[2025-09-09 17:46:54.352] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 4.9e-07 s
[2025-09-09 17:46:54.352] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_DSS8a' and it is equal to the newly computed values.
[2025-09-09 17:46:54.352] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000120584 s
[2025-09-09 17:46:54.352] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 8.2e-07 s
[2025-09-09 17:46:54.352] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE1' and it is not equal to the newly computed values.
[2025-09-09 17:46:54.352] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:46:54.352] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000122044 s
[2025-09-09 17:46:54.352] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 6.4e-07 s
[2025-09-09 17:46:54.352] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE1a' and it is not equal to the newly computed values.
[2025-09-09 17:46:54.352] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:46:54.352] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000121274 s
[2025-09-09 17:46:54.352] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 7e-07 s
[2025-09-09 17:46:54.352] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE2' and it is not equal to the newly computed values.
[2025-09-09 17:46:54.352] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:46:54.352] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000122254 s
[2025-09-09 17:46:54.352] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 6.6e-07 s
[2025-09-09 17:46:54.352] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE2a' and it is not equal to the newly computed values.
[2025-09-09 17:46:54.352] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:46:54.352] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000122084 s
[2025-09-09 17:46:54.352] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 6.5e-07 s
[2025-09-09 17:46:54.352] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE3' and it is not equal to the newly computed values.
[2025-09-09 17:46:54.352] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:46:54.352] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000121644 s
[2025-09-09 17:46:54.352] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 7.1e-07 s
[2025-09-09 17:46:54.352] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE3a' and it is not equal to the newly computed values.
[2025-09-09 17:46:54.352] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:46:54.352] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000120344 s
[2025-09-09 17:46:54.352] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 7e-07 s
[2025-09-09 17:46:54.352] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE4' and it is not equal to the newly computed values.
[2025-09-09 17:46:54.352] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:46:54.353] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000121534 s
[2025-09-09 17:46:54.353] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 6.8e-07 s
[2025-09-09 17:46:54.353] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE4a' and it is not equal to the newly computed values.
[2025-09-09 17:46:54.353] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:46:54.353] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000122343 s
[2025-09-09 17:46:54.353] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 6.71e-07 s
[2025-09-09 17:46:54.353] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE5' and it is not equal to the newly computed values.
[2025-09-09 17:46:54.353] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:46:54.353] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000122303 s
[2025-09-09 17:46:54.353] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 7.1e-07 s
[2025-09-09 17:46:54.353] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE5a' and it is not equal to the newly computed values.
[2025-09-09 17:46:54.353] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:46:54.353] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000121744 s
[2025-09-09 17:46:54.353] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 7.5e-07 s
[2025-09-09 17:46:54.353] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE6' and it is not equal to the newly computed values.
[2025-09-09 17:46:54.353] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:46:54.353] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000120134 s
[2025-09-09 17:46:54.353] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 6.8e-07 s
[2025-09-09 17:46:54.353] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE6a' and it is not equal to the newly computed values.
[2025-09-09 17:46:54.353] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:46:54.353] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000120704 s
[2025-09-09 17:46:54.353] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 6.5e-07 s
[2025-09-09 17:46:54.353] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE7' and it is not equal to the newly computed values.
[2025-09-09 17:46:54.353] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:46:54.353] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000121054 s
[2025-09-09 17:46:54.353] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 6.8e-07 s
[2025-09-09 17:46:54.353] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE7a' and it is not equal to the newly computed values.
[2025-09-09 17:46:54.353] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:46:54.353] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000120204 s
[2025-09-09 17:46:54.353] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 6.5e-07 s
[2025-09-09 17:46:54.353] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE8' and it is not equal to the newly computed values.
[2025-09-09 17:46:54.353] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:46:54.354] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000120744 s
[2025-09-09 17:46:54.354] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 6.7e-07 s
[2025-09-09 17:46:54.354] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_PEE8a' and it is not equal to the newly computed values.
[2025-09-09 17:46:54.354] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:46:54.354] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000122414 s
[2025-09-09 17:46:54.354] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 3.4e-07 s
[2025-09-09 17:46:54.354] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_p_bottom' and it is equal to the newly computed values.
[2025-09-09 17:46:54.354] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000120874 s
[2025-09-09 17:46:54.354] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 3e-07 s
[2025-09-09 17:46:54.354] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_p_left' and it is equal to the newly computed values.
[2025-09-09 17:46:54.354] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000162895 s
[2025-09-09 17:46:54.354] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 3.8e-07 s
[2025-09-09 17:46:54.354] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_p_right' and it is equal to the newly computed values.
[2025-09-09 17:46:54.354] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000122924 s
[2025-09-09 17:46:54.354] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 2.6e-07 s
[2025-09-09 17:46:54.354] [ogs] [info] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_p_top' and it is equal to the newly computed values.
[2025-09-09 17:46:54.354] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000122664 s
[2025-09-09 17:46:54.354] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 5e-07 s
[2025-09-09 17:46:54.354] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_Inlet' and it is not equal to the newly computed values.
[2025-09-09 17:46:54.354] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:46:54.354] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000122104 s
[2025-09-09 17:46:54.354] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 4.2e-07 s
[2025-09-09 17:46:54.354] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_Outlet_R_embeddedFracture' and it is not equal to the newly computed values.
[2025-09-09 17:46:54.354] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:46:54.354] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000122254 s
[2025-09-09 17:46:54.354] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 3.7e-07 s
[2025-09-09 17:46:54.354] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_Outlet_R_fullFracture' and it is not equal to the newly computed values.
[2025-09-09 17:46:54.354] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:46:54.355] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000122413 s
[2025-09-09 17:46:54.355] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshNodes took 4e-07 s
[2025-09-09 17:46:54.355] [ogs] [warning] There is already a 'bulk_node_ids' property present in the subdomain mesh 'physical_group_Outlet_L_fullFracture' and it is not equal to the newly computed values.
[2025-09-09 17:46:54.355] [ogs] [info] Overwriting 'bulk_node_ids' property.
[2025-09-09 17:46:54.355] [ogs] [info] identifySubdomainMesh(): identifySubdomainMeshElements took 0.000122504 s
[2025-09-09 17:46:54.355] [ogs] [info] identifySubdomains time: 0.00530108 s
[2025-09-09 17:46:54.401] [ogs] [info] writing time: 0.0466467 s
[2025-09-09 17:46:54.401] [ogs] [info] Entire run time: 1.25742 s
CompletedProcess(args=['identifySubdomains', '-f', '-m', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/domain.vtu', '--', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS1.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS1a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS2.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS2a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS3.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS3a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS4.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS4a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS5.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS5a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS6.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS6a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS7.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS7a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS8.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_DSS8a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE1.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE1a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE2.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE2a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE3.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE3a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE4.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE4a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE5.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE5a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE6.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE6a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE7.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE7a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE8.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_PEE8a.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_p_bottom.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_p_left.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_p_right.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_p_top.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_Inlet.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_Outlet_R_embeddedFracture.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_Outlet_R_fullFracture.vtu', '/var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF/physical_group_Outlet_L_fullFracture.vtu'], returncode=0)
In this section, all input data and boundary conditions provided in $\texttt{M}_{2b}$, except a single wing fracture, defined as $\Gamma = \left[0, 0.04\right] \times \{0\}$, is considered.
# Times for load curves
…
(click to toggle)
# Times for load curves
times = "0.0 1000. 3500"
simulation_end_time = 3500.0
n_fracture_p_ncs = 3
model_type = "M2b"
output_prefix = "M2b_VPF"
# Load
PEE_load_values = {
"A": [10.0e6, 6.64e6, 4.46e6, 1.17e6, 1.0e6, 3.82e6, 7.80e6, 9.95e6],
"B": [7.80e6, 9.95e6, 10.0e6, 6.64e6, 4.46e6, 1.17e6, 1.0e6, 3.82e6],
"C": [1.0e6, 3.82e6, 7.80e6, 9.95e6, 10.0e6, 6.64e6, 4.46e6, 1.17e6],
}
# Project file
prj_file = Path("M2_VPF.prj")
prj = ot.Project(input_file=prj_file, output_file=Path(out_dir, f"{output_prefix}.prj"))
…
(click to toggle)
sing_ogs_model = SingleOGSModel(
model=prj,
out_dir=out_dir,
mesh_path=mesh_path_VPF,
output_prefix=output_prefix,
method="VPF",
n_fracture_p_ncs=n_fracture_p_ncs,
model_type=model_type,
materials=materials,
)
vtu_files_dict_embedded = sing_ogs_model.run_simulations_with_fracture(
times=times,
base_project_file=prj_file,
mesh_path=mesh_path_VPF,
load_cases=PEE_load_values,
material_names=material_names,
materials=materials,
n_fracture_p_ncs=n_fracture_p_ncs,
model_type=model_type,
output_prefix=output_prefix,
out_dir=out_dir,
method="VPF",
crack_type="half",
fracture_model_type="VolumetricDeviatoric",
mesh_size=h,
)
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M2b_VPF.prj
Modifying mesh for VPF method at /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF with crack type: half and h1: 0.001
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M2b_VPF_A.prj
============================================================
Running simulation for load case: A with method: VPF, tension_cutoff: False
============================================================
------------------------------------------------------------
* Running the simulation for sample Gneiss:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Gneiss' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M2b_VPF_A.prj
Status: finished successfully.
Execution took 14.181573629379272 s
------------------------------------------------------------
* Running the simulation for sample Greywacke:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Greywacke' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M2b_VPF_A.prj
Status: finished successfully.
Execution took 14.37809705734253 s
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M2b_VPF_B.prj
============================================================
Running simulation for load case: B with method: VPF, tension_cutoff: False
============================================================
------------------------------------------------------------
* Running the simulation for sample Gneiss:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Gneiss' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M2b_VPF_B.prj
Status: finished successfully.
Execution took 14.032639980316162 s
------------------------------------------------------------
* Running the simulation for sample Greywacke:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Greywacke' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M2b_VPF_B.prj
Status: finished successfully.
Execution took 14.326173305511475 s
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M2b_VPF_C.prj
============================================================
Running simulation for load case: C with method: VPF, tension_cutoff: False
============================================================
------------------------------------------------------------
* Running the simulation for sample Gneiss:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Gneiss' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M2b_VPF_C.prj
Status: finished successfully.
Execution took 12.774659633636475 s
------------------------------------------------------------
* Running the simulation for sample Greywacke:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Greywacke' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M2b_VPF_C.prj
Status: finished successfully.
Execution took 12.956181526184082 s
plotter = Plotter(
…
(click to toggle)
plotter = Plotter(
output_dir=out_dir,
save_extracted_data=True,
)
data_dir = Path("external_data")
external_data = Plotter.load_external_data(data_dir, benchmark_tag="M2b")
plotter.plot_volumetric_strain_vs_angle(
vtu_files_dict_embedded,
model_type="M2b",
ylim_range=[-7.5, 2.5],
layout="single",
external_data=external_data["strain"],
)
plotter.plot_field_variables(vtu_files_dict_embedded)
Load: A, File 0, Benchmark: M2b, Material: Gneiss
Load: A, File 1, Benchmark: M2b, Material: Greywacke
Load: B, File 0, Benchmark: M2b, Material: Gneiss
Load: B, File 1, Benchmark: M2b, Material: Greywacke
Load: C, File 0, Benchmark: M2b, Material: Gneiss
Load: C, File 1, Benchmark: M2b, Material: Greywacke
In this benchmark, 2D plane strain numerical simulations are performed to establish a baseline model for assessing the impact of fracture orientation on strain distribution under poly-axial loading. A planar fracture within the specimen, $\Gamma = \left[-0.094, 0.094\right] \times \{0\}$, is considered, under poly-axial loading applied on PEE’s and DSS’s
# Times for load curves
…
(click to toggle)
# Times for load curves
times = "0.0 1000. 3500"
simulation_end_time = 3500.0
n_fracture_p_ncs = 3
model_type = "M2a"
output_prefix = "M2a_VPF"
# Load
PEE_load_values = {
"A": [10.0e6, 6.64e6, 4.46e6, 1.17e6, 1.0e6, 3.82e6, 7.80e6, 9.95e6],
"B": [7.80e6, 9.95e6, 10.0e6, 6.64e6, 4.46e6, 1.17e6, 1.0e6, 3.82e6],
"C": [1.0e6, 3.82e6, 7.80e6, 9.95e6, 10.0e6, 6.64e6, 4.46e6, 1.17e6],
}
# Project file
prj_file = Path("M2_VPF.prj")
prj = ot.Project(input_file=prj_file, output_file=Path(out_dir, f"{output_prefix}.prj"))
# Create SingleOGSModel
…
(click to toggle)
# Create SingleOGSModel
sing_ogs_model = SingleOGSModel(
model=prj,
out_dir=out_dir,
mesh_path=mesh_path_VPF,
output_prefix=output_prefix,
method="VPF",
n_fracture_p_ncs=n_fracture_p_ncs,
model_type=model_type,
materials=materials,
)
# Run simulations
vtu_files_dict_full = sing_ogs_model.run_simulations_with_fracture(
times=times,
base_project_file=prj_file,
mesh_path=mesh_path_VPF,
load_cases=PEE_load_values,
material_names=material_names,
materials=materials,
n_fracture_p_ncs=n_fracture_p_ncs,
model_type=model_type,
output_prefix=output_prefix,
out_dir=out_dir,
method="VPF",
crack_type="full",
fracture_model_type="VolumetricDeviatoric",
mesh_size=h,
)
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M2a_VPF.prj
Modifying mesh for VPF method at /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF with crack type: full and h1: 0.001
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M2a_VPF_A.prj
============================================================
Running simulation for load case: A with method: VPF, tension_cutoff: False
============================================================
------------------------------------------------------------
* Running the simulation for sample Gneiss:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Gneiss' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M2a_VPF_A.prj
Status: finished successfully.
Execution took 14.51908540725708 s
------------------------------------------------------------
* Running the simulation for sample Greywacke:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Greywacke' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M2a_VPF_A.prj
Status: finished successfully.
Execution took 21.122355461120605 s
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M2a_VPF_B.prj
============================================================
Running simulation for load case: B with method: VPF, tension_cutoff: False
============================================================
------------------------------------------------------------
* Running the simulation for sample Gneiss:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Gneiss' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M2a_VPF_B.prj
Status: finished successfully.
Execution took 21.554742097854614 s
------------------------------------------------------------
* Running the simulation for sample Greywacke:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Greywacke' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M2a_VPF_B.prj
Status: finished successfully.
Execution took 30.31407117843628 s
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M2a_VPF_C.prj
============================================================
Running simulation for load case: C with method: VPF, tension_cutoff: False
============================================================
------------------------------------------------------------
* Running the simulation for sample Gneiss:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Gneiss' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M2a_VPF_C.prj
Status: finished successfully.
Execution took 19.471956968307495 s
------------------------------------------------------------
* Running the simulation for sample Greywacke:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Greywacke' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/M2a_VPF_C.prj
Status: finished successfully.
Execution took 31.22877264022827 s
plotter = Plotter(
…
(click to toggle)
plotter = Plotter(
output_dir=out_dir,
save_extracted_data=True,
)
data_dir = Path("external_data")
external_data = Plotter.load_external_data(data_dir, benchmark_tag="M2a")
plotter.plot_volumetric_strain_vs_angle(
vtu_files_dict_full,
model_type="M2a",
ylim_range=[-7.5, 2.5],
layout="subplots",
external_data=external_data["strain"],
)
plotter.plot_field_variables(vtu_files_dict_full)
Load: A, File 0, Benchmark: M2a, Material: Gneiss
Load: A, File 1, Benchmark: M2a, Material: Greywacke
Load: B, File 0, Benchmark: M2a, Material: Gneiss
Load: B, File 1, Benchmark: M2a, Material: Greywacke
Load: C, File 0, Benchmark: M2a, Material: Gneiss
Load: C, File 1, Benchmark: M2a, Material: Greywacke
We use all inputs and BCs from $\texttt{M}_{2b}$ for a single wing fracture $\Gamma = [0,\,0.04]\times\{0\}.$ A Dirichlet BC of $p(0.04,0)=3.45\text{ MPa}$ is applied at the fracture’s right tip. After a 3000 s equilibration, fluid is injected at the left tip with $ Q_0^{\mathrm{v}}(0,0)=4.167\times10^{-7}\,\mathrm{m}^3/\mathrm{s}\;(25\text{ ml/min}).$
# Times for load curves
…
(click to toggle)
# Times for load curves
times = "0.0 1000. 3500"
simulation_end_time = 3500.0
n_fracture_p_ncs = 3
model_type = "HM2b"
output_prefix = "HM2b_VPF"
# Load
PEE_load_values = {
"A": [10.0e6, 6.64e6, 4.46e6, 1.17e6, 1.0e6, 3.82e6, 7.80e6, 9.95e6],
"E": [9.95e6, 10.0e6, 6.64e6, 4.46e6, 1.17e6, 1.0e6, 3.82e6, 7.80e6],
"B": [7.80e6, 9.95e6, 10.0e6, 6.64e6, 4.46e6, 1.17e6, 1.0e6, 3.82e6],
"F": [3.82e6, 7.80e6, 9.95e6, 10.0e6, 6.64e6, 4.46e6, 1.17e6, 1.0e6],
"C": [1.0e6, 3.82e6, 7.80e6, 9.95e6, 10.0e6, 6.64e6, 4.46e6, 1.17e6],
}
for p in materials.values():
p["fluid"][
"injectionFlowRate_Inlet"
] = 4.167e-7 # Injection flow rate m³/s (25 ml/min)
# Project file
prj_file = Path("HM2b_VPF.prj")
prj = ot.Project(input_file=prj_file, output_file=Path(out_dir, f"{output_prefix}.prj"))
sing_ogs_model = SingleOGSModel(
…
(click to toggle)
sing_ogs_model = SingleOGSModel(
model=prj,
out_dir=out_dir,
mesh_path=mesh_path_VPF,
output_prefix=output_prefix,
method="VPF",
n_fracture_p_ncs=n_fracture_p_ncs,
model_type=model_type,
materials=materials,
)
vtu_files_dict_embedded_HM = sing_ogs_model.run_simulations_with_fracture(
times=times,
base_project_file=prj_file,
mesh_path=mesh_path_VPF,
load_cases=PEE_load_values,
material_names=material_names,
materials=materials,
n_fracture_p_ncs=n_fracture_p_ncs,
model_type=model_type,
output_prefix=output_prefix,
out_dir=out_dir,
method="VPF",
crack_type="half",
fracture_model_type="Isotropic",
mesh_size=h,
)
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM2b_VPF.prj
Modifying mesh for VPF method at /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF with crack type: half and h1: 0.001
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM2b_VPF_A.prj
============================================================
Running simulation for load case: A with method: VPF, tension_cutoff: False
============================================================
------------------------------------------------------------
* Running the simulation for sample Gneiss:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Gneiss' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM2b_VPF_A.prj
Status: finished successfully.
Execution took 103.72456979751587 s
------------------------------------------------------------
* Running the simulation for sample Greywacke:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Greywacke' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM2b_VPF_A.prj
Status: finished successfully.
Execution took 89.34737706184387 s
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM2b_VPF_E.prj
============================================================
Running simulation for load case: E with method: VPF, tension_cutoff: False
============================================================
------------------------------------------------------------
* Running the simulation for sample Gneiss:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Gneiss' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM2b_VPF_E.prj
Status: finished successfully.
Execution took 54.674381732940674 s
------------------------------------------------------------
* Running the simulation for sample Greywacke:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Greywacke' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM2b_VPF_E.prj
Status: finished successfully.
Execution took 63.539177656173706 s
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM2b_VPF_B.prj
============================================================
Running simulation for load case: B with method: VPF, tension_cutoff: False
============================================================
------------------------------------------------------------
* Running the simulation for sample Gneiss:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Gneiss' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM2b_VPF_B.prj
Status: finished successfully.
Execution took 54.80440282821655 s
------------------------------------------------------------
* Running the simulation for sample Greywacke:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Greywacke' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM2b_VPF_B.prj
Status: finished successfully.
Execution took 66.92299914360046 s
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM2b_VPF_F.prj
============================================================
Running simulation for load case: F with method: VPF, tension_cutoff: False
============================================================
------------------------------------------------------------
* Running the simulation for sample Gneiss:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Gneiss' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM2b_VPF_F.prj
Status: finished successfully.
Execution took 54.30838322639465 s
------------------------------------------------------------
* Running the simulation for sample Greywacke:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Greywacke' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM2b_VPF_F.prj
Status: finished successfully.
Execution took 63.92383408546448 s
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM2b_VPF_C.prj
============================================================
Running simulation for load case: C with method: VPF, tension_cutoff: False
============================================================
------------------------------------------------------------
* Running the simulation for sample Gneiss:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Gneiss' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM2b_VPF_C.prj
Status: finished successfully.
Execution took 55.04608726501465 s
------------------------------------------------------------
* Running the simulation for sample Greywacke:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Greywacke' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM2b_VPF_C.prj
Status: finished successfully.
Execution took 64.21051526069641 s
plotter = Plotter(
…
(click to toggle)
plotter = Plotter(
output_dir=out_dir,
save_extracted_data=True,
)
data_dir = Path("external_data")
external_data = Plotter.load_external_data(data_dir, benchmark_tag="HM2b")
plotter.plot_volumetric_strain_vs_angle(
vtu_files_dict_embedded_HM,
model_type="HM2b",
ylim_range=[-7.5, 2.5],
layout="subplots",
external_data=external_data["strain"],
)
plotter.plot_field_variables(vtu_files_dict_embedded_HM)
Load: A, File 0, Benchmark: HM2b, Material: Gneiss
Load: A, File 1, Benchmark: HM2b, Material: Greywacke
Load: E, File 0, Benchmark: HM2b, Material: Gneiss
Load: E, File 1, Benchmark: HM2b, Material: Greywacke
Load: B, File 0, Benchmark: HM2b, Material: Gneiss
Load: B, File 1, Benchmark: HM2b, Material: Greywacke
Load: F, File 0, Benchmark: HM2b, Material: Gneiss
Load: F, File 1, Benchmark: HM2b, Material: Greywacke
Load: C, File 0, Benchmark: HM2b, Material: Gneiss
Load: C, File 1, Benchmark: HM2b, Material: Greywacke
plotter.material_names = ["Gneiss", "Greywacke"]
…
(click to toggle)
plotter.material_names = ["Gneiss", "Greywacke"]
plotter.vtu_file_names = {"VPF": vtu_files_dict_embedded_HM}
plotter.plot_avg_width_vs_stress(
benchmark_tag="HM2b",
metric="width",
methods_to_include=["VPF"],
pee_load_values=PEE_load_values,
external_data=external_data["average"],
ylim_range=(0, 10e-6),
)
plotter.plot_avg_width_vs_stress(
benchmark_tag="HM2b",
metric="permeability",
methods_to_include=["VPF"],
pee_load_values=PEE_load_values,
external_data=external_data["average"],
ylim_range=(0, 5e-12),
)
array([ 1000000. , 2318019.48466054, 5500000. ,
8681980.51533946, 10000000. ])
vpf_profiles = {}
…
(click to toggle)
vpf_profiles = {}
for load_case, file_list in plotter.vtu_file_names["VPF"].items():
vpf_profiles[load_case] = plotter.extract_vpf_width_from_list(
file_list,
plotter.material_names,
)
plotter.plot_fracture_aperture_profiles(
widthProfile=vpf_profiles,
benchmark_tag="HM2b",
downsample=1,
ylim=(0, 10e-6),
method_label="VPF",
external_data=external_data["widthProfile"],
)
We performed five hydro-mechanical (HMca) simulations with different angles between the second principal stress direction (σ₂ = 10 MPa) and the PEE 5 fracture plane $\Gamma = [-0.094,\,0.094]\times\{0\}.$ The initial pore pressure was uniform at $p_0 = 0.1$ MPa, with Dirichlet conditions $p(-0.094,0)=p(0.094,0)=3.45\text{ MPa}.$ After equilibrating for 3000 s, we injected fluid at the center at a rate $ Q_0^{\text{v}}(0,0)=4.167\times10^{-7}\,\mathrm{m}^3/\mathrm{s}\;(25\,\mathrm{ml/min})$ for 500 s, starting from an initial fracture aperture $w_{\text{ini}}=1\times10^{-6}$ m.
# Times for load curves
…
(click to toggle)
# Times for load curves
times = "0.0 1000. 3500"
simulation_end_time = 3500.0
n_fracture_p_ncs = 3
model_type = "HM2a"
output_prefix = "HM2a_VPF"
# Load
PEE_load_values = {
"A": [10.0e6, 6.64e6, 4.46e6, 1.17e6, 1.0e6, 3.82e6, 7.80e6, 9.95e6],
# "E": [9.95e6, 10.0e6, 6.64e6, 4.46e6, 1.17e6, 1.0e6, 3.82e6, 7.80e6],
# "B": [7.80e6, 9.95e6, 10.0e6, 6.64e6, 4.46e6, 1.17e6, 1.0e6, 3.82e6],
# "F": [3.82e6, 7.80e6, 9.95e6, 10.0e6, 6.64e6, 4.46e6, 1.17e6, 1.0e6],
# "C": [1.0e6, 3.82e6, 7.80e6, 9.95e6, 10.0e6, 6.64e6, 4.46e6, 1.17e6],
}
# To save time, we only run the first load case A.
# If you want to run all load cases, uncomment the lines above.
for p in materials.values():
p["fluid"][
"injectionFlowRate_Inlet"
] = 4.167e-7 # Injection flow rate m³/s (25 ml/min)
# Project file
prj_file = Path("HM2a_VPF.prj")
prj = ot.Project(input_file=prj_file, output_file=Path(out_dir, f"{output_prefix}.prj"))
sing_ogs_model = SingleOGSModel(
…
(click to toggle)
sing_ogs_model = SingleOGSModel(
model=prj,
out_dir=out_dir,
mesh_path=mesh_path_VPF,
output_prefix=output_prefix,
method="VPF",
n_fracture_p_ncs=n_fracture_p_ncs,
model_type=model_type,
materials=materials,
)
vtu_files_dict_full_HM = sing_ogs_model.run_simulations_with_fracture(
times=times,
base_project_file=prj_file,
mesh_path=mesh_path_VPF,
load_cases=PEE_load_values,
material_names=material_names,
materials=materials,
n_fracture_p_ncs=n_fracture_p_ncs,
model_type=model_type,
output_prefix=output_prefix,
out_dir=out_dir,
method="VPF",
crack_type="full",
fracture_model_type="Isotropic",
mesh_size=h,
)
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM2a_VPF.prj
Modifying mesh for VPF method at /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF with crack type: full and h1: 0.001
mesh path: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/mesh_GreatCell_VPF
[DEBUG] Current working directory: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/ogs/Tests/Data/HMPhaseField/GreatCell
[DEBUG] output project file: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM2a_VPF_A.prj
============================================================
Running simulation for load case: A with method: VPF, tension_cutoff: False
============================================================
------------------------------------------------------------
* Running the simulation for sample Gneiss:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Gneiss' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM2a_VPF_A.prj
Status: finished successfully.
Execution took 101.47705292701721 s
------------------------------------------------------------
* Running the simulation for sample Greywacke:
------------------------------------------------------------
DEBUG: Setting ls to 0.002 based on mesh size 0.001
ls 0.002
Material properties for 'Greywacke' (VPF) applied successfully.
Project file written to output.
Simulation: /var/lib/gitlab-runner/builds/vZ6vnZiU/1/ogs/build/release-petsc/Tests/Data/HMPhaseField/GreatCell/GreatCellHM_VPF/HM2a_VPF_A.prj
Status: finished successfully.
Execution took 120.86963653564453 s
plotter = Plotter(
…
(click to toggle)
plotter = Plotter(
output_dir=out_dir,
save_extracted_data=True,
)
data_dir = Path("external_data")
external_data = Plotter.load_external_data(data_dir, benchmark_tag="HM2a")
plotter.plot_volumetric_strain_vs_angle(
vtu_files_dict_full_HM,
model_type="HM2a",
ylim_range=[-7.5, 2.5],
layout="subplots",
external_data=external_data["strain"],
)
plotter.plot_field_variables(vtu_files_dict_full_HM)
Load: A, File 0, Benchmark: HM2a, Material: Gneiss
Load: A, File 1, Benchmark: HM2a, Material: Greywacke
plotter.material_names = ["Gneiss", "Greywacke"]
…
(click to toggle)
plotter.material_names = ["Gneiss", "Greywacke"]
plotter.vtu_file_names = {"VPF": vtu_files_dict_full_HM}
plotter.plot_avg_width_vs_stress(
benchmark_tag="HM2a",
metric="width",
methods_to_include=["VPF"],
pee_load_values=PEE_load_values,
external_data=external_data["average"],
ylim_range=(0, 5.0e-5),
)
plotter.plot_avg_width_vs_stress(
benchmark_tag="HM2a",
metric="permeability",
methods_to_include=["VPF"],
pee_load_values=PEE_load_values,
external_data=external_data["average"],
ylim_range=(0, 2.5e-10),
)
array([1000000.])
vpf_profiles = {}
…
(click to toggle)
vpf_profiles = {}
for load_case, file_list in plotter.vtu_file_names["VPF"].items():
vpf_profiles[load_case] = plotter.extract_vpf_width_from_list(
file_list,
plotter.material_names,
)
plotter.plot_fracture_aperture_profiles(
widthProfile=vpf_profiles,
benchmark_tag="HM2a",
downsample=1,
ylim=(0, 5.0e-5),
method_label="VPF",
external_data=external_data["widthProfile"],
)
pairs_to_check = {
…
(click to toggle)
pairs_to_check = {
"M1_VPF_A_Greywacke": "M1",
"M2a_VPF_A_Greywacke": "M2a",
"M2b_VPF_A_Greywacke": "M2b",
}
for case, label in pairs_to_check.items():
print(f"\n===== {label} case =====")
new_result = np.load(Path(out_dir, f"extracted_{case}_volStrain.npz"))
expected_result = np.load(Path("expected", f"extracted_{case}_volStrain.npz"))
eps_v_new = new_result["eps_v"]
eps_v_expected = expected_result["eps_v"]
phi_new = new_result["phi"]
phi_expected = expected_result["phi"]
np.testing.assert_allclose(eps_v_new, eps_v_expected, atol=5e-4)
np.testing.assert_allclose(phi_new, phi_expected, atol=1e-8)
print(f"\n{label} case passed.")
===== M1 case =====
M1 case passed.
===== M2a case =====
M2a case passed.
===== M2b case =====
M2b case passed.
McDermott, C.I., Fraser-Harris, A., Sauter, M., Couples, G.D., Edlmann, K., Kolditz, O., Lightbody, A., Somerville, J. and Wang, W., 2018. New experimental equipment recreating geo-reservoir conditions in large, fractured, porous samples to investigate coupled thermal, hydraulic and polyaxial stress processes. Scientific reports, 8(1), p.14549.
Mollaali, M., Kolditz, O., Hu, M., Park, C.H., Park, J.W., McDermott, C.I., Chittenden, N., Bond, A., Yoon, J.S., Zhou, J. and Pan, P.Z., Liu H., Hou W., Lei H., Zhang L., Nagel T., Barsch M., Wang W., Nguyen S., Kwon S. and Yoshioka K., 2023. Comparative verification of hydro-mechanical fracture behavior: Task G of international research project DECOVALEX–2023. International Journal of Rock Mechanics and Mining Sciences, 170, p.105530.
Mollaali, M., Wang, W., You, T., Nagel, T., Fraser-Harris, A., McDermott, C., and Kolditz, O., 2025. Numerical benchmarking of GREAT cell experiments: Poly-axial stress effects on fluid flow in fractured rock using smeared and discrete methods.
This article was written by Mostafa Mollaali. If you are missing something or you find an error please let us know.
Generated with Hugo 0.147.9
in CI job 608965
|
Last revision: April 3, 2025