|
| void | update_incre_time (double) override |
| |
| int | update_trial_status (bool) override |
| |
| void | commit_status () override |
| |
| void | clear_status () override |
| |
| vec | from_incre_acceleration (const vec &, const uvec &) override |
| |
| vec | from_total_acceleration (const vec &, const uvec &) override |
| |
| constexpr IntegratorType | type () const override |
| |
| void | assemble_resistance () override |
| |
| void | assemble_matrix () override |
| |
| const vec & | get_trial_displacement () const override |
| |
| void | update_from_ninja () override |
| |
| int | solve (mat &, const mat &) override |
| |
| int | solve (mat &, const sp_mat &) override |
| |
| int | solve (mat &, mat &&) override |
| |
| int | solve (mat &, sp_mat &&) override |
| |
| vec | from_incre_velocity (const vec &, const uvec &) override |
| |
| | Integrator (unsigned=0) |
| |
| | Integrator (unsigned=0) |
| |
| void | set_domain (const std::weak_ptr< DomainBase > &) |
| |
| shared_ptr< DomainBase > | get_domain () const |
| |
| virtual int | initialize () |
| |
| void | set_time_step_switch (bool) |
| |
| bool | allow_to_change_time_step () const |
| |
| void | set_matrix_assembled_switch (bool) |
| |
| bool | matrix_is_assembled () const |
| |
| virtual bool | time_independent_matrix () const |
| |
| int | process_load () |
| |
| virtual int | process_constraint () |
| |
| int | process_criterion () const |
| |
| int | process_modifier () const |
| |
| int | process_load_resistance () |
| |
| virtual int | process_constraint_resistance () |
| |
| void | record () const |
| |
| virtual vec | get_force_residual () |
| |
| virtual vec | get_displacement_residual () |
| |
| vec | get_auxiliary_residual () const |
| |
| virtual sp_mat | get_reference_load () |
| |
| void | update_load () const |
| |
| void | update_constraint () const |
| |
| void | update_trial_load_factor (double) const |
| |
| void | update_trial_load_factor (const vec &) const |
| |
| void | update_trial_time (double) |
| |
| int | sync_status (bool) |
| |
| virtual int | update_internal (const mat &) |
| |
| mat | solve (const mat &) |
| |
| mat | solve (const sp_mat &) |
| |
| mat | solve (mat &&) |
| |
| mat | solve (sp_mat &&) |
| |
| void | erase_machine_error (vec &) const |
| |
| void | stage_and_commit_status () |
| |
| void | stage_status () const |
| |
| virtual void | reset_status () |
| |
| virtual vec | from_total_velocity (const vec &, const uvec &) |
| |
| vec | from_incre_velocity (double, const uvec &) |
| |
| vec | from_incre_acceleration (double, const uvec &) |
| |
| vec | from_total_velocity (double, const uvec &) |
| |
| vec | from_total_acceleration (double, const uvec &) |
| |
| | UniqueTag (const UniqueTag &)=delete |
| |
| | UniqueTag (UniqueTag &&)=delete |
| |
| UniqueTag & | operator= (const UniqueTag &)=delete |
| |
| UniqueTag & | operator= (UniqueTag &&)=delete |
| |
| | ~UniqueTag () override=default |
| |
| | Tag (unsigned=0) |
| |
| | Tag (const Tag &)=default |
| |
| | Tag (Tag &&) noexcept=default |
| |
| | Tag (unsigned=0) |
| |
| | Tag (const Tag &)=default |
| |
| | Tag (Tag &&) noexcept=default |
| |
| Tag & | operator= (const Tag &)=delete |
| |
| Tag & | operator= (Tag &&)=delete |
| |
| virtual | ~Tag ()=default |
| |
| void | set_tag (unsigned) const |
| |
| unsigned | get_tag () const |
| |
| void | enable () |
| |
| void | disable () |
| |
| void | guard () |
| |
| void | unguard () |
| |
| bool | is_active () const |
| |
| bool | is_guarded () const |
| |
| virtual void | print () |
| |
Generalized Explicit Runge-Kutta-Nystrom time integration.
References:
- 10.1002/nme.7658
- Author
- tlc
- Date
- 08/06/2025
- Version
- 0.1.0
| vec GERKN::from_incre_acceleration |
( |
const vec & |
, |
|
|
const uvec & |
encoding |
|
) |
| |
|
overridevirtual |
When external loads are applied, they can be applied in forms of displacement/velocity/acceleration. The time integration methods, by default, form effective stiffness matrices in displacement domain. That is, in AX=B, A is the effective stiffness matrix and X is the displacement increment. Thus, loads in velocity/acceleration must be converted to displacement. This cannot be done arbitrarily due to compatibility issues. This method takes acceleration increment and converts it to TOTAL displacement.
Reimplemented from ExplicitIntegrator.