On this page:
10.1 central_  difference (alpha)
10.1.1 viscous_  damping (alpha)
10.2 generalized_  alpha (beta)
10.2.1 nonlinear_  equation_  solver | predictor_  multicorrector
10.2.1.1 predictor_  multicorrector (beta)
10.2.2 spectral_  radius | alpha_  options
10.2.2.1 alpha_  options (beta)
10.2.3 adaptivity (beta)
10.3 explicit_  generalized_  alpha (alpha)
10.3.1 viscous_  damping (alpha)
10.4 continuation (beta)
10.4.1 adaptivity (beta)
10.5 implicit_  midpoint (beta)
10.5.1 adaptivity (beta)
10.6 linear (release)

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) | predictor_multicorrector (beta)

 

STRING | SUB OBJECT

 

One of the given keywords must be defined to specify the type of generalized alpha time stepping

 

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

 

10.2.1 nonlinear_equation_solver | predictor_multicorrector

One of the given keywords must be defined to specify the type of generalized alpha time stepping

Name

 

Type

 

Description

 

Default

nonlinear_equation_solver (beta)

 

STRING

 

The user defined identifier of the nonlinear solver to use.

 

predictor_multicorrector (beta)

 

SUB OBJECT

 

See linked documentation

 

10.2.1.1 predictor_multicorrector (beta)

This defines an explicit predictor-multicorrector that uses lumped diagonal mass, damping, and stiffness matrices and a fixed number of nonlinear iterations.

Name

 

Type

 

Description

 

Default

maximum_iterations (beta)

 

INTEGER

 

The maximum number of corrector iterations to take. (At least three recommended, better results with more.)

 

relative_tolerance [optional] (beta)

 

DOUBLE

 

The relative convergence criterion used to determine whether to increase or decrease the time step when using adaptivity.

 

absolute_tolerance [optional] (beta)

 

DOUBLE

 

The absolute convergence criterion used to determine whether to increase of decrease the time step when using adaptivity.

 

10.2.2 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.

 

alpha_options (beta)

 

SUB OBJECT

 

See linked documentation

 

10.2.2.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 and beta = 1/4 (1 + alpha_m - alpha_f)^2. Unconditional stability requires alpha_m >= alpha_f >= 1/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.3 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

 

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" }