Single Benchmark Execution

List of Benchmarks

  • solid_body_rotation
  • channel_flow_variable_conductivity
  • couette_flow_viscous_heating
  • channel_flow_non_steady_temperature
  • channel_flow_non_newtonian
  • rayleigh_taylor_instability
  • elastic_slab
  • viscoelastic_stress_buildup
  • box_convection_isoviscous_1a
  • plasticity_benchmark_kaus10
  • flexure_triangular_hole
  • seafloor_spreading
  • viscoelastic_extension
  • viscoelastic_extension_asymmetric
  • viscoelastic_extension_depth_dependent
  • viscoelastic_extension_inflow_and_outflow_along_sides
  • viscoelastic_contraction
  • viscoelastic_contraction_asymmetric
  • simple_sedimentation
quick search for benchmark description

Highlight a benchmark name in the list above and use Ctl-F + Enter to navigate to a detailed description in the Benchmark Descriptions section below.

Benchmark Runner

EarthBox.BenchmarksManager.run_benchmarkFunction
run_benchmark(benchmark_name::Symbol; kwargs...)::Nothing

Run the benchmark specified by the benchmark_name.

Optional Keyword Arguments:

  • run_model::Bool:
    • Set to true to run the model. Default is true.
  • run_post_processing::Bool:
    • Set to true to run post processing. Default is true.
  • base_path::String:
    • Base path for the output directory. EarthBox creates a time-stamped subdirectory in this path. Default is the present working directory (pwd()).
  • old_date_stamp::String:
    • Old date stamp for the output directory. If equal to nothing, a new date stamp will be generated. If a old time stamp is provided, the output directory will use the old time stamp. This is useful if you want to re-run post processing on a previous run. The format of the time stamp is YYYY-MM-DDHH-MM-SS. For example: "2024-04-2012-53-59". Default is nothing.
  • make_backup::Bool:
    • Set to true to make backup model files with each output step. This is useful for testing model restart functionality. Default is false.
  • restart_from_backup::Bool:
    • Set to true to restart from a backup file. Default is false.

Returns

  • Nothing

Additional Keyword Arguments:

  • use_mumps::Bool = false:
    • Set to true to use the MUMPS solver. Default is false.
  • nprocs::Int = 1:
    • Number of processors to use if using the MUMPS solver. Default is 1.

Example:

To run the :couette_flow_viscous_heating benchmark with output being sent to the present working directory:

using EarthBox
BenchmarksManager.run_benchmark(:couette_flow_viscous_heating);

Benchmark Descriptions:

:flexure_triangular_hole

  • Flexure in response to a hole in a viscoelastic crustal layer.

:channel_flow_variable_conductivity

  • Vertical constant-viscosity channel flow with temperature- dependent thermal conductivity and shear heating. Boundary conditions are defined using the :VerticalChannelFlowShearHeating boundary condition model type (See EarthBox.BoundaryConditions.initialize!). This benchmark tests the codes ability to handle strong thermal conductivity gradients and shear heating terms in the heat equation. Model parameters are as follows: $L$ = 30 km, $H$ = 11.25 km, $eta$ = $10^{19}$ Pa.s, $P_beg$ = 3e7 Pa, $P_end$ = 0, $T_o$ = 298 K, $k_o$ = 8 W/m/K, $b$ = 1. Resolution is 51 x 11 nodes with 25 randomly distributed markers per cell. For details on the analytical solution see Gerya (2010), pg. 254-255.

:viscoelastic_extension_depth_dependent

  • Simple extension of a viscoelastic layer undergoing water- loaded symmetric depth-dependent extension with inflow along the top and bottom boundaries. Velocity inflow/outflow boundary conditions turned off to allow hydrostatic equilibration. The numerical solution is compared to an analytical solution for water-loaded local isostatic bathymetry.

:channel_flow_non_newtonian

  • Vertical channel flow with non-Newtonian rheology. Boundary conditions are defined using the :VerticalChannelFlowNonNewtonian boundary condition model type (See EarthBox.BoundaryConditions.initialize!). This benchmark tests the codes ability to handle flows where effective viscosity is dependent on a power-law relationship with stress/strain rate. Model parameters are as follows: $L$ = 10 km, $H$ = 9.5 km, $n$ = 3, $C1$ = $10^{-37}$ Pa^{-3}s^{-1}, $P_{beg}$ = $10^9$ Pa, and $P_{end}$ = 0. Resolution is 51 x 21 nodes with 25 randomly distributed markers per cell. markers per cell. For details on the analytical solution see Gerya (2010), pg. 246-247.

:viscoelastic_contraction_asymmetric

  • Simple contraction of a viscoelastic layer undergoing water- loaded asymmetric contraction with outflow along the top and bottom boundaries and constant inflow along side boundaries. Velocity inflow/outflow boundary conditions are turned off to allow hydrostatic equilibration. The numerical solution is compared to an analytical solution for water-loaded local isostatic bathymetry.

:viscoelastic_extension_asymmetric

  • Simple extension of a viscoelastic layer undergoing water- loaded asymmetric extension with inflow along the top and bottom boundaries. Velocity inflow/outflow boundary conditions turned off to allow hydrostatic equilibration. The numerical solution is compared to an analytical solution for water-loaded local isostatic bathymetry.

:plasticity_benchmark_kaus10

  • Extension benchmark similar to Kaus (2010) with visco-elasto plastic rheology, single weak seed and free slip boundary condition along the base of the model.

:rayleigh_taylor_instability

  • Two-layer periodic Rayleigh-Taylor instability with sharp contrast between density and viscosity fields. Constant viscosity and density is defined with each layer. Boundary conditions are no-slip along horizontal boundaries and symmetry along vertical walls. This benchmark test the codes ability to calculate velocity for gravity driven flows. Resolution is 51 x 51 nodes with 25 randomly distributed markers per cell. See Gerya (2010), pg. 242-244.

:viscoelastic_extension

  • Simple extension of a viscoelastic layer undergoing water- loaded symmetric extension with inflow along the top and bottom boundaries and constant outflow along side boundaries. Velocity inflow/outflow boundary conditions turned off to allow hydrostatic equilibration. The numerical solution is compared to an analytical solution for water-loaded local isostatic bathymetry.

:elastic_slab

  • Recovery of an elastic slab that is surrounded by a low-density, lower viscosity and higher shear modulus medium and attached to the left vertical boundary. The slab is deformed under a vertical gravity field (10 m/s/s) that is switched off after 20 Kyr to allow recovery. The visco-elastic slab has a density of 4000 kg/m3, viscosity of $10^{27}$ Pa.s and a shear modulus of $10^{10}$ Pa. The surrounding visco-elastic medium has a density of 1 kg/m3, viscosity of $10^{21}$ Pa.s, shear modulus of $10^{20}$ Pa. Boundary conditions are no-slip along the left vertical boundary and free slip along all other boundaries. This benchmark tests the codes ability to handle visco-elastic deformation and conservation of elastic stress. Resolution is 51 x 51 nodes with 25 randomly distributed markers per cell. For details on the analytical solution see Gerya (2010), pg. 261-263.

:couette_flow_viscous_heating

  • Vertical Couette flow (simple shear in laterally limited planer zone) with temperature-dependent Newtonian rheology and viscous shear heating. Boundary conditions are defined using the :VerticalCouetteFlow boundary condition model type (See EarthBox.BoundaryConditions.initialize!). This benchmark tests how the code handles thermomechanical effects of shear heating with temperature dependent viscosity. Model parameters are as follows: $L$ = 30 km, $H$ = 11.25 km, $A$ = $10^{15}$ Pa.s, $E_a$ = 150 kJ/mol, $k$ = 2 W/m/K, $T_o$ = 1000 K. Resolution is 51 x 11 nodes with 25 randomly distributed markers per cell. For details on the analytical solution see Gerya (2010), pg. 250-253.

:simple_sedimentation

  • Sedimentation with compaction on a mantle substrate with a constant pelagic sedimentation rate of 20 mm/yr. The model domain is 140 km x 140 km with 251 x 71 nodes and 16 markers per cell in the horizontal and vertical directions. The topography marker chain has 561 uniformly spaced nodes. The model is initialized with a 10 km sticky layer with 5 km of sticky water and a constant sea level is used during the simulation. The Stokes-continuity and heat equation are not solved. This benchmark tests the codes ability to model sedimentation and compaction against a known analytical solution.

:solid_body_rotation

  • Solid body rotation of a 10 km wide square region that is 500 K hotter than the surrounding medium. Maximum velocity is 3.1536 cm/yr at a radius of 25 km centered in a 50 km x 50 km box. Plots show results after 1 rotation (blue circles) and after 3 rotation (black crosses) for cases with without subgrid diffusion and thermal conductivity set to 1e-6 W/m/K. This benchmark tests the code for numerical diffusion associated with the marker-in-cell advection scheme. Resolution is 51 x 51 nodes with 25 randomly distributed markers per cell. See Gerya, (2010), pg. 253.

:viscoelastic_extension_inflow_and_outflow_along_sides

  • Simple extension of a viscoelastic layer undergoing water- loaded symmetric extension with inflow along side and top boundaries and outflow along side boundaries. Velocity inflow/outflow boundary conditions along side boundaries are turned off to allow hydrostatic equilibration. The numerical solution is compared to an analytical solution for water-loaded local isostatic bathymetry.

:channel_flow_non_steady_temperature

  • Vertical Newtonian constant-viscosity channel flow with non-steady temperature distribution. Boundary conditions are defined using the :VerticalChannelFlowIsoviscous boundary condition model type (See EarthBox.BoundaryConditions.initialize!). The initial condition is defined by a constant vertical temperature gradient and a constant temperature along bottom boundary. This benchmark tests the codes ability to handle coupled advective and conductive terms in the heat equation. Model parameters are as follows: $L$ = 30 km, $H$ = 11.25 km, $eta$ = $10^{19}$ Pa.s, $P_{beg}$ = 1e5 Pa, $P_{end}$ = 0, $dT/dy$ = 40 K/km, $T(y=0)$ = 1000 K. Resolution is 51 x 11 nodes with 25 randomly distributed markers per cell. For details on the analytical solution see Gerya (2010), pg. 247-250. Note that a constant in equation 16.9 in (Gerya, 2010) had to be modified from 8 to 4 in order to match figure 16.5 in (Gerya, 2010).

:seafloor_spreading

  • Seafloor spreading via extension of lithospheric plate benchmark with melting and extraction at ridge.

:viscoelastic_stress_buildup

  • Stress buildup in an incompressible visco-elastic Maxwell body undergoing uniform pure shear with constant strain rate. Boundary conditions involve constant inward velocity along the horizontal boundaries and constant outward velocity along the vertical boundaries. Velocity boundary conditions are defined as a function of a constant strain rate. This benchmark tests the codes ability to model elastic buildup and the transition from primarily elastic deformation to primarily viscous deformation. Model parameters: viscosity is 1e21 Pas, shear modulus is 1e10 Pa, strain rate is 1e-14s-1. Resolution is 51 x 51 nodes with 16 randomly distributed markers per cell. See Gerya, (2010), pg. 260-261.

:box_convection_isoviscous_1a

  • Stationary convection within constant viscosity aspect ratio 1 box. Free slip boundary conditions are applied along all boundaries. Temperature boundary conditions are applied along the top and bottom boundaries. Reflecting temperature boundary conditions are applied along the vertical boundaries. This benchmark test the codes ability to handle coupled thermal diffusion and convection for gravity driven flows. Resolution is 51 x 51 nodes with 25 randomly distributed markers per cell and local refinement along boundaries. See Gerya (2010), pg. 255-260.

:viscoelastic_contraction

  • Simple contraction of a viscoelastic layer undergoing water- loaded symmetric contraction with outflow along the top and bottom boundaries and constant inflow along side boundaries. Velocity inflow/outflow boundary conditions are turned off to allow hydrostatic equilibration. The numerical solution is compared to an analytical solution for water-loaded local isostatic bathymetry.
source