10 time_steppers (release)
The time_stepping object contains properties that define the time-stepping algorithms used to progress the procedure to solution. In static procedures it is common to use a continuation method to aid convergence to a solution and, even though these procedures do not have temporal components, we refer to the scale factor used by the continuation method as time.
Name |
| Type |
| Description |
| Default |
label |
| STRING |
| The user defined name for this definition. |
| |
central_difference (alpha) | generalized_alpha (beta) | explicit_generalized_alpha (alpha) | continuation (beta) | implicit_midpoint (beta) | linear (release) |
| SUB OBJECT | SUB OBJECT | SUB OBJECT | SUB OBJECT | SUB OBJECT | SUB OBJECT |
| One of the given keywords must be defined to specify the time stepper method |
|
Example Usage:time_steppers: [ { label: "linear_statics", linear: { linear_equation_solver: "multi_frontal" } } ]
10.1 central_difference (alpha)
The central_difference object describes the parameters that will be used by a second-order central-difference time stepping approach.
Name |
| Type |
| Description |
| Default |
timestep_scale_factor [optional] (alpha) |
| DOUBLE |
| Scales the stable time increment computed by Coreform IGA. |
| 0.9 |
timestep_update_interval [optional] (alpha) |
| INTEGER |
| Frequency at which the time step is updated. Default is 1, meaning that the timestep is updated at each step. |
| 1 |
viscous_damping (alpha) [optional] |
| SUB OBJECT |
| See linked documentation |
|
10.1.1 viscous_damping (alpha)
Name |
| Type |
| Description |
| Default |
mass_damping_coefficient (alpha) |
| DOUBLE |
| The mass-proportional damping coefficient in Rayleigh damping. |
| 0 |
10.2 generalized_alpha (beta)
The generalized_alpha object defines parameters for the generalized alpha implicit dynamic time stepping method.
Name |
| Type |
| Description |
| Default |
nonlinear_equation_solver (beta) |
| STRING |
| The user defined identifier of the nonlinear solver to use. |
| |
spectral_radius (beta) | alpha_options (beta) |
| DOUBLE | SUB OBJECT |
| One of the given keywords must be defined to specify the generalized alpha parameters |
| |
adaptivity (beta) [optional] |
| SUB OBJECT |
| See linked documentation |
| |
predictor [optional] (alpha) |
| “constant_displacement” | “constant_velocity” | “zero_acceleration” |
| Select the type of predictor for implicit dynamics solvers for nonlinaer problems. Choosing a proper predictor is helpful for achieving improved performance in nonlinear convergence. The zero_acceleration predictor is a widely used predictor in solid mechanics, allowing the first-iteration residual to be computed without including momentum terms. The constant_displacement predictor generally performs well. When a problem involves frictionless contact, choosing constant_displacement is recommended to avoid excessive penetration during the first Newton iteration. The constant_velocity predictor may be particularly useful when frictional contact is dominant, as it provides a good velocity initial guess for the velocity-dependent frictional contact formulation. |
| constant_displacement |
10.2.1 spectral_radius | alpha_options
One of the given keywords must be defined to specify the generalized alpha parameters
Name |
| Type |
| Description |
| Default |
spectral_radius (beta) |
| DOUBLE |
| This is a single parameter from which all of the alpha_options values can be computed, and controls the amount of numerical dissipation in high-frequency modes while maintaining second-order accuracy and unconditional stability for linear problems. In technical terms, it is the spectral radius of the method's step-to-step amplification matrix for linear problems in the limit of time step going to infinity. The value must be in the range [0, 1], where 0 produces the greatest amount of damping and 1 is undamped. |
| |
| SUB OBJECT |
| See linked documentation |
|
10.2.1.1 alpha_options (beta)
Generalized alpha parameters. Setting alpha_f = 1.0 and alpha_m = 1.0 recovers the Newmark method. Second-order accuracy requires gamma = 1/2 + alpha_m - alpha_f. Unconditional stability with optimal dissipation requires alpha_m >= alpha_f >= 1/2 and beta = 1/4 (1 + alpha_m - alpha_f)^2.
Name |
| Type |
| Description |
| Default |
alpha_f (beta) |
| DOUBLE |
| The alpha_f parameter to the generalized-alpha algorithm. |
| |
alpha_m (beta) |
| DOUBLE |
| The alpha_m parameter to the generalized-alpha algorithm. |
| |
beta (beta) |
| DOUBLE |
| The beta parameter to the generalized-alpha algorithm. |
| |
gamma (beta) |
| DOUBLE |
| The gamma parameter to the generalized-alpha algorithm. |
|
10.2.2 adaptivity (beta)
Options for adaptive (pseudo-)time stepping in implicit methods and the explicit predictor–multicorrector method.
Name |
| Type |
| Description |
| Default |
maximum_time_step (beta) |
| DOUBLE |
| The largest allowed time step, usually based on accuracy needs of an application. |
| |
minimum_time_step (beta) |
| DOUBLE |
| The smallest allowed time step, to prevent stagnation. Reaching this step size terminates the analysis. Must be less than half the initial time step to accommodate half-steps for self-starting. |
| |
decrease_factor (beta) |
| DOUBLE |
| Factor by which time step is scaled after a step fails to converge. Typically substantially less than one (e.g., 0.5), to avoid repeated consecutive failures. |
| |
increase_factor (beta) |
| DOUBLE |
| Factor by which time step is scaled after successful convergence of a step. Typically only slightly greater than one (e.g., 1.125), to avoid immediately failing and cutting back again. |
|
Example Usage:adaptivity: { maximum_time_step: 0.1, minimum_time_step: 0.00001, decrease_factor: 0.25, increase_factor: 1.5 }
10.3 explicit_generalized_alpha (alpha)
The explicit_generalized_alpha object describes the parameters that will be used by an explicit second-order time stepping approach with tunable numerical dissipation for high-frequency modes.
Name |
| Type |
| Description |
| Default |
spectral_radius (alpha) |
| DOUBLE |
| This parameter governs how much numerical dissipation is added to suppress high-frequency modes of the problem. The value must be in the range [0, 1], where 0 produces the greatest amount of damping in the generalized-alpha algorithm and 1 is undamped. |
| |
timestep_scale_factor [optional] (alpha) |
| DOUBLE |
| The solver estimates a maximum stable time step and a time step at which numerical dissipation is controlled by spectral_radius for the highest-frequency mode. For spectral_radius = 1, we have , and for spectral_radius < 1, we have . If the timestep_scale_factor is , the solver will select a time step of . |
| 0.9 |
timestep_update_interval [optional] (alpha) |
| INTEGER |
| Frequency at which the time step is updated. Default is 1, meaning that the timestep is updated at each step. |
| 1 |
viscous_damping (alpha) [optional] |
| SUB OBJECT |
| See linked documentation |
|
10.3.1 viscous_damping (alpha)
Name |
| Type |
| Description |
| Default |
mass_damping_coefficient (alpha) |
| DOUBLE |
| The mass-proportional damping coefficient in Rayleigh damping. |
| 0 |
10.4 continuation (beta)
An implicit statics time stepping approach based on numerical continuation. Many nonlinear procedures are unable to be solved in a single nonlinear step (e.g. a single Newton iteration) as the true solution is outside of the radius of convergence for the nonlinear solver centered at the initial state. The continuation method breaks up the nonlinear procedure from a single step into multiple substeps. A scaling parameter is created that describes the distance from the initial state to the final state, often this parameter is referred to as "time" even though this method ignores mass contributions. At each of these substeps (timesteps) the original nonlinear procedure is redefined as a simpler nonlinear procedure that increments from the previous timestep’s computed solution to the solution at the current timestep. With this approach, each of these substeps describes a procedure is less-nonlinear than the original procedure (fundamental theorem of calculus) and is thus more likely for the nonlinear solver to converge to a solution.
Name |
| Type |
| Description |
| Default |
nonlinear_equation_solver (beta) |
| STRING |
| The user defined identifier of the nonlinear solver to use. |
| |
adaptivity (beta) [optional] |
| SUB OBJECT |
| See linked documentation |
|
Example Usage:continuation: { nonlinear_equation_solver: "newton_raphson", adaptivity: { maximum_time_step: 0.1, minimum_time_step: 0.00001, decrease_factor: 0.25, increase_factor: 1.5 } }
10.4.1 adaptivity (beta)
Options for adaptive (pseudo-)time stepping in implicit methods and the explicit predictor–multicorrector method.
Name |
| Type |
| Description |
| Default |
maximum_time_step (beta) |
| DOUBLE |
| The largest allowed time step, usually based on accuracy needs of an application. |
| |
minimum_time_step (beta) |
| DOUBLE |
| The smallest allowed time step, to prevent stagnation. Reaching this step size terminates the analysis. Must be less than half the initial time step to accommodate half-steps for self-starting. |
| |
decrease_factor (beta) |
| DOUBLE |
| Factor by which time step is scaled after a step fails to converge. Typically substantially less than one (e.g., 0.5), to avoid repeated consecutive failures. |
| |
increase_factor (beta) |
| DOUBLE |
| Factor by which time step is scaled after successful convergence of a step. Typically only slightly greater than one (e.g., 1.125), to avoid immediately failing and cutting back again. |
|
Example Usage:adaptivity: { maximum_time_step: 0.1, minimum_time_step: 0.00001, decrease_factor: 0.25, increase_factor: 1.5 }
10.5 implicit_midpoint (beta)
An implicit dynamics time stepper using the midpoint rule as the time integration scheme. The implicit midpoint rule includes no numerical dissipation, and is equivalent to the generalized_alpha method with spectral_radius = 1. In simulations of slow dynamics using large time steps, it is recommended to instead use generalized_alpha with spectral_radius < 1, which will apply damping to under-resolved modes.
Name |
| Type |
| Description |
| Default |
nonlinear_equation_solver (beta) |
| STRING |
| The user defined identifier of the nonlinear solver to use. |
| |
adaptivity (beta) [optional] |
| SUB OBJECT |
| See linked documentation |
| |
predictor [optional] (alpha) |
| “constant_displacement” | “constant_velocity” | “zero_acceleration” |
| Select the type of predictor for implicit dynamics solvers for nonlinaer problems. Choosing a proper predictor is helpful for achieving improved performance in nonlinear convergence. The zero_acceleration predictor is a widely used predictor in solid mechanics, allowing the first-iteration residual to be computed without including momentum terms. The constant_displacement predictor generally performs well. When a problem involves frictionless contact, choosing constant_displacement is recommended to avoid excessive penetration during the first Newton iteration. The constant_velocity predictor may be particularly useful when frictional contact is dominant, as it provides a good velocity initial guess for the velocity-dependent frictional contact formulation. |
| constant_displacement |
10.5.1 adaptivity (beta)
Options for adaptive (pseudo-)time stepping in implicit methods and the explicit predictor–multicorrector method.
Name |
| Type |
| Description |
| Default |
maximum_time_step (beta) |
| DOUBLE |
| The largest allowed time step, usually based on accuracy needs of an application. |
| |
minimum_time_step (beta) |
| DOUBLE |
| The smallest allowed time step, to prevent stagnation. Reaching this step size terminates the analysis. Must be less than half the initial time step to accommodate half-steps for self-starting. |
| |
decrease_factor (beta) |
| DOUBLE |
| Factor by which time step is scaled after a step fails to converge. Typically substantially less than one (e.g., 0.5), to avoid repeated consecutive failures. |
| |
increase_factor (beta) |
| DOUBLE |
| Factor by which time step is scaled after successful convergence of a step. Typically only slightly greater than one (e.g., 1.125), to avoid immediately failing and cutting back again. |
|
Example Usage:adaptivity: { maximum_time_step: 0.1, minimum_time_step: 0.00001, decrease_factor: 0.25, increase_factor: 1.5 }
10.6 linear (release)
This method defines the procedure to be linear in nature and will solve the procedure in a single linear solve. The linearization of the procedure is determined at the initial state. Loads and boundary conditions are evaluated at final value of the procedure’s interval.
Name |
| Type |
| Description |
| Default |
linear_equation_solver |
| STRING |
| The user defined identifier of the linear solver to use. |
|
Example Usage:linear: { linear_equation_solver: "multi_frontal" }