From 0ee775a3de8c3977757245cffe8d48aecce4e966 Mon Sep 17 00:00:00 2001 From: Rene Gassmoeller Date: Fri, 22 Nov 2024 17:15:17 +0100 Subject: [PATCH 1/4] Revert one change of PR #5580 --- source/simulator/assemblers/newton_stokes.cc | 18 ++++--- source/simulator/stokes_matrix_free.cc | 7 ++- tests/spiegelman_fail_test/screen-output | 56 ++++++++++---------- 3 files changed, 45 insertions(+), 36 deletions(-) diff --git a/source/simulator/assemblers/newton_stokes.cc b/source/simulator/assemblers/newton_stokes.cc index 720260d35ea..6528a67cd56 100644 --- a/source/simulator/assemblers/newton_stokes.cc +++ b/source/simulator/assemblers/newton_stokes.cc @@ -175,12 +175,15 @@ namespace aspect else { const SymmetricTensor<2,dim> viscosity_derivative_wrt_strain_rate = derivatives->viscosity_derivative_wrt_strain_rate[q]; - const SymmetricTensor<2,dim> effective_strain_rate = - elastic_out == nullptr ? deviator(scratch.material_model_inputs.strain_rate[q]) : elastic_out->viscoelastic_strain_rate[q]; - const typename Newton::Parameters::Stabilization preconditioner_stabilization = this->get_newton_handler().parameters.preconditioner_stabilization; + SymmetricTensor<2,dim> effective_strain_rate = scratch.material_model_inputs.strain_rate[q]; + if (elastic_out != nullptr) + effective_strain_rate = elastic_out->viscoelastic_strain_rate[q]; + else if ((preconditioner_stabilization & Newton::Parameters::Stabilization::PD) != Newton::Parameters::Stabilization::none) + effective_strain_rate = deviator(effective_strain_rate); + // use the spd factor when the stabilization is PD or SPD const double alpha = (preconditioner_stabilization & Newton::Parameters::Stabilization::PD) != Newton::Parameters::Stabilization::none ? Utilities::compute_spd_factor(eta, effective_strain_rate, viscosity_derivative_wrt_strain_rate, @@ -400,9 +403,6 @@ namespace aspect const double pressure = scratch.material_model_inputs.pressure[q]; const double velocity_divergence = scratch.velocity_divergence[q]; - const SymmetricTensor<2,dim> effective_strain_rate = - elastic_out == nullptr ? deviator(scratch.material_model_inputs.strain_rate[q]) : elastic_out->viscoelastic_strain_rate[q]; - const Tensor<1,dim> gravity = this->get_gravity_model().gravity_vector (scratch.finite_element_values.quadrature_point(q)); @@ -479,6 +479,12 @@ namespace aspect const Newton::Parameters::Stabilization velocity_block_stabilization = this->get_newton_handler().parameters.velocity_block_stabilization; + SymmetricTensor<2,dim> effective_strain_rate = scratch.material_model_inputs.strain_rate[q]; + if (elastic_out != nullptr) + effective_strain_rate = elastic_out->viscoelastic_strain_rate[q]; + else if ((velocity_block_stabilization & Newton::Parameters::Stabilization::PD) != Newton::Parameters::Stabilization::none) + effective_strain_rate = deviator(effective_strain_rate); + // use the spd factor when the stabilization is PD or SPD const double alpha = (velocity_block_stabilization & Newton::Parameters::Stabilization::PD) != Newton::Parameters::Stabilization::none diff --git a/source/simulator/stokes_matrix_free.cc b/source/simulator/stokes_matrix_free.cc index 1a1f3aac534..89c2af8f207 100644 --- a/source/simulator/stokes_matrix_free.cc +++ b/source/simulator/stokes_matrix_free.cc @@ -1424,8 +1424,11 @@ namespace aspect for (unsigned int q=0; q effective_strain_rate = - elastic_out == nullptr ? deviator(in.strain_rate[q]) : elastic_out->viscoelastic_strain_rate[q]; + SymmetricTensor<2,dim> effective_strain_rate = in.strain_rate[q]; + if (elastic_out != nullptr) + effective_strain_rate = elastic_out->viscoelastic_strain_rate[q]; + else if ((sim.newton_handler->parameters.velocity_block_stabilization & Newton::Parameters::Stabilization::PD) != Newton::Parameters::Stabilization::none) + effective_strain_rate = deviator(effective_strain_rate); // use the spd factor when the stabilization is PD or SPD. const double alpha = (sim.newton_handler->parameters.velocity_block_stabilization diff --git a/tests/spiegelman_fail_test/screen-output b/tests/spiegelman_fail_test/screen-output index 2bccf958fbf..b63ab3f3a74 100644 --- a/tests/spiegelman_fail_test/screen-output +++ b/tests/spiegelman_fail_test/screen-output @@ -29,75 +29,75 @@ Number of degrees of freedom: 18,133 (8,514+1,105+4,257+4,257) The linear solver tolerance is set to 0.843263. Stabilization Preconditioner is none and A block is none. Rebuilding Stokes preconditioner... Solving Stokes system (AMG)... 0+1 iterations. - Newton system information: Norm of the rhs: 9.54798e+14, Derivative scaling factor: 1 - Relative nonlinear residuals (temperature, compositional fields, Stokes system): 0, 1.33204e-16, 0.12306 - Relative nonlinear residual (total system) after nonlinear iteration 3: 0.12306 + Newton system information: Norm of the rhs: 9.16397e+14, Derivative scaling factor: 1 + Relative nonlinear residuals (temperature, compositional fields, Stokes system): 0, 1.33204e-16, 0.118111 + Relative nonlinear residual (total system) after nonlinear iteration 3: 0.118111 Skipping temperature solve because RHS is zero. Solving C_1 system ... 0 iterations. The linear solver tolerance is set to 0.758936. Stabilization Preconditioner is none and A block is none. Rebuilding Stokes preconditioner... Solving Stokes system (AMG)... 0+1 iterations. - Newton system information: Norm of the rhs: 4.36974e+14, Derivative scaling factor: 1 - Relative nonlinear residuals (temperature, compositional fields, Stokes system): 0, 1.33204e-16, 0.0563199 - Relative nonlinear residual (total system) after nonlinear iteration 4: 0.0563199 + Newton system information: Norm of the rhs: 5.68132e+14, Derivative scaling factor: 1 + Relative nonlinear residuals (temperature, compositional fields, Stokes system): 0, 1.33204e-16, 0.0732243 + Relative nonlinear residual (total system) after nonlinear iteration 4: 0.0732243 WARNING: The nonlinear solver in the current timestep failed to converge. Acting according to the parameter 'Nonlinear solver failure strategy'... Continuing to the next timestep even though solution is not fully converged. Postprocessing: - RMS, max velocity: 6.76e-09 m/s, 1.5e-08 m/s - Pressure min/avg/max: -7.019e+10 Pa, 1.063e+09 Pa, 2.587e+11 Pa - Mass fluxes through boundary parts: -0.03241 kg/s, -0.03241 kg/s, 0 kg/s, -1.728 kg/s + RMS, max velocity: 2.14e-08 m/s, 2.44e-07 m/s + Pressure min/avg/max: -7.28e+10 Pa, 1.519e+09 Pa, 2.899e+11 Pa + Mass fluxes through boundary parts: -0.03241 kg/s, -0.03241 kg/s, 0 kg/s, 4.106 kg/s Writing graphical output: output-spiegelman_fail_test/solution/solution-00000 *** Timestep 1: t=1 seconds, dt=1 seconds Skipping temperature solve because RHS is zero. - Solving C_1 system ... 0 iterations. - Initial Newton Stokes residual = 8.60842e+15, v = 8.60842e+15, p = 3.41939e+12 + Solving C_1 system ... 1 iterations. + Initial Newton Stokes residual = 8.84992e+15, v = 8.84992e+15, p = 2.98258e+12 Rebuilding Stokes preconditioner... Solving Stokes system (AMG)... 0+0 iterations. - Newton system information: Norm of the rhs: 4.36222e+14 - Relative nonlinear residuals (temperature, compositional fields, Stokes system): 0, 7.2409e-13, 0.0506738 - Relative nonlinear residual (total system) after nonlinear iteration 1: 0.0506738 + Newton system information: Norm of the rhs: 5.52475e+14 + Relative nonlinear residuals (temperature, compositional fields, Stokes system): 0, 2.43828e-12, 0.0624271 + Relative nonlinear residual (total system) after nonlinear iteration 1: 0.0624271 Skipping temperature solve because RHS is zero. Solving C_1 system ... 0 iterations. Rebuilding Stokes preconditioner... Solving Stokes system (AMG)... 0+1 iterations. - Newton system information: Norm of the rhs: 2.17689e+14, Derivative scaling factor: 0 - Relative nonlinear residuals (temperature, compositional fields, Stokes system): 0, 7.2409e-13, 0.025288 - Relative nonlinear residual (total system) after nonlinear iteration 2: 0.025288 + Newton system information: Norm of the rhs: 2.2942e+14, Derivative scaling factor: 0 + Relative nonlinear residuals (temperature, compositional fields, Stokes system): 0, 1.2658e-13, 0.0259234 + Relative nonlinear residual (total system) after nonlinear iteration 2: 0.0259234 Skipping temperature solve because RHS is zero. - Solving C_1 system ... 0 iterations. + Solving C_1 system ... 1 iterations. Switching from defect correction form of Picard to the Newton solver scheme. The linear solver tolerance is set to 0.843263. Stabilization Preconditioner is none and A block is none. Rebuilding Stokes preconditioner... - Solving Stokes system (AMG)... 0+1 iterations. - Newton system information: Norm of the rhs: 1.35994e+14, Derivative scaling factor: 1 - Relative nonlinear residuals (temperature, compositional fields, Stokes system): 0, 6.76328e-13, 0.0157978 - Relative nonlinear residual (total system) after nonlinear iteration 3: 0.0157978 + Solving Stokes system (AMG)... 0+3 iterations. + Newton system information: Norm of the rhs: 1.92576e+14, Derivative scaling factor: 1 + Relative nonlinear residuals (temperature, compositional fields, Stokes system): 0, 1.59356e-12, 0.0217602 + Relative nonlinear residual (total system) after nonlinear iteration 3: 0.0217602 Skipping temperature solve because RHS is zero. Solving C_1 system ... 0 iterations. The linear solver tolerance is set to 0.758936. Stabilization Preconditioner is none and A block is none. Rebuilding Stokes preconditioner... Solving Stokes system (AMG)... 0+1 iterations. - Newton system information: Norm of the rhs: 7.18526e+13, Derivative scaling factor: 1 - Relative nonlinear residuals (temperature, compositional fields, Stokes system): 0, 5.87227e-13, 0.00834678 - Relative nonlinear residual (total system) after nonlinear iteration 4: 0.00834678 + Newton system information: Norm of the rhs: 1.08722e+14, Derivative scaling factor: 1 + Relative nonlinear residuals (temperature, compositional fields, Stokes system): 0, 2.92488e-13, 0.0122851 + Relative nonlinear residual (total system) after nonlinear iteration 4: 0.0122851 WARNING: The nonlinear solver in the current timestep failed to converge. Acting according to the parameter 'Nonlinear solver failure strategy'... Continuing to the next timestep even though solution is not fully converged. Postprocessing: - RMS, max velocity: 2.71e-09 m/s, 8.03e-09 m/s - Pressure min/avg/max: -2.037e+10 Pa, 1.602e+08 Pa, 3.381e+10 Pa - Mass fluxes through boundary parts: -0.03241 kg/s, -0.03241 kg/s, 0 kg/s, -1.176 kg/s + RMS, max velocity: 2.94e-09 m/s, 1.54e-08 m/s + Pressure min/avg/max: -2.771e+10 Pa, 3.617e+08 Pa, 6.167e+10 Pa + Mass fluxes through boundary parts: -0.03241 kg/s, -0.03241 kg/s, 0 kg/s, -0.1108 kg/s Termination requested by criterion: end time From 416a5af97e5e29df41e05530f128f069978790de Mon Sep 17 00:00:00 2001 From: Rene Gassmoeller Date: Fri, 8 Nov 2024 14:54:37 +0100 Subject: [PATCH 2/4] Update spiegelman benchmark --- .../spiegelman_et_al_2016/README.md | 24 +- .../auto_logs/.gitignore | 4 - .../spiegelman_et_al_2016/bash.sh | 162 ----------- .../bash_autos/.gitignore | 4 - .../cp_P-minLT-res-it-vel_BV.sh | 258 ------------------ .../spiegelman_et_al_2016/doc/figure_4.png | Bin 0 -> 219315 bytes .../image_collections/.gitignore | 4 - .../image_data/.gitignore | 4 - .../image_plotfiles/.gitignore | 4 - .../spiegelman_et_al_2016/input.prm | 29 +- .../spiegelman_et_al_2016/metabash.sh | 75 ----- .../spiegelman_et_al_2016/metabash_itimpes.sh | 76 ------ .../spiegelman_et_al_2016/plot.gnuplot | 94 +++++++ .../spiegelman_et_al_2016/run.sh | 66 +++++ doc/sphinx/references.bib | 13 +- tests/spiegelman_benchmark.cc | 21 ++ tests/spiegelman_benchmark.prm | 8 + tests/spiegelman_benchmark/screen-output | 115 ++++++++ 18 files changed, 353 insertions(+), 608 deletions(-) delete mode 100644 benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/auto_logs/.gitignore delete mode 100755 benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/bash.sh delete mode 100644 benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/bash_autos/.gitignore delete mode 100755 benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/cp_P-minLT-res-it-vel_BV.sh create mode 100644 benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/doc/figure_4.png delete mode 100644 benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/image_collections/.gitignore delete mode 100644 benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/image_data/.gitignore delete mode 100644 benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/image_plotfiles/.gitignore delete mode 100755 benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/metabash.sh delete mode 100755 benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/metabash_itimpes.sh create mode 100644 benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/plot.gnuplot create mode 100755 benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/run.sh create mode 100644 tests/spiegelman_benchmark.cc create mode 100644 tests/spiegelman_benchmark.prm create mode 100644 tests/spiegelman_benchmark/screen-output diff --git a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/README.md b/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/README.md index 95b5d298295..b82929c0935 100644 --- a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/README.md +++ b/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/README.md @@ -1,11 +1,19 @@ # Newton Solver Benchmark Set - Spiegelman et at. (2016) The files in [this directory](https://github.com/geodynamics/aspect/tree/main/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016) -can be used to recreate the Spiegelman et al. (2016) flow figures from -{cite:t}`fraters:etal:2019`. Adjust both the `metabash.sh` and `bash.sh` files to -reflect the parameter search you are interested in and run the metabash script. -If you have run exactly the same runs as shown in the paper, you can use the -`cp_P-minLT-res-it-vel_BV.sh` script to recreate the figures in that paper. -This script requires that the drucker prager compositions plugin is installed. -It should be possible to replicate the same behavior with the visco plastic -plugin. +can be used to recreate the figures from +{cite:t}`fraters:etal:2019` reproducing the {cite:t}`spiegelman:etal:2016` benchmark. +`input.prm` is the setup of one of the benchmark +models and `run.sh` will execute a series of model runs. Before you can execute +the benchmark you will have to compile the plugin `drucker_prager_compositions.cc` in +the same directory, the process of compiling plugins is described in [](sec:benchmark-run). +After you have executed `run.sh`, you can use the gnuplot plotting script +`plot.gnuplot` to recreate Fig. 4 of {cite:t}`fraters:etal:2019`. + +```{figure-md} fig:benchmark-newton-spiegelman-2016 + + +Convergence history of several models of the Spiegelman et al. benchmark: a reproduction of three of the nine pressure dependent Drucker–Prager cases with a resolution of 64 × 16 cells. Top: results for computations where linear systems are solved with a maximum relative tolerance of 0.9. Bottom: The same models solved with a tolerance of $10^{-8}$. The initial Picard iteration is always solved to a linear tolerance of $10^{-14}$. Left to right: different prescribed velocities of u0 = 2.5, 5, and 12.5 cm\yr, and and different background reference viscosities of respectively $\eta_{ref}$ = $10^{23}$, $10^{24}$ and $10^{25}$ Pa s. Horizontal axis: number of the non-linear (outer) iteration; and vertical axis: non-linear residual. "DC Picard" refers to a defect correction Picard iteration, see the paper describing this solver. +``` + +The nonlinear convergence behavior of ASPECT's different nonlinear solvers is shown in {numref}`fig:benchmark-newton-spiegelman-2016`. diff --git a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/auto_logs/.gitignore b/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/auto_logs/.gitignore deleted file mode 100644 index 5e7d2734cfc..00000000000 --- a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/auto_logs/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -# Ignore everything in this directory -* -# Except this file -!.gitignore diff --git a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/bash.sh b/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/bash.sh deleted file mode 100755 index 2b4603255fc..00000000000 --- a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/bash.sh +++ /dev/null @@ -1,162 +0,0 @@ -#!/bin/bash -version="test" -build_dir="../../../build/" -declare -a grid=(5) -declare -a UFS=("false" "true") # use failsafe -declare -a NSP=("SPD") # "Symmetric" "PD" "none") #Use Newton stabilization preconditioner -declare -a NSA=("SPD" "symmetric" "none") # "Symmetric" "PD" "none") #Use Newton stabilization A block -declare -a agrid=(0) -declare -a n=(50) #1 2 5 10 25 50 100) -I=150 -declare -a P=(0 5 10 50 15 150 20 25 30) #0 5 10 15 20 150) # 1 2 3 4 5 10 15 25 50 100) -declare -a LS=(50) -declare -a ST=(1e-20) -declare -a LT=("1e-5") # "1e-8") # "1e-8") #"1e-5") # "1e-8") -declare -a NLT=("1e-14") # "1e-9" "1e-10" "1e-14" "1e-20") -declare -a ABT=("1e-2") -declare -a RSM=("true") #"true" #"false" -declare -a SF=("9e-1") -declare -a UDS=("true") -declare -a AEW=("false") # always use Eisenstat Walker, even for picard -AV=-1 -COMP="0" #"4e-12" -declare -a OS=("9e-1" "1e-1" "1e-2" "1e-8") # "1e-3" "1e-4" "1e-5" "1e-6" "1e-6" "1e-7" "1e-8") -materialmodelnameShort="DP" #"VP2" -materialmodelname="DP" -phi=30 # 0 -declare -a vel=(25 50 125) # 50 125) #25 50 125) -declare -a BV=("1e23" "1e24" "5e24") #"1e23" "1e24" "5e24") -processes=4 - -CohesionLine="s/set Cohesions.*/ set Cohesions = 1e8,0/g" -PhiLine="s/set List of angles of internal friction.*/ set List of angles of internal friction = $phi,0/g" -if [ $materialmodelnameShort == "DP" ]; then - materialmodelname="drucker prager compositions" -elif [ $materialmodelnameShort == "vM" ]; then - materialmodelname="drucker prager compositions" -elif [ $materialmodelnameShort == "SNL" ]; then - materialmodelname="simple nonlinear compositions" - CohesionLine="s/ set List of cohesion of fields.*/ /g" - PhiLine="s/set List of angles of internal friction of fields.*/ /g" -elif [ $materialmodelnameShort == "VP2" ]; then - materialmodelname="viscoplastic2" -fi - -SOLVER_SHORT="NS" #"itAdandSt" #"NS" #NS" -SOLVER="NS" -if [ $SOLVER_SHORT == "NS" ]; then - SOLVER="iterated Advection and Newton Stokes" -elif [ $SOLVER_SHORT == "itAdandSt" ]; then - SOLVER="iterated Advection and Stokes" -fi - - -for i_grid in "${grid[@]}" -do - for i_agrid in "${agrid[@]}" - do - for i_NSP in "${NSP[@]}" - do - for i_NSA in "${NSA[@]}" - do - for i_NLT in "${NLT[@]}" - do - for i_ABT in "${ABT[@]}" - do - for i_ST in "${ST[@]}" - do - for i_UDS in "${UDS[@]}" - do - for i_SF in "${SF[@]}" - do - for i_LT in "${LT[@]}" - do - for i_n in "${n[@]}" - do - for i_UFS in "${UFS[@]}" - do - for i_P in "${P[@]}" - do - for i_LS in "${LS[@]}" - do - for i_AEW in "${AEW[@]}" - do - for i_OS in "${OS[@]}" - do - for i_RSM in "${RSM[@]}" - do - for i_BV in "${BV[@]}" - do - for i_vel in "${vel[@]}" - do - U="7.92219116e-11" - if [ $i_vel == 25 ]; then - U="7.92219116e-11" - elif [ $i_vel == 50 ]; then - U="1.58443823e-10" - elif [ $i_vel == 125 ]; then - U="3.96109558e-10" - fi - - dirname_clean="$version""$materialmodelnameShort""_""$SOLVER_SHORT""_ST""$i_ST""_UFS""$i_UFS""_NSP-""$i_NSP""_NSA-""$i_NSA""_C""$COMP""_g""$i_grid""_ag""$i_agrid""_AEW""$i_AEW""_UDS""$i_UDS""_SF""$i_SF""_NLT""$i_NLT""_ABT""$i_ABT""_LT""$i_LT""_mLT""$i_OS""_I""$I""_P""$i_P""_EW1""_theta1""_LS""$i_LS""_RSM""$i_RSM""_AV""$AV""_phi""$phi""_vel""$i_vel""_BV""$i_BV""_n""$i_n" - dirname="results/""$dirname_clean" - infilename="$dirname""/input.prm" - outfilename="$dirname""/output.log" - errorfilename="$dirname""/error.log" - outplotfilename="$dirname""/plot.dat" - - mkdir -p $dirname - - echo "$dirname" - sed \ - -e "$PhiLine" \ - -e "$CohesionLine" \ - -e "s/set Function expression = if(x<60e3,.*/ set Function expression = if(x<60e3,$U,-$U);0/g" \ - -e "s/set Nonlinear Newton solver switch tolerance.*/ set Nonlinear Newton solver switch tolerance = $i_ST/g" \ - -e "s/set Reference viscosity .*/ set Reference viscosity = $i_BV/g" \ - -e "s/set Output directory .*/set Output directory = results\/$dirname_clean/g" \ - -e "s/set Model name .*/ set Model name = $materialmodelname/g" \ - -e "s/set Nonlinear solver scheme.*/set Nonlinear solver scheme = $SOLVER/g" \ - -e "s/set Initial global refinement .*/ set Initial global refinement = $i_grid/g" \ - -e "s/set Initial adaptive refinement .*/ set Initial adaptive refinement = $i_agrid/g" \ - -e "s/set Stress exponents of fields .*/ set List of stress exponents of fields = $i_n, 1/g" \ - -e "s/set Viscosity averaging p .*/ set Viscosity averaging p = $AV/g" \ - -e "s/set Max nonlinear iterations .*/set Max nonlinear iterations = $I /g" \ - -e "s/set Linear solver tolerance .*/set Linear solver tolerance = $i_LT/g" \ - -e "s/set Nonlinear solver tolerance.*/set Nonlinear solver tolerance = $i_NLT/g" \ - -e "s/set Linear solver A block tolerance.*/set Linear solver A block tolerance = $i_ABT/g" \ - -e "s/set Reference compressibility .*/ set Reference compressibility = $COMP/g" \ - -e "s/set Max pre-Newton nonlinear iterations .*/ set Max pre-Newton nonlinear iterations = $i_P/g" \ - -e "s/set Use Newton failsafe .*/set Use Newton failsafe = $i_UFS/g" \ - -e "s/set Stabilization preconditioner .*/set Stabilization preconditioner = $i_NSP/g" \ - -e "s/set Stabilization velocity block .*/set Stabilization velocity block = $i_NSA/g" \ - -e "s/set SPD safety factor .*/set SPD safety factor = $i_SF/g" \ - -e "s/set Use deviator of strain-rate .*/set Use deviator of strain-rate = $i_UDS/g" \ - -e "s/set Max Newton line search iterations .*/ set Max Newton line search iterations = $i_LS/g" \ - -e "s/set Maximum linear Stokes solver tolerance .*/set Maximum linear Stokes solver tolerance = $i_OS/g" \ - -e "s/set Use Newton residual scaling method .*/ set Use Newton residual scaling method = $i_RSM/g" \ - input.prm > "$infilename" - - nohup mpirun -np $processes $build_dir./aspect $infilename > $outfilename 2>$errorfilename - - grep "Relative nonlinear residual" $outfilename > $outplotfilename - - done - done - done - done - done - done - done - done - done - done - done - done - done - done - done - done - done - done -done diff --git a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/bash_autos/.gitignore b/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/bash_autos/.gitignore deleted file mode 100644 index 5e7d2734cfc..00000000000 --- a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/bash_autos/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -# Ignore everything in this directory -* -# Except this file -!.gitignore diff --git a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/cp_P-minLT-res-it-vel_BV.sh b/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/cp_P-minLT-res-it-vel_BV.sh deleted file mode 100755 index 9c7a59352fa..00000000000 --- a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/cp_P-minLT-res-it-vel_BV.sh +++ /dev/null @@ -1,258 +0,0 @@ -#!/bin/bash -declare -a version="c3" -#declare -a boundary_type=("velocities") # "tractions") -#for i_boundary_type in "${boundary_type[@]}" -#do -input_file="input_""$i_boundary_type"".prm" -declare -a grid=(4) #4 5 6 7 #2 3 4 5) -agrid=0 -declare -a NSP=("SPD") # "symmetric" "PD" "none") #Use Newton stabilization preconditioner -declare -a NSA=("SPD") # "symmetric" "none") # "Symmetric" "PD" "none") #Use Newton stabilization A block -declare -a UFS=("false" "true") -declare -a n=(50) # 5) #3 5 #1 2 5 10 25 50 100) -I=150 -declare -a P=(0 5 10 15 20 25 30 50 150) # 5 10 100) #0 5 10 100 -declare -a ST=(1e-20) -declare -a LS=(0 5 10) # 5 50) # 5 10 50) # 5 10) # 0,5,10 -declare -a LT=("1e-5") # "1e-8") # 6 7 8) # 5,6,7,8 -declare -a NLT=("1e-14") -declare -a RSM=("false" "true") -declare -a UDS=("true") #"true" #"false" -declare -a SF=("9e-1" "9.9e-1") # "9.99e-1" "1") -declare -a AEW=("false") -AV=-1 -ATB="1e-2" -COMP="0" #"4e-12" -materialmodelnameShort="DP" #"VP2" -materialmodelname="DP" -phi=30 -declare -a vel=(25 50 125) -declare -a BV=("1e23" "1e24" "5e24") -SOLVER_SHORT="NS" #"itAdandSt" -SOLVER="iterated Advection and Stokes" -if [ $SOLVER_SHORT == "NS" ]; then -SOLVER="iterated Advection and Newton Stokes" -elif [ $SOLVER_SHORT == "itAdandSt" ]; then -SOLVER="iterated Advection and Stokes" -fi -declare -a OS=("9e-1" "1e-1" "1e-2" "1e-8") #"1e-7" "1e-6" "1e-5" "1e-4" "1e-3" "1e-2" "1e-1" "5e-1" "9e-1") #"9e-1" "5e-1" "1e-1" "1e-2" "1e-4") - -for i_UFS in "${UFS[@]}" -do -for i_NSP in "${NSP[@]}" -do -for i_NSA in "${NSA[@]}" -do -for i_ST in "${ST[@]}" -do -for i_RSM in "${RSM[@]}" -do -for i_grid in "${grid[@]}" -do -for i_LT in "${LT[@]}" -do -for i_LS in "${LS[@]}" -do -for i_UDS in "${UDS[@]}" -do -for i_SF in "${SF[@]}" -do -for i_AEW in "${AEW[@]}" -do -for i_NLT in "${NLT[@]}" -do -for i_n in "${n[@]}" -do - -basename="$version""P-minLT-res-it-vel-BV_g""$i_grid""_ag""$agrid""_ST""$i_ST""_UFS""$i_UFS""_NSP-""$i_NSP""_NSA-""$i_NSA""_ATB""$ATB""_n""$i_n""_I""$I""_LS""$i_LS""_LT""$i_LT""_NLT""$i_NLT""_RSM""$i_RSM""_""$SOLVER_SHORT""_AV""$AV""_phi""$phi""_comp""$COMP""_UDS""$i_UDS""_SF""$i_SF""_AEW""$i_AEW" -#final_plot_file_name=${final_file_name::-4}".gnuplot" -final_plot_file_name="image_plotfiles/""$basename"".gnuplot" -final_png_file_name="image_collections/$basename.png" -rm $final_plot_file_name - -echo "set terminal pngcairo size 3000,2400 enhanced font 'Verdana,20'" >> $final_plot_file_name -echo "set output '$final_png_file_name'" >> $final_plot_file_name -echo "set multiplot title \"{/*2.0 Final nonlinear iteration and final nonlinear residual as function of grid resolution and Max nonlinar tolerance}\\n\\n{/*1.5 Grid: $i_grid, LS: $i_LS, ST: $i_ST, NLT: $i_NLT, RSM: $i_RSM, phi: $phi, comp: $COMP, solver: $SOLVER_SHORT, UFS: $i_UFS, NSP: $i_NSP, NSA: $i_NSA, UDS: $i_UDS, SF: $i_SF, AEW: $i_AEW}\"" >> $final_plot_file_name -echo "set rmargin 2" >> $final_plot_file_name -echo "set bmargin 2.2" >> $final_plot_file_name -for i_BV in "${BV[@]}" -do -for i_vel in "${vel[@]}" -do - -final_file_name="image_data/""$basename""_vel""$i_vel""_BV""$i_BV"".dat" #P-NLT-res-it_g""$i_grid""_n""$i_n""_I""$I""_LS""$i_LS""_LT""$i_LT""_minLT""$i_OS""_""$SOLVER_SHORT"".dat" -rm $final_file_name - - -for i_P in "${P[@]}" -do -for i_OS in "${OS[@]}" -do -#dirname="b3_""$i_boundary_type""_g""$i_grid""_n""$i_n""_I""$I""_P""$i_P""_LS""$i_LS""_LT""$i_LT""_NLT""$i_NLT""_UA""$i_UA""_minLT""$i_OS""_""$SOLVER_SHORT""_phi""$phi""_vel""$i_vel""_BV""i_BV" -dirname="results/""$version""$materialmodelnameShort""_""$SOLVER_SHORT""_ST""$i_ST""_UFS""$i_UFS""_NSP-""$i_NSP""_NSA-""$i_NSA""_C""$COMP""_g""$i_grid""_ag""$agrid""_AEW""$i_AEW""_UDS""$i_UDS""_SF""$i_SF""_NLT""$i_NLT""_ABT""$ATB""_LT""$i_LT""_mLT""$i_OS""_I""$I""_P""$i_P""_EW1""_theta1""_LS""$i_LS""_RSM""$i_RSM""_AV""$AV""_phi""$phi""_vel""$i_vel""_BV""$i_BV""_n""$i_n" - -infilename="$dirname""/input.prm" -outfilename="$dirname""/output.log" -outplotfilename="$dirname""/plot.dat" -#infilename="g""$i_grid""_n""$i_n""_""$I""I_""$i_P""P_LS""$LS""_LT""$LT""/input.prm" -#outfilename="g""$i_grid""_n""$i_n""_""$I""I_""$i_P""P_LS""$LS""_LT""$LT""/output.log" -#outplotfilename="g""$i_grid""_n""$i_n""_""$I""I_""$i_P""P_LS""$LS""_LT""$LT""/plot.dat" -#dirname="g""${grid[i_grid]}""_n""${n[i_n]}""_""$I""I_""${P[i_P]}""P_LS""$LS""_LT""$LT" - -#mkdir -p $dirname - -echo "$dirname" - -awk -v dirname="$dirname" -v var1="$i_P" -v var2="$i_OS" 'END{print dirname ", " var1 ", " var2 ", " substr($11,1,length($11)-1) ", " substr($10,1,length($10)-1)}' $outplotfilename >> $final_file_name -#sed \ -#-e "s/set Nonlinear solver scheme.*/set Nonlinear solver scheme = $SOLVER/g" \ -#$input_file > "$infilename" - -#mpirun -np 1 ../../.././aspect $infilename > $outfilename -#../../.././aspect $infilename > $outfilename - -#grep "Total relative residual after nonlinear iteration " $outfilename > $outplotfilename -done -done -if [ "$i_vel" == "25" ] && [ "$i_BV" == "1e23" ]; then - echo "set origin 0,0.64" >> $final_plot_file_name - echo "set colorbox vert user origin .93,.0275 size .02,.92" >> $final_plot_file_name - echo "set xlabel \"Maximum Picard iterations, vel = 25, BV = 1e23\" offset 0,0.75" >> $final_plot_file_name -elif [ "$i_vel" == "50" ] && [ "$i_BV" == "1e23" ]; then - echo "set origin 0.31,0.64" >> $final_plot_file_name - echo "unset colorbox" >> $final_plot_file_name - echo "set xlabel \"Maximum Picard iterations, vel = 50, BV = 1e23\" offset 0,0.75" >> $final_plot_file_name -elif [ "$i_vel" == "125" ] && [ "$i_BV" == "1e23" ]; then - echo "set origin 0.62,0.64" >> $final_plot_file_name - echo "unset colorbox" >> $final_plot_file_name - echo "set xlabel \"Maximum Picard iterations, vel = 125, BV = 1e23\" offset 0,0.75" >> $final_plot_file_name -elif [ "$i_vel" == "25" ] && [ "$i_BV" == "1e24" ]; then - echo "set origin 0,0.32" >> $final_plot_file_name - echo "unset colorbox" >> $final_plot_file_name - echo "set xlabel \"Maximum Picard iterations, vel = 25, BV = 1e24\" offset 0,0.75" >> $final_plot_file_name -elif [ "$i_vel" == "50" ] && [ "$i_BV" == "1e24" ]; then - echo "set origin 0.31,0.32" >> $final_plot_file_name - echo "unset colorbox" >> $final_plot_file_name - echo "set xlabel \"Maximum Picard iterations, vel = 50, BV = 1e24\" offset 0,0.75" >> $final_plot_file_name -elif [ "$i_vel" == "125" ] && [ "$i_BV" == "1e24" ]; then - echo "set origin 0.62,0.32" >> $final_plot_file_name - echo "unset colorbox" >> $final_plot_file_name - echo "set xlabel \"Maximum Picard iterations, vel = 125, BV = 1e24\" offset 0,0.75" >> $final_plot_file_name -elif [ "$i_vel" == "25" ] && [ "$i_BV" == "5e24" ]; then - echo "set origin 0,0" >> $final_plot_file_name - echo "unset colorbox" >> $final_plot_file_name - echo "set xlabel \"Maximum Picard iterations, vel = 25, BV = 5e24\" offset 0,0.75" >> $final_plot_file_name -elif [ "$i_vel" == "50" ] && [ "$i_BV" == "5e24" ]; then - echo "set origin 0.31,0" >> $final_plot_file_name - echo "unset colorbox" >> $final_plot_file_name - echo "set xlabel \"Maximum Picard iterations, vel = 50, BV = 5e24\" offset 0,0.75" >> $final_plot_file_name -elif [ "$i_vel" == "125" ] && [ "$i_BV" == "5e24" ]; then - echo "set origin 0.62,0" >> $final_plot_file_name - echo "unset colorbox" >> $final_plot_file_name - echo "set xlabel \"Maximum Picard iterations, vel = 125, BV = 5e24\" offset 0,0.75" >> $final_plot_file_name -fi -echo "set size 0.29,0.32" >> $final_plot_file_name -echo "" >> $final_plot_file_name -echo "set ytics autofreq" >> $final_plot_file_name -echo "set ylabel \"Maximum nonlinear tolerance\" offset 1,0" >> $final_plot_file_name -echo "set cblabel \"Final nonlinear residual (square)\"" >> $final_plot_file_name -echo "set palette rgb 33,13,10" >> $final_plot_file_name -echo "set logscale y" >> $final_plot_file_name -echo "set logscale cb" >> $final_plot_file_name -echo "set format cb '%.0e'" >> $final_plot_file_name -echo "set cbtics nomirror" >> $final_plot_file_name -echo "" >> $final_plot_file_name -echo "set format y '%.0e'" >> $final_plot_file_name -echo "set xtics 10" >> $final_plot_file_name -echo "set mxtics 2" >> $final_plot_file_name -echo "set xrange [-3:53]" >> $final_plot_file_name -echo "set yrange [1e-9:10]" >> $final_plot_file_name -echo "set cbrange [1e-20:1e-1]" >> $final_plot_file_name -echo "unset key" >> $final_plot_file_name -echo "plot \"""$final_file_name""\" u 2:3:(3):4 w p ls 5 ps 10 lc palette " >> $final_plot_file_name -#echo "set colorbox horiz user origin .1,.07 size .7,.04" >> $final_plot_file_name -#echo "set cblabel \"Final nonlinear iteration (circle)\" offset 0,0.75" >> $final_plot_file_name -echo "unset colorbox" >> $final_plot_file_name -echo "unset logscale cb" >> $final_plot_file_name -echo "set format cb '%.0f'" >> $final_plot_file_name -echo "set cbtics nomirror" >> $final_plot_file_name -echo "set style fill solid" >> $final_plot_file_name -echo "set palette rgb 33,13,10" >> $final_plot_file_name -echo "set cbrange [0:100]" >> $final_plot_file_name -echo "set cbtics 20" >> $final_plot_file_name -echo "set mcbtics 4" >> $final_plot_file_name -#echo "plot \"""$final_file_name""\" u 2:3:(3):5 w p ls 7 ps 6 lc palette " >> $final_plot_file_name -#echo "plot \"""$final_file_name""\" u 2:3:(3):5 w p ls 6 ps 6 lc rgb \"black\" " >> $final_plot_file_name -echo "plot \"""$final_file_name""\" u 2:3:(sprintf('%.0f',\$5)) w labels font 'Times Bold,24' " >> $final_plot_file_name -#echo "plot \"""$final_file_name""\" u 2:3:(2) w circle lc rgb \"black\" " >> $final_plot_file_name -#echo "plot \"""$final_file_name""\" u 2:3:(1.5):5 w circle lc palette " >> $final_plot_file_name -#echo "pause -1" >> $final_plot_file_name - -if [ "$i_vel" == "25" ] && [ "$i_BV" == "1e23" ]; then - echo "set origin 0.265,0.64" >> $final_plot_file_name -elif [ "$i_vel" == "50" ] && [ "$i_BV" == "1e23" ]; then - echo "set origin 0.575,0.64" >> $final_plot_file_name -elif [ "$i_vel" == "125" ] && [ "$i_BV" == "1e23" ]; then - echo "set origin 0.885,0.64" >> $final_plot_file_name - echo "unset colorbox" >> $final_plot_file_name -elif [ "$i_vel" == "25" ] && [ "$i_BV" == "1e24" ]; then - echo "set origin 0.265,0.32" >> $final_plot_file_name -elif [ "$i_vel" == "50" ] && [ "$i_BV" == "1e24" ]; then - echo "set origin 0.575,0.32" >> $final_plot_file_name -elif [ "$i_vel" == "125" ] && [ "$i_BV" == "1e24" ]; then - echo "set origin 0.885,0.32" >> $final_plot_file_name -elif [ "$i_vel" == "25" ] && [ "$i_BV" == "5e24" ]; then - echo "set origin 0.265,0" >> $final_plot_file_name -elif [ "$i_vel" == "50" ] && [ "$i_BV" == "5e24" ]; then - echo "set origin 0.575,0" >> $final_plot_file_name -elif [ "$i_vel" == "125" ] && [ "$i_BV" == "5e24" ]; then - echo "set origin 0.885,0" >> $final_plot_file_name -fi - -echo "set size 0.05,0.32" >> $final_plot_file_name -echo "" >> $final_plot_file_name -echo "unset ylabel" >> $final_plot_file_name -echo "unset xlabel" >> $final_plot_file_name -echo "set cblabel \"Final nonlinear residual (square)\"" >> $final_plot_file_name -echo "set palette rgb 33,13,10" >> $final_plot_file_name -echo "set logscale y" >> $final_plot_file_name -echo "set logscale cb" >> $final_plot_file_name -echo "set format cb '%.0e'" >> $final_plot_file_name -echo "set cbtics nomirror" >> $final_plot_file_name -echo "" >> $final_plot_file_name -echo "set format y '%.0e'" >> $final_plot_file_name -echo "set xtics 10" >> $final_plot_file_name -echo "set mxtics 2" >> $final_plot_file_name -echo "unset ytics" >> $final_plot_file_name -echo "set xrange [147:153]" >> $final_plot_file_name -echo "set yrange [1e-9:10]" >> $final_plot_file_name -echo "set cbrange [1e-20:1e-1]" >> $final_plot_file_name -echo "unset key" >> $final_plot_file_name -echo "plot \"""$final_file_name""\" u 2:3:(3):4 w p ls 5 ps 10 lc palette " >> $final_plot_file_name -echo "unset colorbox" >> $final_plot_file_name -echo "unset logscale cb" >> $final_plot_file_name -echo "set format cb '%.0f'" >> $final_plot_file_name -echo "set cbtics nomirror" >> $final_plot_file_name -echo "set style fill solid" >> $final_plot_file_name -echo "set palette rgb 33,13,10" >> $final_plot_file_name -echo "set cbrange [0:100]" >> $final_plot_file_name -echo "set cbtics 20" >> $final_plot_file_name -echo "set mcbtics 4" >> $final_plot_file_name -echo "plot \"""$final_file_name""\" u 2:3:(sprintf('%.0f',\$5)) w labels font 'Times Bold,24' " >> $final_plot_file_name - -gnuplot $final_plot_file_name -done -done -done -done -done -done -done -done -done -done -done -done -done -done -done diff --git a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/doc/figure_4.png b/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/doc/figure_4.png new file mode 100644 index 0000000000000000000000000000000000000000..79a2a7f7b54ff5eba51201e52b1f8e05c2f19b1c GIT binary patch literal 219315 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⋘@=r>CVQlas%HoMxM)((CF8R!ZoZ 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%0AS8-l948>(K$bJ!`N*_Y?`A{^k11 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¥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 &*|IrRR~;g|T*wJxPI{H&e9 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 literal 0 HcmV?d00001 diff --git a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/image_collections/.gitignore b/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/image_collections/.gitignore deleted file mode 100644 index 5e7d2734cfc..00000000000 --- a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/image_collections/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -# Ignore everything in this directory -* -# Except this file -!.gitignore diff --git a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/image_data/.gitignore b/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/image_data/.gitignore deleted file mode 100644 index 5e7d2734cfc..00000000000 --- a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/image_data/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -# Ignore everything in this directory -* -# Except this file -!.gitignore diff --git a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/image_plotfiles/.gitignore b/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/image_plotfiles/.gitignore deleted file mode 100644 index 5e7d2734cfc..00000000000 --- a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/image_plotfiles/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -# Ignore everything in this directory -* -# Except this file -!.gitignore diff --git a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/input.prm b/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/input.prm index a35e871b3ca..7db3e5d4fcb 100644 --- a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/input.prm +++ b/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/input.prm @@ -1,21 +1,25 @@ set Additional shared libraries = ./libdrucker_prager_compositions.so set Use years in output instead of seconds = false -set Nonlinear solver scheme = iterated Advection and Newton Stokes +set Nonlinear solver scheme = single Advection, iterated Newton Stokes set Max nonlinear iterations = 150 set Nonlinear solver tolerance = 1e-14 set Pressure normalization = no +# This is an instantaneous benchmark +set End time = 0.0 + + subsection Solver parameters subsection Stokes solver parameters - set Number of cheap Stokes solver steps = 0 - set Linear solver tolerance = 1e-5 + set Linear solver tolerance = 1e-8 + set Stokes solver type = block AMG end subsection Newton solver parameters set Max pre-Newton nonlinear iterations = 5 set SPD safety factor = 0.9 - set Nonlinear Newton solver switch tolerance = 1e-20 # - set Max Newton line search iterations = 0 + set Nonlinear Newton solver switch tolerance = 1e-20 + set Max Newton line search iterations = 5 set Maximum linear Stokes solver tolerance = 9e-1 set Use Newton residual scaling method = false set Use Newton failsafe = false @@ -94,14 +98,14 @@ subsection Material model set Viscosity averaging p = -1 set Use deviator of strain-rate = true set Use analytical derivative = false - set Reference viscosity = 5e24 + set Reference viscosity = 1e23 set Reference compressibility = 0 end end subsection Mesh refinement set Initial adaptive refinement = 0 - set Initial global refinement = 5 + set Initial global refinement = 4 set Strategy = strain rate end @@ -109,6 +113,15 @@ subsection Boundary temperature model set Fixed temperature boundary indicators = end +subsection Boundary composition model + set Fixed composition boundary indicators = left, right, top + set List of model names = function + + subsection Function + set Function expression = 0.0 + end +end + subsection Boundary velocity model # Prescribe a horizontal traction on the vertical boundaries set Tangential velocity boundary indicators = 2 @@ -128,7 +141,7 @@ subsection Boundary traction model end subsection Postprocess - set List of postprocessors = velocity statistics, pressure statistics, mass flux statistics, visualization + set List of postprocessors = velocity statistics, pressure statistics, mass flux statistics, composition statistics, visualization subsection Visualization set List of output variables = material properties,strain rate, spd factor diff --git a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/metabash.sh b/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/metabash.sh deleted file mode 100755 index 4932e503272..00000000000 --- a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/metabash.sh +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/bash -version="c3" -declare -a grid=(4) -declare -a NSP=("none") # "symmetric" "none") #Use Newton stabilization preconditioner -declare -a NSA=("none") # "symmetric" "none") #Use Newton stabilization A block -declare -a UFS=("truefalse") #"false") # use failsafe -declare -a RSM=("truefalse") # "true") # use residual scaling -declare -a LS=(0-5-10) #(10) # line search -declare -a COMP=(0) # copmressibiltiy -declare -a phi=(30) -declare -a ST=("1e-20") # "1e-4") -declare -a UDS=("false" "true") -declare -a SF=("9e-1") # "9.9e-1") # "9.99e-1" "1") -declare -a AEW=("false") #"true" #"false" -processes=4 - -for i_grid in "${grid[@]}" -do - for i_NSP in "${NSP[@]}" - do - for i_NSA in "${NSA[@]}" - do - for i_LS in "${LS[@]}" - do - for i_RSM in "${RSM[@]}" - do - for i_UFS in "${UFS[@]}" - do - for i_COMP in "${COMP[@]}" - do - for i_phi in "${phi[@]}" - do - for i_ST in "${ST[@]}" - do - for i_UDS in "${UDS[@]}" - do - for i_SF in "${SF[@]}" - do - for i_AEW in "${AEW[@]}" - do - output_name="$version""_g""$i_grid""_UFS""$i_UFS""_NSP-""$i_NSP""_NSA-""$i_NSA""_LS""$i_LS""_RSM""$i_RSM""_phi""$i_phi""_COMP""$i_COMP""_ST""$i_ST""_UDS""$i_UDS""_SF""$i_SF""_AEW""$i_AEW" - log_file="auto_logs/""$output_name"".log" - bash_auto_file="bash_autos/bash_""$output_name"".sh" - echo "$output_name" - sed \ - -e "s/declare -a grid.*/declare -a grid=($i_grid)/g" \ - -e "s/declare -a UFS.*/declare -a UFS=(\"false\" \"true\")/g" \ - -e "s/declare -a NSP.*/declare -a NSP=($i_NSP)/g" \ - -e "s/declare -a NSA.*/declare -a NSA=($i_NSA)/g" \ - -e "s/declare -a ST.*/declare -a ST=($i_ST)/g" \ - -e "s/declare -a UDS.*/declare -a UDS=($i_UDS)/g" \ - -e "s/declare -a SF.*/declare -a SF=($i_SF)/g" \ - -e "s/declare -a AEW.*/declare -a AEW=($i_AEW)/g" \ - -e "s/declare -a LS.*/declare -a LS=(0 5 10)/g" \ - -e "s/version=.*/declare -a version=\"$version\"/g" \ - -e "s/declare -a RSM.*/declare -a RSM=(\"false\" \"true\")/g" \ - -e "s/phi=.*/phi=\"$i_phi\"/g" \ - -e "s/COMP=.*/COMP=\"$i_COMP\"/g" \ - -e "s/processes=.*/processes=\"$processes\"/g" \ - bash.sh > $bash_auto_file - nohup bash ./$bash_auto_file > $log_file 2>&1 & - sleep 2 - - done - done - done - done - done - done - done - done - done - done - done -done diff --git a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/metabash_itimpes.sh b/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/metabash_itimpes.sh deleted file mode 100755 index 32893cfe197..00000000000 --- a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/metabash_itimpes.sh +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/bash -version="c3" -declare -a grid=(4) -declare -a NSP=("none") # "symmetric" "none") #Use Newton stabilization preconditioner -declare -a NSA=("none") # "symmetric" "none") #Use Newton stabilization A block -declare -a UFS=("truefalse") #"false") # use failsafe -declare -a RSM=("truefalse") # "true") # use residual scaling -declare -a LS=(0-5-10) #(10) # line search -declare -a COMP=(0) # copmressibiltiy -declare -a phi=(30) -declare -a ST=("1e-20") # "1e-4") -declare -a UDS=("false" "true") #"true" #"false" -declare -a SF=("9e-1") # "9.9e-1") # "9.99e-1" "1") -declare -a AEW=("false") #"true" #"false" -processes=4 - -for i_grid in "${grid[@]}" -do - for i_NSP in "${NSP[@]}" - do - for i_NSA in "${NSA[@]}" - do - for i_LS in "${LS[@]}" - do - for i_RSM in "${RSM[@]}" - do - for i_UFS in "${UFS[@]}" - do - for i_COMP in "${COMP[@]}" - do - for i_phi in "${phi[@]}" - do - for i_ST in "${ST[@]}" - do - for i_UDS in "${UDS[@]}" - do - for i_SF in "${SF[@]}" - do - for i_AEW in "${AEW[@]}" - do - output_name="$version""_g""$i_grid""_UFS""$i_UFS""_NSP-""$i_NSP""_NSA-""$i_NSA""_LS""$i_LS""_RSM""$i_RSM""_phi""$i_phi""_COMP""$i_COMP""_ST""$i_ST""_UDS""$i_UDS""_SF""$i_SF""_AEW""$i_AEW" - log_file="auto_logs/""$output_name"".log" - bash_auto_file="bash_autos/bash_""$output_name"".sh" - echo "$output_name" - sed \ - -e "s/declare -a grid.*/declare -a grid=($i_grid)/g" \ - -e "s/declare -a UFS.*/declare -a UFS=(\"false\" \"true\")/g" \ - -e "s/declare -a NSP.*/declare -a NSP=($i_NSP)/g" \ - -e "s/declare -a NSA.*/declare -a NSA=($i_NSA)/g" \ - -e "s/declare -a ST.*/declare -a ST=($i_ST)/g" \ - -e "s/declare -a UDS.*/declare -a UDS=($i_UDS)/g" \ - -e "s/declare -a SF.*/declare -a SF=($i_SF)/g" \ - -e "s/declare -a AEW.*/declare -a AEW=($i_AEW)/g" \ - -e "s/declare -a LS.*/declare -a LS=(0 5 10)/g" \ - -e "s/version=.*/declare -a version=\"$version\"/g" \ - -e "s/declare -a RSM.*/declare -a RSM=(\"false\" \"true\")/g" \ - -e "s/phi=.*/phi=\"$i_phi\"/g" \ - -e "s/COMP=.*/COMP=\"$i_COMP\"/g" \ - -e "s/processes=.*/processes=\"$processes\"/g" \ - bash.sh > $bash_auto_file - - nohup bash ./$bash_auto_file > $log_file 2>&1 & - sleep 2 - - done - done - done - done - done - done - done - done - done - done - done -done diff --git a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/plot.gnuplot b/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/plot.gnuplot new file mode 100644 index 00000000000..8c39043e08c --- /dev/null +++ b/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/plot.gnuplot @@ -0,0 +1,94 @@ +set terminal pngcairo size 1600,1050 enhanced font 'Verdana,14' +set output 'figure_4.png' +set yrange [1e-14:1] +set xrange [0:50] +set format y '%g' +set logscale y +set multiplot title "Spiegelman benchmark convergence result for refinement 4 (64 by 16 cells)" font 'Verdana, 20' +set size 0.33,0.49 +set origin 0,0.48 +unset key +set title "Vel: 2.5cm/yr, \\eta_{ref}: 1e23, mLT: 9e-1" +plot \ +'results/singleAdvectionanditeratedStokes_vel_25_BV_1e23/plot.dat' u 9:10 w l lw 4 lc rgb 'purple' t 'Picard', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_9e-1_P150_vel_25_BV_1e23/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'purple' t 'DC Picard', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_9e-1_P0_vel_25_BV_1e23/plot.dat' u 9:10 w l lw 4 lc rgb 'black' t '0 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_9e-1_P0_vel_25_BV_1e23/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'black' t '0 Picard stabilized', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_9e-1_P5_vel_25_BV_1e23/plot.dat' u 9:10 w l lw 4 lc rgb 'blue' t '5 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_9e-1_P5_vel_25_BV_1e23/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'blue' t '5 Picard stabilized', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_9e-1_P15_vel_25_BV_1e23/plot.dat' u 9:10 w l lw 4 lc rgb 'orange' t '15 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_9e-1_P15_vel_25_BV_1e23/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'orange' t '15 Picard stabilized', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_9e-1_P25_vel_25_BV_1e23/plot.dat' u 9:10 w l lw 4 lc rgb 'red' t '25 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_9e-1_P25_vel_25_BV_1e23/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'red' t '25 Picard stabilized' + +set origin 0.33,0.48 +set title "Vel: 5cm/yr, \\eta_{ref}: 1e24, mLT: 9e-1" +plot \ +'results/singleAdvectionanditeratedStokes_vel_50_BV_1e24/plot.dat' u 9:10 w l lw 4 lc rgb 'purple' t 'Picard', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_9e-1_P150_vel_50_BV_1e24/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'purple' t 'DC Picard', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_9e-1_P0_vel_50_BV_1e24/plot.dat' u 9:10 w l lw 4 lc rgb 'black' t '0 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_9e-1_P0_vel_50_BV_1e24/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'black' t '0 Picard stabilized', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_9e-1_P5_vel_50_BV_1e24/plot.dat' u 9:10 w l lw 4 lc rgb 'blue' t '5 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_9e-1_P5_vel_50_BV_1e24/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'blue' t '5 Picard stabilized', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_9e-1_P15_vel_50_BV_1e24/plot.dat' u 9:10 w l lw 4 lc rgb 'orange' t '15 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_9e-1_P15_vel_50_BV_1e24/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'orange' t '15 Picard stabilized', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_9e-1_P25_vel_50_BV_1e24/plot.dat' u 9:10 w l lw 4 lc rgb 'red' t '25 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_9e-1_P25_vel_50_BV_1e24/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'red' t '25 Picard stabilized' + +set origin 0.66,0.48 +set title "Vel: 12.5cm/yr, \\eta_{ref}: 5e24, mLT: 9e-1" +plot \ +'results/singleAdvectionanditeratedStokes_vel_125_BV_5e24/plot.dat' u 9:10 w l lw 4 lc rgb 'purple' t 'Picard', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_9e-1_P150_vel_125_BV_5e24/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'purple' t 'DC Picard', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_9e-1_P0_vel_125_BV_5e24/plot.dat' u 9:10 w l lw 4 lc rgb 'black' t '0 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_9e-1_P0_vel_125_BV_5e24/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'black' t '0 Picard stabilized', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_9e-1_P5_vel_125_BV_5e24/plot.dat' u 9:10 w l lw 4 lc rgb 'blue' t '5 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_9e-1_P5_vel_125_BV_5e24/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'blue' t '5 Picard stabilized', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_9e-1_P15_vel_125_BV_5e24/plot.dat' u 9:10 w l lw 4 lc rgb 'orange' t '15 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_9e-1_P15_vel_125_BV_5e24/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'orange' t '15 Picard stabilized', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_9e-1_P25_vel_125_BV_5e24/plot.dat' u 9:10 w l lw 4 lc rgb 'red' t '25 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_9e-1_P25_vel_125_BV_5e24/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'red' t '25 Picard stabilized' + +set origin 0.0,0.0 +set title "Vel: 2.5cm/yr, \\eta_{ref}: 1e23, mLT: 1e-8" +plot \ +'results/singleAdvectionanditeratedStokes_vel_25_BV_1e23/plot.dat' u 9:10 w l lw 4 lc rgb 'purple' t 'Picard', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_1e-8_P150_vel_25_BV_1e23/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'purple' t 'DC Picard', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_1e-8_P0_vel_25_BV_1e23/plot.dat' u 9:10 w l lw 4 lc rgb 'black' t '0 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_1e-8_P0_vel_25_BV_1e23/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'black' t '0 Picard stabilized', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_1e-8_P5_vel_25_BV_1e23/plot.dat' u 9:10 w l lw 4 lc rgb 'blue' t '5 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_1e-8_P5_vel_25_BV_1e23/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'blue' t '5 Picard stabilized', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_1e-8_P15_vel_25_BV_1e23/plot.dat' u 9:10 w l lw 4 lc rgb 'orange' t '15 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_1e-8_P15_vel_25_BV_1e23/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'orange' t '15 Picard stabilized', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_1e-8_P25_vel_25_BV_1e23/plot.dat' u 9:10 w l lw 4 lc rgb 'red' t '25 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_1e-8_P25_vel_25_BV_1e23/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'red' t '25 Picard stabilized' + +set origin 0.33,0.0 +set title "Vel: 5cm/yr, \\eta_{ref}: 1e24, mLT: 1e-8" +plot \ +'results/singleAdvectionanditeratedStokes_vel_50_BV_1e24/plot.dat' u 9:10 w l lw 4 lc rgb 'purple' t 'Picard', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_1e-8_P150_vel_50_BV_1e24/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'purple' t 'DC Picard', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_1e-8_P0_vel_50_BV_1e24/plot.dat' u 9:10 w l lw 4 lc rgb 'black' t '0 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_1e-8_P0_vel_50_BV_1e24/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'black' t '0 Picard stabilized', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_1e-8_P5_vel_50_BV_1e24/plot.dat' u 9:10 w l lw 4 lc rgb 'blue' t '5 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_1e-8_P5_vel_50_BV_1e24/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'blue' t '5 Picard stabilized', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_1e-8_P15_vel_50_BV_1e24/plot.dat' u 9:10 w l lw 4 lc rgb 'orange' t '15 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_1e-8_P15_vel_50_BV_1e24/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'orange' t '15 Picard stabilized', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_1e-8_P25_vel_50_BV_1e24/plot.dat' u 9:10 w l lw 4 lc rgb 'red' t '25 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_1e-8_P25_vel_50_BV_1e24/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'red' t '25 Picard stabilized' + +set key bottom right +set key spacing 0.8 +set origin 0.66,0.0 +set title "Vel: 12.5cm/yr, \\eta_{ref}: 5e24, mLT: 1e-8" +plot \ +'results/singleAdvectionanditeratedStokes_vel_125_BV_5e24/plot.dat' u 9:10 w l lw 4 lc rgb 'purple' t 'Picard', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_1e-8_P150_vel_125_BV_5e24/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'purple' t 'DC Picard', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_1e-8_P0_vel_125_BV_5e24/plot.dat' u 9:10 w l lw 4 lc rgb 'black' t '0 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_1e-8_P0_vel_125_BV_5e24/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'black' t '0 Picard stabilized', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_1e-8_P5_vel_125_BV_5e24/plot.dat' u 9:10 w l lw 4 lc rgb 'blue' t '5 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_1e-8_P5_vel_125_BV_5e24/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'blue' t '5 Picard stabilized', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_1e-8_P15_vel_125_BV_5e24/plot.dat' u 9:10 w l lw 4 lc rgb 'orange' t '15 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_1e-8_P15_vel_125_BV_5e24/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'orange' t '15 Picard stabilized', \ +'results/singleAdvectionandNewtonStokes_NS_none_mLT_1e-8_P25_vel_125_BV_5e24/plot.dat' u 9:10 w l lw 4 lc rgb 'red' t '25 Picard unstabilized', \ +'results/singleAdvectionandNewtonStokes_NS_SPD_mLT_1e-8_P25_vel_125_BV_5e24/plot.dat' u 9:10 w p pt 1 lw 4 lc rgb 'red' t '25 Picard stabilized' diff --git a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/run.sh b/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/run.sh new file mode 100755 index 00000000000..f5ee0199fcf --- /dev/null +++ b/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/run.sh @@ -0,0 +1,66 @@ +#!/bin/bash +processes=4 +infile="input.prm" +outfile="output.log" +errorfile="error.log" +plotfile="plot.dat" + +for case in 1 2 3; do + # velocity in m/s + if [ $case == 1 ]; then + velocity=25 + U="7.92219116e-11" + background_viscosity="1e23" + elif [ $case == 2 ]; then + velocity=50 + U="1.58443823e-10" + background_viscosity="1e24" + elif [ $case == 3 ]; then + velocity=125 + U="3.96109558e-10" + background_viscosity="5e24" + fi + + # First run one model with only Picard iterations + dirname_base="singleAdvectionanditeratedStokes_vel_${velocity}_BV_${background_viscosity}" + dirname="results/${dirname_base}" + echo "Starting $dirname" + mkdir -p $dirname + + sed \ + -e "s/set Function expression = if(x<60e3,.*/ set Function expression = if(x<60e3,$U,-$U);0/g" \ + -e "s/set Reference viscosity .*/ set Reference viscosity = $background_viscosity/g" \ + -e "s/set Output directory .*/set Output directory = results\/$dirname_base/g" \ + -e "s/set Nonlinear solver scheme .*/set Nonlinear solver scheme = single Advection, iterated Stokes/g" \ + -e "s/set List of output variables .*/set List of output variables = material properties,strain rate/g" \ + -e "s/set Linear solver tolerance .*/set Linear solver tolerance = 1e-14/g" \ + $infile > "$dirname/$infile" + + nohup mpirun -np $processes ./aspect "${dirname}/${infile}" > ${dirname}/${outfile} 2>${dirname}/${errorfile} + grep "Relative nonlinear residual " ${dirname}/${outfile} > ${dirname}/${plotfile} + + # Now run Newton solver models with varying solver parameters + for stabilization in "none" "SPD"; do + for picard_iterations in 0 5 15 25 150; do # note 150 represents pure defect-correction Picard + for maximum_linear_tolerance in "9e-1" "1e-8"; do + dirname_base="singleAdvectionandNewtonStokes""_NS_${stabilization}_mLT_${maximum_linear_tolerance}_P${picard_iterations}_vel_${velocity}_BV_${background_viscosity}" + dirname="results/$dirname_base" + echo "Starting $dirname" + mkdir -p $dirname + + sed \ + -e "s/set Function expression = if(x<60e3,.*/ set Function expression = if(x<60e3,$U,-$U);0/g" \ + -e "s/set Reference viscosity .*/ set Reference viscosity = $background_viscosity/g" \ + -e "s/set Output directory .*/set Output directory = results\/$dirname_base/g" \ + -e "s/set Max pre-Newton nonlinear iterations .*/ set Max pre-Newton nonlinear iterations = $picard_iterations/g" \ + -e "s/set Stabilization preconditioner .*/set Stabilization preconditioner = $stabilization/g" \ + -e "s/set Stabilization velocity block .*/set Stabilization velocity block = $stabilization/g" \ + -e "s/set Maximum linear Stokes solver tolerance .*/set Maximum linear Stokes solver tolerance = $maximum_linear_tolerance/g" \ + $infile > "$dirname/$infile" + + nohup mpirun -np $processes ./aspect $dirname/$infile > $dirname/$outfile 2>$dirname/$errorfile + grep "Relative nonlinear residual " $dirname/$outfile > $dirname/$plotfile + done + done + done +done diff --git a/doc/sphinx/references.bib b/doc/sphinx/references.bib index c1bf6582649..d7e873fdeb1 100644 --- a/doc/sphinx/references.bib +++ b/doc/sphinx/references.bib @@ -12306,4 +12306,15 @@ @article{mcdonough:sun:1995 pages={223--253}, year={1995}, publisher={Elsevier} -} \ No newline at end of file +} + +@article{spiegelman:etal:2016, + title={On the solvability of incompressible Stokes with viscoplastic rheologies in geodynamics}, + author={Spiegelman, Marc and May, Dave A and Wilson, Cian R}, + journal={Geochemistry, Geophysics, Geosystems}, + volume={17}, + number={6}, + pages={2213--2238}, + year={2016}, + publisher={Wiley Online Library} +} diff --git a/tests/spiegelman_benchmark.cc b/tests/spiegelman_benchmark.cc new file mode 100644 index 00000000000..7c66b22d012 --- /dev/null +++ b/tests/spiegelman_benchmark.cc @@ -0,0 +1,21 @@ +/* + Copyright (C) 2024 - by the authors of the ASPECT code. + + This file is part of ASPECT. + + ASPECT is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + ASPECT is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with ASPECT; see the file LICENSE. If not see + . +*/ + +#include "../benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/drucker_prager_compositions.cc" diff --git a/tests/spiegelman_benchmark.prm b/tests/spiegelman_benchmark.prm new file mode 100644 index 00000000000..5ba18cecdce --- /dev/null +++ b/tests/spiegelman_benchmark.prm @@ -0,0 +1,8 @@ +# This is a simple case of the Spiegelman et al. 2016 benchmark set. +# This test exists to make sure the benchmark input file is executable and +# the results remain approximately unchanged. See the benchmark for +# more details on the model and results. + +set Dimension = 2 + +include $ASPECT_SOURCE_DIR/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/input.prm diff --git a/tests/spiegelman_benchmark/screen-output b/tests/spiegelman_benchmark/screen-output new file mode 100644 index 00000000000..30de75fc00b --- /dev/null +++ b/tests/spiegelman_benchmark/screen-output @@ -0,0 +1,115 @@ + +Loading shared library <./libspiegelman_benchmark.debug.so> + +Number of active cells: 1,024 (on 5 levels) +Number of degrees of freedom: 18,133 (8,514+1,105+4,257+4,257) + +*** Timestep 0: t=0 seconds, dt=0 seconds + Skipping temperature solve because RHS is zero. + Solving C_1 system ... 0 iterations. + Initial Newton Stokes residual = 1.56e+14, v = 1.54916e+14, p = 1.83559e+13 + + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 73+0 iterations. + Newton system information: Norm of the rhs: 1.56e+14 + Relative nonlinear residual (Stokes system) after nonlinear iteration 1: 1 + + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 73+0 iterations. + Newton system information: Norm of the rhs: 2.96687e+11, Derivative scaling factor: 0 + Relative nonlinear residual (Stokes system) after nonlinear iteration 2: 0.00190184 + + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 75+0 iterations. + Newton system information: Norm of the rhs: 6.45169e+10, Derivative scaling factor: 0 + Relative nonlinear residual (Stokes system) after nonlinear iteration 3: 0.00041357 + + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 75+0 iterations. + Newton system information: Norm of the rhs: 1.68293e+10, Derivative scaling factor: 0 + Relative nonlinear residual (Stokes system) after nonlinear iteration 4: 0.00010788 + + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 77+0 iterations. + Newton system information: Norm of the rhs: 5.77031e+09, Derivative scaling factor: 0 + Relative nonlinear residual (Stokes system) after nonlinear iteration 5: 3.69892e-05 + + Switching from defect correction form of Picard to the Newton solver scheme. + The linear solver tolerance is set to 0.342872. Stabilization Preconditioner is SPD and A block is SPD. + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 6+0 iterations. + Newton system information: Norm of the rhs: 1.90397e+09, Derivative scaling factor: 1 + Relative nonlinear residual (Stokes system) after nonlinear iteration 6: 1.22049e-05 + + The linear solver tolerance is set to 0.176941. Stabilization Preconditioner is SPD and A block is SPD. + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 14+0 iterations. + Newton system information: Norm of the rhs: 3.55866e+08, Derivative scaling factor: 1 + Relative nonlinear residual (Stokes system) after nonlinear iteration 7: 2.28119e-06 + + The linear solver tolerance is set to 0.0221025. Stabilization Preconditioner is SPD and A block is SPD. + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 21+0 iterations. + Newton system information: Norm of the rhs: 4.72273e+07, Derivative scaling factor: 1 + Relative nonlinear residual (Stokes system) after nonlinear iteration 8: 3.02739e-07 + + The linear solver tolerance is set to 0.11164. Stabilization Preconditioner is SPD and A block is SPD. + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 11+0 iterations. + Newton system information: Norm of the rhs: 5.84372e+06, Derivative scaling factor: 1 + Relative nonlinear residual (Stokes system) after nonlinear iteration 9: 3.74598e-08 + + The linear solver tolerance is set to 0.0223596. Stabilization Preconditioner is SPD and A block is SPD. + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 20+0 iterations. + Newton system information: Norm of the rhs: 389976, Derivative scaling factor: 1 + Relative nonlinear residual (Stokes system) after nonlinear iteration 10: 2.49985e-09 + + The linear solver tolerance is set to 0.048001. Stabilization Preconditioner is SPD and A block is SPD. + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 19+0 iterations. + Newton system information: Norm of the rhs: 41104.8, Derivative scaling factor: 1 + Relative nonlinear residual (Stokes system) after nonlinear iteration 11: 2.63493e-10 + + The linear solver tolerance is set to 0.0584744. Stabilization Preconditioner is SPD and A block is SPD. + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 19+0 iterations. + Newton system information: Norm of the rhs: 4468.88, Derivative scaling factor: 1 + Relative nonlinear residual (Stokes system) after nonlinear iteration 12: 2.86467e-11 + + The linear solver tolerance is set to 0.0502904. Stabilization Preconditioner is SPD and A block is SPD. + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 17+0 iterations. + Newton system information: Norm of the rhs: 337.8, Derivative scaling factor: 1 + Relative nonlinear residual (Stokes system) after nonlinear iteration 13: 2.16539e-12 + + The linear solver tolerance is set to 0.0403302. Stabilization Preconditioner is SPD and A block is SPD. + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 19+0 iterations. + Newton system information: Norm of the rhs: 24.3601, Derivative scaling factor: 1 + Relative nonlinear residual (Stokes system) after nonlinear iteration 14: 1.56154e-13 + + The linear solver tolerance is set to 0.0418012. Stabilization Preconditioner is SPD and A block is SPD. + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 21+0 iterations. + Newton system information: Norm of the rhs: 1.87968, Derivative scaling factor: 1 + Relative nonlinear residual (Stokes system) after nonlinear iteration 15: 1.20493e-14 + + The linear solver tolerance is set to 0.0435935. Stabilization Preconditioner is SPD and A block is SPD. + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 21+0 iterations. + Newton system information: Norm of the rhs: 0.231369, Derivative scaling factor: 1 + Relative nonlinear residual (Stokes system) after nonlinear iteration 16: 1.48314e-15 + + + Postprocessing: + RMS, max velocity: 5.21e-11 m/s, 8.72e-11 m/s + Pressure min/avg/max: 8.098e+07 Pa, 5.014e+08 Pa, 8.58e+08 Pa + Mass fluxes through boundary parts: -0.006483 kg/s, -0.006483 kg/s, 0 kg/s, 0.01297 kg/s + Compositions min/max/mass: 0/1/8.705e+08 + Writing graphical output: output-spiegelman_benchmark/solution/solution-00000 + +Termination requested by criterion: end time + + + From d29f915ad611e52d7c6bc7f6bff9afcd53c24c07 Mon Sep 17 00:00:00 2001 From: Rene Gassmoeller Date: Wed, 27 Nov 2024 11:17:00 +0100 Subject: [PATCH 3/4] Add tests --- ..._benchmark.cc => spiegelman_et_al_2016.cc} | 0 ...enchmark.prm => spiegelman_et_al_2016.prm} | 0 .../screen-output | 4 +- tests/spiegelman_et_al_2016_unstabilized.cc | 21 +++++ tests/spiegelman_et_al_2016_unstabilized.prm | 15 ++++ .../screen-output | 79 +++++++++++++++++++ 6 files changed, 117 insertions(+), 2 deletions(-) rename tests/{spiegelman_benchmark.cc => spiegelman_et_al_2016.cc} (100%) rename tests/{spiegelman_benchmark.prm => spiegelman_et_al_2016.prm} (100%) rename tests/{spiegelman_benchmark => spiegelman_et_al_2016}/screen-output (97%) create mode 100644 tests/spiegelman_et_al_2016_unstabilized.cc create mode 100644 tests/spiegelman_et_al_2016_unstabilized.prm create mode 100644 tests/spiegelman_et_al_2016_unstabilized/screen-output diff --git a/tests/spiegelman_benchmark.cc b/tests/spiegelman_et_al_2016.cc similarity index 100% rename from tests/spiegelman_benchmark.cc rename to tests/spiegelman_et_al_2016.cc diff --git a/tests/spiegelman_benchmark.prm b/tests/spiegelman_et_al_2016.prm similarity index 100% rename from tests/spiegelman_benchmark.prm rename to tests/spiegelman_et_al_2016.prm diff --git a/tests/spiegelman_benchmark/screen-output b/tests/spiegelman_et_al_2016/screen-output similarity index 97% rename from tests/spiegelman_benchmark/screen-output rename to tests/spiegelman_et_al_2016/screen-output index 30de75fc00b..ca40c4d0a1f 100644 --- a/tests/spiegelman_benchmark/screen-output +++ b/tests/spiegelman_et_al_2016/screen-output @@ -1,5 +1,5 @@ -Loading shared library <./libspiegelman_benchmark.debug.so> +Loading shared library <./libspiegelman_et_al_2016.debug.so> Number of active cells: 1,024 (on 5 levels) Number of degrees of freedom: 18,133 (8,514+1,105+4,257+4,257) @@ -107,7 +107,7 @@ Number of degrees of freedom: 18,133 (8,514+1,105+4,257+4,257) Pressure min/avg/max: 8.098e+07 Pa, 5.014e+08 Pa, 8.58e+08 Pa Mass fluxes through boundary parts: -0.006483 kg/s, -0.006483 kg/s, 0 kg/s, 0.01297 kg/s Compositions min/max/mass: 0/1/8.705e+08 - Writing graphical output: output-spiegelman_benchmark/solution/solution-00000 + Writing graphical output: output-spiegelman_et_al_2016/solution/solution-00000 Termination requested by criterion: end time diff --git a/tests/spiegelman_et_al_2016_unstabilized.cc b/tests/spiegelman_et_al_2016_unstabilized.cc new file mode 100644 index 00000000000..7c66b22d012 --- /dev/null +++ b/tests/spiegelman_et_al_2016_unstabilized.cc @@ -0,0 +1,21 @@ +/* + Copyright (C) 2024 - by the authors of the ASPECT code. + + This file is part of ASPECT. + + ASPECT is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + ASPECT is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with ASPECT; see the file LICENSE. If not see + . +*/ + +#include "../benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/drucker_prager_compositions.cc" diff --git a/tests/spiegelman_et_al_2016_unstabilized.prm b/tests/spiegelman_et_al_2016_unstabilized.prm new file mode 100644 index 00000000000..798f25750e1 --- /dev/null +++ b/tests/spiegelman_et_al_2016_unstabilized.prm @@ -0,0 +1,15 @@ +# Like the test spiegelman_et_al_2016, but without SPD stabilization of +# the Newton matrix or preconditioner. Because this is the simplest case +# of the benchmark, convergence is still guaranteed and will be +# faster than in the stabilized default case. + +set Dimension = 2 + +include $ASPECT_SOURCE_DIR/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/input.prm + +subsection Solver parameters + subsection Newton solver parameters + set Stabilization preconditioner = none + set Stabilization velocity block = none + end +end diff --git a/tests/spiegelman_et_al_2016_unstabilized/screen-output b/tests/spiegelman_et_al_2016_unstabilized/screen-output new file mode 100644 index 00000000000..cf85cf7f436 --- /dev/null +++ b/tests/spiegelman_et_al_2016_unstabilized/screen-output @@ -0,0 +1,79 @@ + +Loading shared library <./libspiegelman_et_al_2016_unstabilized.debug.so> + +Number of active cells: 1,024 (on 5 levels) +Number of degrees of freedom: 18,133 (8,514+1,105+4,257+4,257) + +*** Timestep 0: t=0 seconds, dt=0 seconds + Skipping temperature solve because RHS is zero. + Solving C_1 system ... 0 iterations. + Initial Newton Stokes residual = 1.56e+14, v = 1.54916e+14, p = 1.83559e+13 + + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 73+0 iterations. + Newton system information: Norm of the rhs: 1.56e+14 + Relative nonlinear residual (Stokes system) after nonlinear iteration 1: 1 + + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 73+0 iterations. + Newton system information: Norm of the rhs: 2.96687e+11, Derivative scaling factor: 0 + Relative nonlinear residual (Stokes system) after nonlinear iteration 2: 0.00190184 + + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 75+0 iterations. + Newton system information: Norm of the rhs: 6.45169e+10, Derivative scaling factor: 0 + Relative nonlinear residual (Stokes system) after nonlinear iteration 3: 0.00041357 + + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 75+0 iterations. + Newton system information: Norm of the rhs: 1.68293e+10, Derivative scaling factor: 0 + Relative nonlinear residual (Stokes system) after nonlinear iteration 4: 0.00010788 + + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 77+0 iterations. + Newton system information: Norm of the rhs: 5.77031e+09, Derivative scaling factor: 0 + Relative nonlinear residual (Stokes system) after nonlinear iteration 5: 3.69892e-05 + + Switching from defect correction form of Picard to the Newton solver scheme. + The linear solver tolerance is set to 0.342872. Stabilization Preconditioner is none and A block is none. + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 6+0 iterations. + Newton system information: Norm of the rhs: 1.84613e+09, Derivative scaling factor: 1 + Relative nonlinear residual (Stokes system) after nonlinear iteration 6: 1.18342e-05 + + The linear solver tolerance is set to 0.176941. Stabilization Preconditioner is none and A block is none. + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 14+0 iterations. + Newton system information: Norm of the rhs: 3.08962e+08, Derivative scaling factor: 1 + Relative nonlinear residual (Stokes system) after nonlinear iteration 7: 1.98053e-06 + + The linear solver tolerance is set to 5.66517e-05. Stabilization Preconditioner is none and A block is none. + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 51+0 iterations. + Newton system information: Norm of the rhs: 45303.2, Derivative scaling factor: 1 + Relative nonlinear residual (Stokes system) after nonlinear iteration 8: 2.90405e-10 + + The linear solver tolerance is set to 9.48821e-05. Stabilization Preconditioner is none and A block is none. + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 53+0 iterations. + Newton system information: Norm of the rhs: 3.63378, Derivative scaling factor: 1 + Relative nonlinear residual (Stokes system) after nonlinear iteration 9: 2.32935e-14 + + The linear solver tolerance is set to 2.12357e-08. Stabilization Preconditioner is none and A block is none. + Rebuilding Stokes preconditioner... + Solving Stokes system (AMG)... 93+0 iterations. + Newton system information: Norm of the rhs: 0.0775057, Derivative scaling factor: 1 + Relative nonlinear residual (Stokes system) after nonlinear iteration 10: 4.96832e-16 + + + Postprocessing: + RMS, max velocity: 5.21e-11 m/s, 8.72e-11 m/s + Pressure min/avg/max: 8.098e+07 Pa, 5.014e+08 Pa, 8.58e+08 Pa + Mass fluxes through boundary parts: -0.006483 kg/s, -0.006483 kg/s, 0 kg/s, 0.01297 kg/s + Compositions min/max/mass: 0/1/8.705e+08 + Writing graphical output: output-spiegelman_et_al_2016_unstabilized/solution/solution-00000 + +Termination requested by criterion: end time + + + From 0357203db9898e8c21261e5bddf1a0566e2ea6c5 Mon Sep 17 00:00:00 2001 From: Rene Gassmoeller Date: Wed, 27 Nov 2024 11:29:43 +0100 Subject: [PATCH 4/4] Improve documentation --- .../spiegelman_et_al_2016/README.md | 2 +- .../spiegelman_et_al_2016/run.sh | 10 +++++----- source/simulator/assemblers/newton_stokes.cc | 8 ++++++++ source/simulator/stokes_matrix_free.cc | 4 ++++ 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/README.md b/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/README.md index b82929c0935..f33a60d10a0 100644 --- a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/README.md +++ b/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/README.md @@ -13,7 +13,7 @@ After you have executed `run.sh`, you can use the gnuplot plotting script ```{figure-md} fig:benchmark-newton-spiegelman-2016 -Convergence history of several models of the Spiegelman et al. benchmark: a reproduction of three of the nine pressure dependent Drucker–Prager cases with a resolution of 64 × 16 cells. Top: results for computations where linear systems are solved with a maximum relative tolerance of 0.9. Bottom: The same models solved with a tolerance of $10^{-8}$. The initial Picard iteration is always solved to a linear tolerance of $10^{-14}$. Left to right: different prescribed velocities of u0 = 2.5, 5, and 12.5 cm\yr, and and different background reference viscosities of respectively $\eta_{ref}$ = $10^{23}$, $10^{24}$ and $10^{25}$ Pa s. Horizontal axis: number of the non-linear (outer) iteration; and vertical axis: non-linear residual. "DC Picard" refers to a defect correction Picard iteration, see the paper describing this solver. +Convergence history of several models of the Spiegelman et al. benchmark: a reproduction of three of the nine pressure dependent Drucker–Prager cases with a resolution of 64 × 16 cells. Top: results for computations where linear systems are solved with a maximum relative tolerance of 0.9. Bottom: The same models solved with a tolerance of $10^{-8}$. The initial Picard iteration is always solved to a linear tolerance of $10^{-14}$. Left to right: different prescribed velocities of u0 = 2.5, 5, and 12.5 cm\yr, and different background reference viscosities of respectively $\eta_{ref}$ = $10^{23}$, $10^{24}$ and $10^{25}$ Pa s. Horizontal axis: number of the non-linear (outer) iteration; and vertical axis: non-linear residual. "DC Picard" refers to a defect correction Picard iteration, see the paper describing this solver. ``` The nonlinear convergence behavior of ASPECT's different nonlinear solvers is shown in {numref}`fig:benchmark-newton-spiegelman-2016`. diff --git a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/run.sh b/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/run.sh index f5ee0199fcf..a6eee8eed5a 100755 --- a/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/run.sh +++ b/benchmarks/newton_solver_benchmark_set/spiegelman_et_al_2016/run.sh @@ -28,8 +28,8 @@ for case in 1 2 3; do mkdir -p $dirname sed \ - -e "s/set Function expression = if(x<60e3,.*/ set Function expression = if(x<60e3,$U,-$U);0/g" \ - -e "s/set Reference viscosity .*/ set Reference viscosity = $background_viscosity/g" \ + -e "s/set Function expression = if(x<60e3,.*/set Function expression = if(x<60e3,$U,-$U);0/g" \ + -e "s/set Reference viscosity .*/set Reference viscosity = $background_viscosity/g" \ -e "s/set Output directory .*/set Output directory = results\/$dirname_base/g" \ -e "s/set Nonlinear solver scheme .*/set Nonlinear solver scheme = single Advection, iterated Stokes/g" \ -e "s/set List of output variables .*/set List of output variables = material properties,strain rate/g" \ @@ -49,10 +49,10 @@ for case in 1 2 3; do mkdir -p $dirname sed \ - -e "s/set Function expression = if(x<60e3,.*/ set Function expression = if(x<60e3,$U,-$U);0/g" \ - -e "s/set Reference viscosity .*/ set Reference viscosity = $background_viscosity/g" \ + -e "s/set Function expression = if(x<60e3,.*/set Function expression = if(x<60e3,$U,-$U);0/g" \ + -e "s/set Reference viscosity .*/set Reference viscosity = $background_viscosity/g" \ -e "s/set Output directory .*/set Output directory = results\/$dirname_base/g" \ - -e "s/set Max pre-Newton nonlinear iterations .*/ set Max pre-Newton nonlinear iterations = $picard_iterations/g" \ + -e "s/set Max pre-Newton nonlinear iterations .*/set Max pre-Newton nonlinear iterations = $picard_iterations/g" \ -e "s/set Stabilization preconditioner .*/set Stabilization preconditioner = $stabilization/g" \ -e "s/set Stabilization velocity block .*/set Stabilization velocity block = $stabilization/g" \ -e "s/set Maximum linear Stokes solver tolerance .*/set Maximum linear Stokes solver tolerance = $maximum_linear_tolerance/g" \ diff --git a/source/simulator/assemblers/newton_stokes.cc b/source/simulator/assemblers/newton_stokes.cc index 6528a67cd56..797d87642d9 100644 --- a/source/simulator/assemblers/newton_stokes.cc +++ b/source/simulator/assemblers/newton_stokes.cc @@ -178,6 +178,10 @@ namespace aspect const typename Newton::Parameters::Stabilization preconditioner_stabilization = this->get_newton_handler().parameters.preconditioner_stabilization; + // use the correct strain rate for the Jacobian + // when elasticity is enabled use viscoelastic strain rate + // when stabilization is enabled, use the deviatoric strain rate because the SPD factor + // that is computed is only safe for the deviatoric strain rate (see PR #5580 and issue #5555) SymmetricTensor<2,dim> effective_strain_rate = scratch.material_model_inputs.strain_rate[q]; if (elastic_out != nullptr) effective_strain_rate = elastic_out->viscoelastic_strain_rate[q]; @@ -479,6 +483,10 @@ namespace aspect const Newton::Parameters::Stabilization velocity_block_stabilization = this->get_newton_handler().parameters.velocity_block_stabilization; + // use the correct strain rate for the Jacobian + // when elasticity is enabled use viscoelastic strain rate + // when stabilization is enabled, use the deviatoric strain rate because the SPD factor + // that is computed is only safe for the deviatoric strain rate (see PR #5580 and issue #5555) SymmetricTensor<2,dim> effective_strain_rate = scratch.material_model_inputs.strain_rate[q]; if (elastic_out != nullptr) effective_strain_rate = elastic_out->viscoelastic_strain_rate[q]; diff --git a/source/simulator/stokes_matrix_free.cc b/source/simulator/stokes_matrix_free.cc index 89c2af8f207..26a034f3ea7 100644 --- a/source/simulator/stokes_matrix_free.cc +++ b/source/simulator/stokes_matrix_free.cc @@ -1424,6 +1424,10 @@ namespace aspect for (unsigned int q=0; q effective_strain_rate = in.strain_rate[q]; if (elastic_out != nullptr) effective_strain_rate = elastic_out->viscoelastic_strain_rate[q];