BoundaryConditions

EarthBox.ModelDataContainer.BoundaryConditionsContainer.ParameterCollection.BcOptionsGroup.BcOptionsType
BcOptions <: AbstractParameterGroup

Parameter group for boundary condition options.

Fields

  • itype_bc::ParameterInt: Boundary condition option for Stokes and heat equations
  • stype_bc::ParameterStr: Boundary condition option name
  • pressure_bc_mode::ParameterFloat: Pressure bc: 0 upper left cell 1 top and bottom

Nested Dot Access

  • itype_bc = model.bcs.parameters.bc_options.itype_bc.value
  • stype_bc = model.bcs.parameters.bc_options.stype_bc.value
  • pressure_bc_mode = model.bcs.parameters.bc_options.pressure_bc_mode.value

Constructor

BcOptions()

Initializes boundary condition option parameters with default values.

source
EarthBox.ModelDataContainer.BoundaryConditionsContainer.ParameterCollection.TemperatureGroup.TemperatureType
Temperature <: AbstractParameterGroup

Parameter group for temperature boundary conditions.

Fields

  • temperature_top::ParameterFloat: Temperature along the top boundary of the model domain in Kelvin
  • temperature_bottom::ParameterFloat: Temperature at the base of the model domain in Kelvin
  • temperature_left::ParameterFloat: Temperature along the left boundary of the model domain in Kelvin
  • temperature_right::ParameterFloat: Temperature along the right boundary of the model domain in Kelvin
  • iuse_bottom_transient::ParameterInt: Flag to use transient temperature at the bottom boundary
  • temperature_bottom_transient::ParameterFloat: transient temperature at the bottom boundary
  • temperature_bottom_original::ParameterFloat: Original temperature at the bottom boundary
  • start_time_bottom_transient::ParameterFloat: Start time (Myr) for transient temperature at the bottom boundary
  • end_time_bottom_transient::ParameterFloat: End time (Myr) for transient temperature at the bottom boundary
  • delta_temperature_transient::ParameterFloat: Temperature perturbation for initial transient temperature at the bottom boundary
  • temperature_base_lith_warmer_initial::ParameterFloat: Temperature at the base of the lithosphere
  • temperature_bottom_warmer_initial::ParameterFloat: Initial elevated temperature at the bottom of the model
  • temperature_bottom_cooler_final::ParameterFloat: Cooler transient temperature at the bottom of the model

Nested Dot Access

  • temperature_top = model.bcs.parameters.temperature.temperature_top.value
  • temperature_bottom = model.bcs.parameters.temperature.temperature_bottom.value
  • temperature_left = model.bcs.parameters.temperature.temperature_left.value
  • temperature_right = model.bcs.parameters.temperature.temperature_right.value
  • iuse_bottom_transient = model.bcs.parameters.temperature.iuse_bottom_transient.value
  • temperature_bottom_transient = model.bcs.parameters.temperature.temperature_bottom_transient.value
  • temperature_bottom_original = model.bcs.parameters.temperature.temperature_bottom_original.value
  • start_time_bottom_transient = model.bcs.parameters.temperature.start_time_bottom_transient.value
  • end_time_bottom_transient = model.bcs.parameters.temperature.end_time_bottom_transient.value
  • delta_temperature_transient = model.bcs.parameters.temperature.delta_temperature_transient.value
  • temperature_base_lith_warmer_initial = model.bcs.parameters.temperature.temperature_base_lith_warmer_initial.value
  • temperature_bottom_warmer_initial = model.bcs.parameters.temperature.temperature_bottom_warmer_initial.value
  • temperature_bottom_cooler_final = model.bcs.parameters.temperature.temperature_bottom_cooler_final.value

Constructor

Temperature()

Initializes temperature boundary condition parameters with default values.

source
EarthBox.ModelDataContainer.BoundaryConditionsContainer.ParameterCollection.VelocityGroup.VelocityType
Velocity <: AbstractParameterGroup

Parameter group for velocity boundary conditions.

Fields

  • velocity::ParameterFloat: General velocity boundary condition
  • full_velocity_extension::ParameterFloat: Full extension rate in m/s
  • full_velocity_extension_step1::ParameterFloat: Full extension rate at step 1 in m/s
  • full_velocity_extension_step2::ParameterFloat: Full extension rate at step 2 in m/s
  • full_velocity_contraction::ParameterFloat: Full contraction rate in m/s
  • velocity_shear::ParameterFloat: Shear velocity in m/s
  • velocity_rotation::ParameterFloat: Rotation velocity in m/s
  • iuse_strain_rate::ParameterInt: 0 use full extension velocity to define velocity bc's; 1 use strain rate
  • strain_rate_bc::ParameterFloat: Strain rate boundary condition in 1/s
  • vyu::ParameterFloat: Velocity in y direction at upper boundary in m/s
  • vyl::ParameterFloat: Velocity in y direction at lower boundary in m/s
  • velocity_internal_x::ParameterFloat: X component of internal velocity in m/s
  • velocity_internal_y::ParameterFloat: Y component of internal velocity in m/s
  • plate_thickness::ParameterFloat: Thickness of plate in meters used for inflow-outflow depth-dependent extension and contraction boundary conditions
  • smoothing_thickness::ParameterFloat: Thickness in meters for velocity smoothing between inflow and outflow boundaries
  • velocity_inflow_left::ParameterFloat: Inflow velocity at left boundary in m/s
  • velocity_inflow_right::ParameterFloat: Inflow velocity at right boundary in m/s
  • velocity_inflow_smooth_avg_left::ParameterFloat: Smoothed average inflow velocity at left boundary in m/s
  • velocity_inflow_smooth_avg_right::ParameterFloat: Smoothed average inflow velocity at right boundary in m/s
  • iuse_velocity_stop::ParameterInt: Flag for velocity stopping: 0 = off; 1 = on
  • velocity_stop_time::ParameterFloat: Time at which velocity stops in Myr
  • ivelocity_stop_counter::ParameterInt: Counter for velocity stop: 0 = off; 1 = on

Nested Dot Access

  • velocity = model.bcs.parameters.velocity.velocity.value
  • full_velocity_extension = model.bcs.parameters.velocity.full_velocity_extension.value
  • full_velocity_extension_step1 = model.bcs.parameters.velocity.full_velocity_extension_step1.value
  • full_velocity_extension_step2 = model.bcs.parameters.velocity.full_velocity_extension_step2.value
  • full_velocity_contraction = model.bcs.parameters.velocity.full_velocity_contraction.value
  • velocity_shear = model.bcs.parameters.velocity.velocity_shear.value
  • velocity_rotation = model.bcs.parameters.velocity.velocity_rotation.value
  • iuse_strain_rate = model.bcs.parameters.velocity.iuse_strain_rate.value
  • strain_rate_bc = model.bcs.parameters.velocity.strain_rate_bc.value
  • vyu = model.bcs.parameters.velocity.vyu.value
  • vyl = model.bcs.parameters.velocity.vyl.value
  • velocity_internal_x = model.bcs.parameters.velocity.velocity_internal_x.value
  • velocity_internal_y = model.bcs.parameters.velocity.velocity_internal_y.value
  • plate_thickness = model.bcs.parameters.velocity.plate_thickness.value
  • smoothing_thickness = model.bcs.parameters.velocity.smoothing_thickness.value
  • velocity_inflow_left = model.bcs.parameters.velocity.velocity_inflow_left.value
  • velocity_inflow_right = model.bcs.parameters.velocity.velocity_inflow_right.value
  • velocity_inflow_smooth_avg_left = model.bcs.parameters.velocity.velocity_inflow_smooth_avg_left.value
  • velocity_inflow_smooth_avg_right = model.bcs.parameters.velocity.velocity_inflow_smooth_avg_right.value
  • iuse_velocity_stop = model.bcs.parameters.velocity.iuse_velocity_stop.value
  • velocity_stop_time = model.bcs.parameters.velocity.velocity_stop_time.value
  • ivelocity_stop_counter = model.bcs.parameters.velocity.ivelocity_stop_counter.value

Constructor

Velocity()

Initializes velocity boundary condition parameters with default values.

source
EarthBox.ModelDataContainer.BoundaryConditionsContainer.ParameterCollection.VelocityStepGroup.VelocityStepType
VelocityStep <: AbstractParameterGroup

Parameter group for velocity step changes.

Fields

  • iuse_velocity_step::ParameterInt: Increase/decrease full extension velocity by factor at specified time
  • velocity_step_factor::ParameterFloat: Factor used to increase/decrease velocity at specified time
  • timestep_adjustment_factor::ParameterFloat: Factor used to adjust time step when velocity is increased/decreased
  • velocity_step_time::ParameterFloat: Time of velocity increase/decrease in Myr
  • velocity_second_step_time::ParameterFloat: Time of second velocity increase/decrease in Myr
  • ivelocity_step_counter::ParameterInt: Integer counter for velocity step
  • velocity_second_step_factor::ParameterFloat: Factor used to increase/decrease velocity at specified time
  • timestep_second_adjustment_factor::ParameterFloat: Factor used to adjust time step when velocity is increased/decreased

Nested Dot Access

  • iuse_velocity_step = model.bcs.parameters.velocity_step.iuse_velocity_step.value
  • velocity_step_factor = model.bcs.parameters.velocity_step.velocity_step_factor.value
  • timestep_adjustment_factor = model.bcs.parameters.velocity_step.timestep_adjustment_factor.value
  • velocity_step_time = model.bcs.parameters.velocity_step.velocity_step_time.value
  • velocity_second_step_time = model.bcs.parameters.velocity_step.velocity_second_step_time.value
  • ivelocity_step_counter = model.bcs.parameters.velocity_step.ivelocity_step_counter.value
  • velocity_second_step_factor = model.bcs.parameters.velocity_step.velocity_second_step_factor.value
  • timestep_second_adjustment_factor = model.bcs.parameters.velocity_step.timestep_second_adjustment_factor.value

Constructor

VelocityStep()

Initializes velocity step parameters with default values.

source
EarthBox.ModelDataContainer.BoundaryConditionsContainer.ArrayCollection.TemperatureGroup.TemperatureType
Temperature <: AbstractArrayGroup

Array group for temperature boundary conditions.

Fields

  • btopt::BcArrayFloatState: (xnum, 2) : Temperature boundary condition along top boundary:
 tk[1][j] = btopt[j][1] + tk[2][j]*btop[j][2]
  • bbottomt::BcArrayFloatState: (xnum, 2) : Temperature boundary condition along bottom boundary:
 tk[ynum][j] = bbottomt[j][1] + tk[ynum-1][j]*bbottomt[j][2]
  • bleftt::BcArrayFloatState: (ynum, 2) : Temperature boundary condition along left boundary:
 tk[i][1] = bleftt[i][1] + bleftt[i][2]*tk[i][2]
  • brightt::BcArrayFloatState: (ynum, 2) : Temperature boundary condition along right boundary:
 tk[i][xnum] = brightt[i][1] + brightt[i][2]*tk[i][xnum-1]

Constructor

Temperature(ynum::Int, xnum::Int)

Arguments

  • ynum::Int: Number of grid points in the vertical direction
  • xnum::Int: Number of grid points in the horizontal direction
source
EarthBox.ModelDataContainer.BoundaryConditionsContainer.ArrayCollection.VelocityGroup.VelocityType
Velocity <: AbstractArrayGroup

Array group for combined velocity boundary conditions.

Fields

  • btop::BcArrayFloatState: (xnum+1, 6) : Velocity boundary conditions along top boundary:
 vx[1,j,:] = btop[j,1] + vx[2,j,:]*btop[j,2] 
 vy[1,j,:] = btop[j,3] + vy[2,j,:]*btop[j,4] 
 vz[1,j,:] = btop[j,5] + vz[2,j,:]*btop[j,6]
  • bbottom::BcArrayFloatState: (xnum+1, 6) : Velocity boundary conditions along bottom boundary:
 vx[ynum+1,j,:] = bbottom[j,1] + vx[ynum  ,j,:]*bbottom[j,2] 
 vy[ynum  ,j,:] = bbottom[j,3] + vy[ynum-1,j,:]*bbottom[j,4] 
 vz[ynum+1,j,:] = bbottom[j,5] + vz[ynum  ,j,:]*bbottom[j,6]
  • bleft::BcArrayFloatState: (ynum+1, 6) : Velocity boundary conditions along left boundary:
 vx[i,1,:] = bleft[i,1] + vx[i,2,:]*bleft[i,2] 
 vy[i,1,:] = bleft[i,3] + vy[i,2,:]*bleft[i,4] 
 vz[i,1,:] = bleft[i,5] + vz[i,2,:]*bleft[i,6]
  • bright::BcArrayFloatState: (ynum+1, 6) : Velocity boundary conditions along right boundary:
 vx[i,xnum  ,:] = bright[i,1] + vx[i,xnum-1,:]*bright[i,2] 
 vy[i,xnum+1,:] = bright[i,3] + vy[i,xnum  ,:]*bright[i,4] 
 vz[i,xnum+1,:] = bright[i,5] + vz[i,xnum  ,:]*bright[i,6]
  • bfront::BcArrayFloatState: (ynum+1, 6) : Velocity boundary conditions along front boundary:
 vx[i,j,1] = bfront[i,1] + vx[i,j,2]*bfront[i,2] 
 vy[i,j,1] = bfront[i,3] + vy[i,j,2]*bfront[i,4] 
 vz[i,j,1] = bfront[i,5] + vz[i,j,2]*bfront[i,6]
  • bback::BcArrayFloatState: (ynum+1, 6) : Velocity boundary conditions along back boundary:
 vx[i,j,znum+1] = bback[i,1] + vx[i,j,znum]*bback[i,2] 
 vy[i,j,znum+1] = bback[i,3] + vy[i,j,znum]*bback[i,4] 
 vz[i,j,znum  ] = bback[i,5] + vz[i,j,znum-1]*bback[i,6]

Nested Dot Access

  • btop = model.bcs.arrays.velocity.btop.array
  • bbottom = model.bcs.arrays.velocity.bbottom.array
  • bleft = model.bcs.arrays.velocity.bleft.array
  • bright = model.bcs.arrays.velocity.bright.array
  • bfront = model.bcs.arrays.velocity.bfront.array
  • bback = model.bcs.arrays.velocity.bback.array

Constructor

Velocity(ynum::Int64, xnum::Int64; znum::Int64=1)

Initializes combined velocity boundary condition arrays with zero values.

Arguments

  • ynum::Int64: Number of grid points in the vertical direction
  • xnum::Int64: Number of grid points in the horizontal direction
  • znum::Int64=1: Number of grid points in the z-direction (default: 1 for 2D)
source
EarthBox.ModelDataContainer.BoundaryConditionsContainer.ArrayCollection.VelCompGroup.VelCompType
VelComp <: AbstractArrayGroup

Array group for component-wise velocity boundary conditions.

Fields

 vx[1,j,:] = btopx[j,1] + vx[2,j,:]*btopx[j,2]
 vy[1,j,:] = btopy[j,1] + vy[2,j,:]*btopy[j,2]
 vz[1,j,:] = btopz[j,1] + vz[2,j,:]*btopz[j,2]
  • bbottomx::BcArrayFloatState: (xnum+1, 2) : Vx boundary condition along bottom boundary:
 vx[ynum+1,j,:] = bbottomx[j,1] + vx[ynum, j,:]*bbottomx[j,2]
 vy[ynum,j,:] = bbottomy[j,1] + vy[ynum-1, j,:]*bbottomy[j,2]
  • bbottomz::BcArrayFloatState: (xnum+1, 2) : Vz boundary condition along bottom boundary:
 vz[ynum+1,j,:] = bbottomz[j,1] + vz[ynum, j,:]*bbottomz[j,2]
 vx[i,1] = bleftx[i,1] + vx[i, 2]*bleftx[i,2]
 vy[i,1] = blefty[i,1] + vy[i, 2]*blefty[i,2]
 vz[i,1,:] = bleftz[i,1] + vz[i,2,:]*bleftz[i,2]
  • brightx::BcArrayFloatState: (ynum+1, 2) : Vx boundary condition along right boundary:
 vx[i,xnum] = brightx[i, 1] + vx[i, xnum-1]*brightx[i,2]
  • brighty::BcArrayFloatState: (ynum+1, 2) : Vy boundary condition along right boundary:
 vy[i,xnum+1] = brighty[i,1] + vx[i, xnum]*brighty[i,2]
  • brightz::BcArrayFloatState: (ynum+1, 2) : Vz boundary condition along right boundary:
 vz[i,xnum+1,:] = brightz[i,1] + vz[i,xnum,:]*brightz[i,2]
  • bfrontx::BcArrayFloatState: (ynum+1, 2) : Vx boundary condition along front boundary:
 vx[i,j,1] = bfrontx[i,j,1] + vx[i,j,2]*bfrontx[i,j,2]
  • bfronty::BcArrayFloatState: (ynum+1, 2) : Vy boundary condition along front boundary:
 vy[i,j,1] = bfronty[i,j,1] + vy[i,j,2]*bfronty[i,j,2]
  • bfrontz::BcArrayFloatState: (ynum+1, 2) : Vz boundary condition along front boundary:
 vz[i,j,1] = bfrontz[i,j,1] + vz[i,j,2]*bfrontz[i,j,2]
 vx[i,j,znum+1] = bbackx[i,j,1] + vx[i,j,znum]*bbackx[i,j,2]
 vy[i,j,znum+1] = bbacky[i,j,1] + vy[i,j,znum]*bbacky[i,j,2]
 vz[i,j,znum  ] = bbackz[i,j,1] + vz[i,j,znum-1]*bbackz[i,j,2]

Nested Dot Access

  • btopx = model.bcs.arrays.vel_comp.btopx.array
  • btopy = model.bcs.arrays.vel_comp.btopy.array
  • btopz = model.bcs.arrays.vel_comp.btopz.array
  • bbottomx = model.bcs.arrays.vel_comp.bbottomx.array
  • bbottomy = model.bcs.arrays.vel_comp.bbottomy.array
  • bbottomz = model.bcs.arrays.vel_comp.bbottomz.array
  • bleftx = model.bcs.arrays.vel_comp.bleftx.array
  • blefty = model.bcs.arrays.vel_comp.blefty.array
  • bleftz = model.bcs.arrays.vel_comp.bleftz.array
  • brightx = model.bcs.arrays.vel_comp.brightx.array
  • brighty = model.bcs.arrays.vel_comp.brighty.array
  • brightz = model.bcs.arrays.vel_comp.brightz.array
  • bfrontx = model.bcs.arrays.vel_comp.bfrontx.array
  • bfronty = model.bcs.arrays.vel_comp.bfronty.array
  • bfrontz = model.bcs.arrays.vel_comp.bfrontz.array
  • bbackx = model.bcs.arrays.vel_comp.bbackx.array
  • bbacky = model.bcs.arrays.vel_comp.bbacky.array
  • bbackz = model.bcs.arrays.vel_comp.bbackz.array

Constructor

VelComp(ynum::Int64, xnum::Int64; znum::Int64=1)

Arguments

  • ynum::Int64: Number of grid points in the vertical direction
  • xnum::Int64: Number of grid points in the horizontal direction
  • znum::Int64=1: Number of grid points in the z-direction (default: 1 for 2D)
source
EarthBox.ModelDataContainer.BoundaryConditionsContainer.ArrayCollection.BcInternalGroup.BcInternalType
BcInternal <: AbstractArrayGroup

Array group for internal boundary conditions.

Fields

  • bintern_zone::InternalBcArrayIntState: (8) : Integer array with grid index information defining spatial zones where internal boundary conditions are applied.
    • (1) Horizontal position of vx nodes with prescribed velocity [no such condition if negative]
    • (2) Min vertical position
    • (3) Max vertical position
    • (4) (not used)
    • (5) Horizontal position of vy nodes with prescribed velocity [no such condition if negative]
    • (6) Min vertical position
    • (7) Max vertical position
    • (8) (not used)
  • bintern_velocity::InternalBcArrayFloatState: (8) : Float array containing prescribed velocity values for internal boundary conditions.
    • (1) (not used)
    • (2) (not used)
    • (3) (not used)
    • (4) Prescribed shortening velocity, m/s
    • (5) (not used)
    • (6) (not used)
    • (7) (not used)
    • (8) Prescribed vertical velocity, m/s

Nested Dot Access

  • bintern_zone = model.bcs.arrays.internal.bintern_zone.array
  • bintern_velocity = model.bcs.arrays.internal.bintern_velocity.array

Constructor

BcInternal()
source