Base class for linear structural time integrators.
Advances a state through successive columns of a force history.
Advances through a force history with one column per time point. The number of steps is size(forces, 2) - 1; only the final state is returned.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(structural_integrator), | intent(inout) | :: | this |
Initialized dense or sparse integrator. |
||
| real(kind=real64), | intent(in), | dimension(:,:) | :: | forces |
N-by-(number of steps + 1) array of external forces. |
|
| real(kind=real64), | intent(in) | :: | dt |
Positive constant time step. |
||
| real(kind=real64), | intent(inout), | dimension(:) | :: | displacement |
Initial state on input, final state on output. |
|
| real(kind=real64), | intent(inout), | dimension(:) | :: | velocity |
Initial state on input, final state on output. |
|
| real(kind=real64), | intent(inout), | dimension(:) | :: | acceleration |
Initial state on input, final state on output. |
Advances the state by one time step.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(structural_integrator), | intent(inout) | :: | this |
The [[structural_integrator]] object. |
||
| real(kind=real64), | intent(in), | dimension(:) | :: | force_current |
External N-vector at the beginning of the step. |
|
| real(kind=real64), | intent(in), | dimension(:) | :: | force_next |
External N-vector at the end of the step. |
|
| real(kind=real64), | intent(in) | :: | dt |
Positive step size . |
||
| real(kind=real64), | intent(inout), | dimension(:) | :: | displacement |
N-vector state at the start of the step, overwritten with the end state. |
|
| real(kind=real64), | intent(inout), | dimension(:) | :: | velocity |
N-vector state at the start of the step, overwritten with the end state. |
|
| real(kind=real64), | intent(inout), | dimension(:) | :: | acceleration |
N-vector state at the start of the step, overwritten with the end state. |