EarthBox.ModelDataContainer.BoundaryConditionsContainer.BoundaryConditions — Type
BoundaryConditionsDataStateStruct containing boundary conditions parameters and arrays.
Fields
parameters::Parameters: Parameter groups for boundary conditionsarrays::Arrays: Array groups for boundary conditions
EarthBox.ModelDataContainer.BoundaryConditionsContainer.ParameterCollection.Parameters — Type
ParametersCollection of boundary condition parameters.
Fields
bc_options::BcOptions: General boundary condition optionstemperature::Temperature: Temperature boundary conditionsvelocity::Velocity: Velocity boundary conditionspressure::Pressure: Pressure boundary conditionsvelocity_step::VelocityStep: Velocity step boundary conditions
EarthBox.ModelDataContainer.BoundaryConditionsContainer.ParameterCollection.BcOptionsGroup.BcOptions — Type
BcOptions <: AbstractParameterGroupParameter group for boundary condition options.
Fields
itype_bc::ParameterInt: Boundary condition option for Stokes and heat equationsstype_bc::ParameterStr: Boundary condition option namepressure_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.valuestype_bc = model.bcs.parameters.bc_options.stype_bc.valuepressure_bc_mode = model.bcs.parameters.bc_options.pressure_bc_mode.value
Constructor
BcOptions()Initializes boundary condition option parameters with default values.
EarthBox.ModelDataContainer.BoundaryConditionsContainer.ParameterCollection.TemperatureGroup.Temperature — Type
Temperature <: AbstractParameterGroupParameter group for temperature boundary conditions.
Fields
temperature_top::ParameterFloat: Temperature along the top boundary of the model domain in Kelvintemperature_bottom::ParameterFloat: Temperature at the base of the model domain in Kelvintemperature_left::ParameterFloat: Temperature along the left boundary of the model domain in Kelvintemperature_right::ParameterFloat: Temperature along the right boundary of the model domain in Kelviniuse_bottom_transient::ParameterInt: Flag to use transient temperature at the bottom boundarytemperature_bottom_transient::ParameterFloat: transient temperature at the bottom boundarytemperature_bottom_original::ParameterFloat: Original temperature at the bottom boundarystart_time_bottom_transient::ParameterFloat: Start time (Myr) for transient temperature at the bottom boundaryend_time_bottom_transient::ParameterFloat: End time (Myr) for transient temperature at the bottom boundarydelta_temperature_transient::ParameterFloat: Temperature perturbation for initial transient temperature at the bottom boundarytemperature_base_lith_warmer_initial::ParameterFloat: Temperature at the base of the lithospheretemperature_bottom_warmer_initial::ParameterFloat: Initial elevated temperature at the bottom of the modeltemperature_bottom_cooler_final::ParameterFloat: Cooler transient temperature at the bottom of the model
Nested Dot Access
temperature_top = model.bcs.parameters.temperature.temperature_top.valuetemperature_bottom = model.bcs.parameters.temperature.temperature_bottom.valuetemperature_left = model.bcs.parameters.temperature.temperature_left.valuetemperature_right = model.bcs.parameters.temperature.temperature_right.valueiuse_bottom_transient = model.bcs.parameters.temperature.iuse_bottom_transient.valuetemperature_bottom_transient = model.bcs.parameters.temperature.temperature_bottom_transient.valuetemperature_bottom_original = model.bcs.parameters.temperature.temperature_bottom_original.valuestart_time_bottom_transient = model.bcs.parameters.temperature.start_time_bottom_transient.valueend_time_bottom_transient = model.bcs.parameters.temperature.end_time_bottom_transient.valuedelta_temperature_transient = model.bcs.parameters.temperature.delta_temperature_transient.valuetemperature_base_lith_warmer_initial = model.bcs.parameters.temperature.temperature_base_lith_warmer_initial.valuetemperature_bottom_warmer_initial = model.bcs.parameters.temperature.temperature_bottom_warmer_initial.valuetemperature_bottom_cooler_final = model.bcs.parameters.temperature.temperature_bottom_cooler_final.value
Constructor
Temperature()Initializes temperature boundary condition parameters with default values.
EarthBox.ModelDataContainer.BoundaryConditionsContainer.ParameterCollection.VelocityGroup.Velocity — Type
Velocity <: AbstractParameterGroupParameter group for velocity boundary conditions.
Fields
velocity::ParameterFloat: General velocity boundary conditionfull_velocity_extension::ParameterFloat: Full extension rate in m/sfull_velocity_extension_step1::ParameterFloat: Full extension rate at step 1 in m/sfull_velocity_extension_step2::ParameterFloat: Full extension rate at step 2 in m/sfull_velocity_contraction::ParameterFloat: Full contraction rate in m/svelocity_shear::ParameterFloat: Shear velocity in m/svelocity_rotation::ParameterFloat: Rotation velocity in m/siuse_strain_rate::ParameterInt: 0 use full extension velocity to define velocity bc's; 1 use strain ratestrain_rate_bc::ParameterFloat: Strain rate boundary condition in 1/svyu::ParameterFloat: Velocity in y direction at upper boundary in m/svyl::ParameterFloat: Velocity in y direction at lower boundary in m/svelocity_internal_x::ParameterFloat: X component of internal velocity in m/svelocity_internal_y::ParameterFloat: Y component of internal velocity in m/splate_thickness::ParameterFloat: Thickness of plate in meters used for inflow-outflow depth-dependent extension and contraction boundary conditionssmoothing_thickness::ParameterFloat: Thickness in meters for velocity smoothing between inflow and outflow boundariesvelocity_inflow_left::ParameterFloat: Inflow velocity at left boundary in m/svelocity_inflow_right::ParameterFloat: Inflow velocity at right boundary in m/svelocity_inflow_smooth_avg_left::ParameterFloat: Smoothed average inflow velocity at left boundary in m/svelocity_inflow_smooth_avg_right::ParameterFloat: Smoothed average inflow velocity at right boundary in m/siuse_velocity_stop::ParameterInt: Flag for velocity stopping: 0 = off; 1 = onvelocity_stop_time::ParameterFloat: Time at which velocity stops in Myrivelocity_stop_counter::ParameterInt: Counter for velocity stop: 0 = off; 1 = on
Nested Dot Access
velocity = model.bcs.parameters.velocity.velocity.valuefull_velocity_extension = model.bcs.parameters.velocity.full_velocity_extension.valuefull_velocity_extension_step1 = model.bcs.parameters.velocity.full_velocity_extension_step1.valuefull_velocity_extension_step2 = model.bcs.parameters.velocity.full_velocity_extension_step2.valuefull_velocity_contraction = model.bcs.parameters.velocity.full_velocity_contraction.valuevelocity_shear = model.bcs.parameters.velocity.velocity_shear.valuevelocity_rotation = model.bcs.parameters.velocity.velocity_rotation.valueiuse_strain_rate = model.bcs.parameters.velocity.iuse_strain_rate.valuestrain_rate_bc = model.bcs.parameters.velocity.strain_rate_bc.valuevyu = model.bcs.parameters.velocity.vyu.valuevyl = model.bcs.parameters.velocity.vyl.valuevelocity_internal_x = model.bcs.parameters.velocity.velocity_internal_x.valuevelocity_internal_y = model.bcs.parameters.velocity.velocity_internal_y.valueplate_thickness = model.bcs.parameters.velocity.plate_thickness.valuesmoothing_thickness = model.bcs.parameters.velocity.smoothing_thickness.valuevelocity_inflow_left = model.bcs.parameters.velocity.velocity_inflow_left.valuevelocity_inflow_right = model.bcs.parameters.velocity.velocity_inflow_right.valuevelocity_inflow_smooth_avg_left = model.bcs.parameters.velocity.velocity_inflow_smooth_avg_left.valuevelocity_inflow_smooth_avg_right = model.bcs.parameters.velocity.velocity_inflow_smooth_avg_right.valueiuse_velocity_stop = model.bcs.parameters.velocity.iuse_velocity_stop.valuevelocity_stop_time = model.bcs.parameters.velocity.velocity_stop_time.valueivelocity_stop_counter = model.bcs.parameters.velocity.ivelocity_stop_counter.value
Constructor
Velocity()Initializes velocity boundary condition parameters with default values.
EarthBox.ModelDataContainer.BoundaryConditionsContainer.ParameterCollection.PressureGroup.Pressure — Type
Pressure <: AbstractParameterGroupParameter group for pressure boundary conditions.
Fields
pressure_bc::ParameterFloat: Pressure boundary condition in Pa.
Nested Dot Access
pressure_bc = model.bcs.parameters.pressure.pressure_bc.value
Constructor
Pressure()Initializes pressure boundary condition parameter with default value of 10000.0 Pa.
EarthBox.ModelDataContainer.BoundaryConditionsContainer.ParameterCollection.VelocityStepGroup.VelocityStep — Type
VelocityStep <: AbstractParameterGroupParameter group for velocity step changes.
Fields
iuse_velocity_step::ParameterInt: Increase/decrease full extension velocity by factor at specified timevelocity_step_factor::ParameterFloat: Factor used to increase/decrease velocity at specified timetimestep_adjustment_factor::ParameterFloat: Factor used to adjust time step when velocity is increased/decreasedvelocity_step_time::ParameterFloat: Time of velocity increase/decrease in Myrvelocity_second_step_time::ParameterFloat: Time of second velocity increase/decrease in Myrivelocity_step_counter::ParameterInt: Integer counter for velocity stepvelocity_second_step_factor::ParameterFloat: Factor used to increase/decrease velocity at specified timetimestep_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.valuevelocity_step_factor = model.bcs.parameters.velocity_step.velocity_step_factor.valuetimestep_adjustment_factor = model.bcs.parameters.velocity_step.timestep_adjustment_factor.valuevelocity_step_time = model.bcs.parameters.velocity_step.velocity_step_time.valuevelocity_second_step_time = model.bcs.parameters.velocity_step.velocity_second_step_time.valueivelocity_step_counter = model.bcs.parameters.velocity_step.ivelocity_step_counter.valuevelocity_second_step_factor = model.bcs.parameters.velocity_step.velocity_second_step_factor.valuetimestep_second_adjustment_factor = model.bcs.parameters.velocity_step.timestep_second_adjustment_factor.value
Constructor
VelocityStep()Initializes velocity step parameters with default values.
EarthBox.ModelDataContainer.BoundaryConditionsContainer.ArrayCollection.Arrays — Type
ArraysCollection of boundary condition arrays.
Fields
temperature::Temperature: Temperature boundary condition arraysvelocity::Velocity: Velocity boundary condition arraysvel_comp::VelComp: Velocity component arraysinternal::BcInternal: Internal boundary condition arrays
EarthBox.ModelDataContainer.BoundaryConditionsContainer.ArrayCollection.TemperatureGroup.Temperature — Type
Temperature <: AbstractArrayGroupArray 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 directionxnum::Int: Number of grid points in the horizontal direction
EarthBox.ModelDataContainer.BoundaryConditionsContainer.ArrayCollection.VelocityGroup.Velocity — Type
Velocity <: AbstractArrayGroupArray 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.arraybbottom = model.bcs.arrays.velocity.bbottom.arraybleft = model.bcs.arrays.velocity.bleft.arraybright = model.bcs.arrays.velocity.bright.arraybfront = model.bcs.arrays.velocity.bfront.arraybback = 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 directionxnum::Int64: Number of grid points in the horizontal directionznum::Int64=1: Number of grid points in the z-direction (default: 1 for 2D)
EarthBox.ModelDataContainer.BoundaryConditionsContainer.ArrayCollection.VelCompGroup.VelComp — Type
VelComp <: AbstractArrayGroupArray group for component-wise velocity boundary conditions.
Fields
btopx::BcArrayFloatState:(xnum+1, 2): Vx boundary condition along top boundary:
vx[1,j,:] = btopx[j,1] + vx[2,j,:]*btopx[j,2]btopy::BcArrayFloatState:(xnum+1, 2): Vy boundary condition along top boundary:
vy[1,j,:] = btopy[j,1] + vy[2,j,:]*btopy[j,2]btopz::BcArrayFloatState:(xnum+1, 2): Vz boundary condition along top boundary:
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]bbottomy::BcArrayFloatState:(xnum+1, 2): Vy along bottom boundary:
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]bleftx::BcArrayFloatState:(ynum+1, 2): Vx boundary condition along left boundary:
vx[i,1] = bleftx[i,1] + vx[i, 2]*bleftx[i,2]blefty::BcArrayFloatState:(ynum+1, 2): Vy boundary condition along left boundary:
vy[i,1] = blefty[i,1] + vy[i, 2]*blefty[i,2]bleftz::BcArrayFloatState:(ynum+1, 2): Vz boundary condition along left boundary:
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]bbackx::BcArrayFloatState:(ynum+1, 2): Vx boundary condition along back boundary:
vx[i,j,znum+1] = bbackx[i,j,1] + vx[i,j,znum]*bbackx[i,j,2]bbacky::BcArrayFloatState:(ynum+1, 2): Vy boundary condition along back boundary:
vy[i,j,znum+1] = bbacky[i,j,1] + vy[i,j,znum]*bbacky[i,j,2]bbackz::BcArrayFloatState:(ynum+1, 2): Vz boundary condition along back boundary:
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.arraybtopy = model.bcs.arrays.vel_comp.btopy.arraybtopz = model.bcs.arrays.vel_comp.btopz.arraybbottomx = model.bcs.arrays.vel_comp.bbottomx.arraybbottomy = model.bcs.arrays.vel_comp.bbottomy.arraybbottomz = model.bcs.arrays.vel_comp.bbottomz.arraybleftx = model.bcs.arrays.vel_comp.bleftx.arrayblefty = model.bcs.arrays.vel_comp.blefty.arraybleftz = model.bcs.arrays.vel_comp.bleftz.arraybrightx = model.bcs.arrays.vel_comp.brightx.arraybrighty = model.bcs.arrays.vel_comp.brighty.arraybrightz = model.bcs.arrays.vel_comp.brightz.arraybfrontx = model.bcs.arrays.vel_comp.bfrontx.arraybfronty = model.bcs.arrays.vel_comp.bfronty.arraybfrontz = model.bcs.arrays.vel_comp.bfrontz.arraybbackx = model.bcs.arrays.vel_comp.bbackx.arraybbacky = model.bcs.arrays.vel_comp.bbacky.arraybbackz = 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 directionxnum::Int64: Number of grid points in the horizontal directionznum::Int64=1: Number of grid points in the z-direction (default: 1 for 2D)
EarthBox.ModelDataContainer.BoundaryConditionsContainer.ArrayCollection.BcInternalGroup.BcInternal — Type
BcInternal <: AbstractArrayGroupArray 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.arraybintern_velocity = model.bcs.arrays.internal.bintern_velocity.array
Constructor
BcInternal()