Skip to content

Commit 997b1b4

Browse files
add test case
1 parent f62fb8d commit 997b1b4

File tree

5 files changed

+122
-1
lines changed

5 files changed

+122
-1
lines changed

cookbooks/2D_subduction_with_two_phase_flow/fixed_slab_darcy_with_fugacity.prm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
# Load the plugin library and the world builder file, which are both required for this cookbook
1919
set Additional shared libraries = plugin/lib2D_subduction_with_two_phase_flow.so
20-
set World builder file = fixed_slab.wb
20+
set World builder file = $ASPECT_SOURCE_DIR/cookbooks/2D_subduction_with_two_phase_flow/fixed_slab.wb
2121
set Nonlinear solver scheme = iterated Advection and Stokes
2222
set Nonlinear solver failure strategy = continue with next timestep
2323
set Output directory = output-fixed_slab_darcy_fluid_advection
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#include "../cookbooks/2D_subduction_with_two_phase_flow/plugin/bound_fluid_source.cc"
2+
#include "../cookbooks/2D_subduction_with_two_phase_flow/plugin/world_builder_disequilibrium_fluid.cc"
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# This is a test that checks that the cookbook "2D_subduction_two_phase_flow" runs correctly. It also checks
2+
# that the two .cc files required for this cookbook work correctly by outputting the composition statistics.
3+
# The bound_fluid should be initialized with a max value of 0.021 (due to world_builder_disequilibrium_fluid.cc)
4+
# and this value should not decrease (due to bound_fluid_source.cc) even though the porosity becomes non-zero
5+
# after 100 years.
6+
include $ASPECT_SOURCE_DIR/cookbooks/2D_subduction_with_two_phase_flow/fixed_slab_darcy_with_fugacity.prm
7+
8+
set End time = 100
9+
10+
subsection Mesh refinement
11+
set Initial adaptive refinement = 0
12+
set Initial global refinement = 1
13+
set Time steps between mesh refinement = 0
14+
end
15+
16+
subsection Postprocess
17+
set List of postprocessors = composition statistics
18+
end
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
2+
Loading shared library <./lib2D_subduction_two_phase_flow_cookbook.debug.so>
3+
4+
Number of active cells: 48 (on 2 levels)
5+
Number of degrees of freedom: 2,090 (450+65+225+225+225+225+225+225+225)
6+
7+
*** Timestep 0: t=0 years, dt=0 years
8+
Skipping porosity composition solve because RHS is zero.
9+
Rebuilding Stokes preconditioner...
10+
Solving Stokes system (AMG)... 19+0 iterations.
11+
Relative nonlinear residuals (temperature, compositional fields, Stokes system): 0, 0, 0, 0, 0, 0, 0, 1
12+
Relative nonlinear residual (total system) after nonlinear iteration 1: 1
13+
14+
Skipping porosity composition solve because RHS is zero.
15+
Rebuilding Stokes preconditioner...
16+
Solving Stokes system (AMG)... 16+0 iterations.
17+
Relative nonlinear residuals (temperature, compositional fields, Stokes system): 0, 0, 0, 0, 0, 0, 0, 0.0325226
18+
Relative nonlinear residual (total system) after nonlinear iteration 2: 0.0325226
19+
20+
Skipping porosity composition solve because RHS is zero.
21+
Rebuilding Stokes preconditioner...
22+
Solving Stokes system (AMG)... 15+0 iterations.
23+
Relative nonlinear residuals (temperature, compositional fields, Stokes system): 0, 0, 0, 0, 0, 0, 0, 0.0122776
24+
Relative nonlinear residual (total system) after nonlinear iteration 3: 0.0122776
25+
26+
Skipping porosity composition solve because RHS is zero.
27+
Rebuilding Stokes preconditioner...
28+
Solving Stokes system (AMG)... 14+0 iterations.
29+
Relative nonlinear residuals (temperature, compositional fields, Stokes system): 0, 0, 0, 0, 0, 0, 0, 0.00470844
30+
Relative nonlinear residual (total system) after nonlinear iteration 4: 0.00470844
31+
32+
Skipping porosity composition solve because RHS is zero.
33+
Rebuilding Stokes preconditioner...
34+
Solving Stokes system (AMG)... 13+0 iterations.
35+
Relative nonlinear residuals (temperature, compositional fields, Stokes system): 0, 0, 0, 0, 0, 0, 0, 0.00179746
36+
Relative nonlinear residual (total system) after nonlinear iteration 5: 0.00179746
37+
38+
Skipping porosity composition solve because RHS is zero.
39+
Rebuilding Stokes preconditioner...
40+
Solving Stokes system (AMG)... 12+0 iterations.
41+
Relative nonlinear residuals (temperature, compositional fields, Stokes system): 0, 0, 0, 0, 0, 0, 0, 0.000685564
42+
Relative nonlinear residual (total system) after nonlinear iteration 6: 0.000685564
43+
44+
45+
Postprocessing:
46+
Compositions min/max/mass: 0/0/0 // 0/0.021/8.585e+09 // 0/1/2.482e+13 // 0/0/0 // 0/0/0 // 0/1/4.088e+11
47+
48+
*** Timestep 1: t=100 years, dt=100 years
49+
Solving composition reactions... in 2 substep(s).
50+
Solving porosity system ... 9 iterations.
51+
Rebuilding Stokes preconditioner...
52+
Solving Stokes system (AMG)... 10+0 iterations.
53+
Relative nonlinear residuals (temperature, compositional fields, Stokes system): 0, 0.000159525, 0, 0, 0, 0, 0, 0.000385553
54+
Relative nonlinear residual (total system) after nonlinear iteration 1: 0.000385553
55+
56+
57+
Postprocessing:
58+
Compositions min/max/mass: -6.174e-08/0.000693/2.448e+08 // 0/0.021/8.585e+09 // 0/1/2.482e+13 // 0/0/0 // 0/0/0 // 0/1/4.088e+11
59+
60+
Termination requested by criterion: end time
61+
62+
63+
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# 1: Time step number
2+
# 2: Time (years)
3+
# 3: Time step size (years)
4+
# 4: Number of mesh cells
5+
# 5: Number of Stokes degrees of freedom
6+
# 6: Number of temperature degrees of freedom
7+
# 7: Number of degrees of freedom for all compositions
8+
# 8: Number of nonlinear iterations
9+
# 9: Iterations for temperature solver
10+
# 10: Iterations for composition solver 1
11+
# 11: Iterations for composition solver 2
12+
# 12: Iterations for composition solver 3
13+
# 13: Iterations for composition solver 4
14+
# 14: Iterations for composition solver 5
15+
# 15: Iterations for composition solver 6
16+
# 16: Iterations for Stokes solver
17+
# 17: Velocity iterations in Stokes preconditioner
18+
# 18: Schur complement iterations in Stokes preconditioner
19+
# 19: Minimal value for composition porosity
20+
# 20: Maximal value for composition porosity
21+
# 21: Global mass for composition porosity
22+
# 22: Minimal value for composition bound_fluid
23+
# 23: Maximal value for composition bound_fluid
24+
# 24: Global mass for composition bound_fluid
25+
# 25: Minimal value for composition peridotite
26+
# 26: Maximal value for composition peridotite
27+
# 27: Global mass for composition peridotite
28+
# 28: Minimal value for composition gabbro
29+
# 29: Maximal value for composition gabbro
30+
# 30: Global mass for composition gabbro
31+
# 31: Minimal value for composition MORB
32+
# 32: Maximal value for composition MORB
33+
# 33: Global mass for composition MORB
34+
# 34: Minimal value for composition sediment
35+
# 35: Maximal value for composition sediment
36+
# 36: Global mass for composition sediment
37+
0 0.000000000000e+00 0.000000000000e+00 48 515 225 1350 6 0 0 0 0 0 0 0 89 95 188 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.10000000e-02 8.58520833e+09 0.00000000e+00 1.00000000e+00 2.48211806e+13 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.00000000e+00 4.08819444e+11
38+
1 1.000000000000e+02 1.000000000000e+02 48 515 225 1350 1 0 9 0 0 0 0 0 10 11 22 -6.17357269e-08 6.93007567e-04 2.44781320e+08 0.00000000e+00 2.10000000e-02 8.58520833e+09 0.00000000e+00 1.00000000e+00 2.48211806e+13 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.00000000e+00 4.08819444e+11

0 commit comments

Comments
 (0)