EarthBox.BoundaryConditions.VelocityStep.initialize! — Function
initialize!(model::ModelData; kwargs...)::NothingInitialize velocity stepping model. Activating velocity stepping requires setting the iuse_velocity_step parameter to 1. At the velocity step time the lateral velocity boundary conditions are multiplied by the velocity_step_factor parameter. This is accompanied by a multiplying the viscoelastic time step (timestep_viscoelastic) by the timestep_adjustment_factor used to maintain stability during an increase in velocity. There are two available velocity steps. The second velocity step is ignored if associated parameters are not provided.
For certain cases involving symmetric extensional boundary conditions with two velocity stepping events, the time step parameters, velocity stepping factors and time step adjustment factors are calculated automatically. See EarthBox.run_time_steps for more details. For these cases, ensure that velocity stepping factors and time step adjustment factors are not overridden by providing values for the velocity_step_factor, velocity_second_step_factor, timestep_adjustment_factor and timestep_second_adjustment_factor parameters. The integer flag iuse_velocity_step should be still be set to 1 to activate velocity stepping and the first and second velocity step times (velocity_step_time and velocity_second_step_time) should be provided.
Arguments
model::ModelData: Model data object containing model parameters and arrays.
Optional Keyword Arguments
iuse_velocity_step::Int64:- Increase/decrease full extension velocity by factor at specified time
velocity_step_factor::Float64:- Factor used to increase/decrease velocity at specified time
velocity_second_step_factor::Float64:- Factor used to increase/decrease velocity at specified time
timestep_adjustment_factor::Float64:- Factor used to adjust time step when velocity is increased/decreased
timestep_second_adjustment_factor::Float64:- Factor used to adjust time step when velocity is increased/decreased
velocity_step_time::Float64:- Time of velocity increase/decrease in Myr
velocity_second_step_time::Float64:- Time of second velocity increase/decrease in Myr
Returns
Nothing
Example: Single velocity step
using EarthBox
eb = EarthBoxState(
xnum = 100, ynum = 100,
xsize = 1000000.0, ysize = 1000000.0,
dx_marker = 10000.0, dy_marker = 10000.0
)
model = eb.model_manager.model
BoundaryConditions.VelocityStep.initialize!(
model, iuse_velocity_step = 1, velocity_step_factor = 2.0,
timestep_adjustment_factor = 0.5, velocity_step_time = 10.0
)