|
| | GeneralizedAlpha (unsigned, double) |
| |
| | GeneralizedAlpha (unsigned, double, double) |
| |
| void | assemble_resistance () override |
| |
| void | assemble_matrix () override |
| |
| int | process_load () override |
| |
| int | process_constraint () override |
| |
| int | process_load_resistance () override |
| |
| int | process_constraint_resistance () override |
| |
| int | update_trial_status () override |
| |
| void | update_parameter (double) override |
| |
| void | update_compatibility () const override |
| | update acceleration and velocity for zero displacement increment More...
|
| |
| vec | from_incre_velocity (const vec &, const uvec &) override |
| |
| vec | from_incre_acceleration (const vec &, const uvec &) override |
| |
| void | print () override |
| |
| | Integrator (unsigned=0) |
| |
| | Integrator (const Integrator &)=delete |
| |
| | Integrator (Integrator &&)=delete |
| |
| Integrator & | operator= (const Integrator &)=delete |
| |
| Integrator & | operator= (Integrator &&)=delete |
| |
| | ~Integrator () override |
| |
| void | set_domain (const weak_ptr< DomainBase > &) |
| |
| const weak_ptr< DomainBase > & | get_domain () const |
| |
| virtual int | initialize () |
| |
| void | set_time_step_switch (bool) |
| |
| bool | allow_to_change_time_step () const |
| |
| virtual int | process_criterion () |
| |
| virtual int | process_modifier () |
| |
| void | record () const |
| |
| virtual vec | get_force_residual () |
| |
| virtual vec | get_displacement_residual () |
| |
| virtual vec | get_auxiliary_residual () |
| |
| virtual sp_mat | get_reference_load () |
| |
| virtual sp_mat | get_auxiliary_stiffness () |
| |
| virtual void | update_load () |
| |
| virtual void | update_constraint () |
| |
| virtual void | update_trial_load_factor (double) |
| |
| virtual void | update_trial_load_factor (const vec &) |
| |
| virtual void | update_trial_displacement (const vec &) |
| |
| void | update_trial_time (double) |
| |
| void | update_incre_time (double) |
| |
| virtual int | update_incre_status () |
| |
| virtual int | update_internal (const mat &) |
| |
| mat | solve (const mat &) |
| |
| mat | solve (const sp_mat &) |
| |
| mat | solve (mat &&) |
| |
| mat | solve (sp_mat &&) |
| |
| virtual int | solve (mat &, const mat &) |
| |
| virtual int | solve (mat &, const sp_mat &) |
| |
| virtual int | solve (mat &, mat &&) |
| |
| virtual int | solve (mat &, sp_mat &&) |
| |
| virtual void | erase_machine_error () const |
| |
| virtual void | stage_and_commit_status () |
| |
| virtual void | stage_status () |
| |
| virtual void | commit_status () |
| |
| virtual void | clear_status () |
| |
| virtual void | reset_status () |
| |
| vec | from_total_velocity (const vec &, const uvec &) |
| |
| vec | from_total_acceleration (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 &) |
| |
| | Tag (unsigned=0) |
| |
| | Tag (const Tag &)=default |
| |
| | Tag (Tag &&)=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 |
| |
A GeneralizedAlpha class defines a solver using GeneralizedAlpha algorithm.
Unlike Newmark method, in which the equilibrium is satisfied at the end of current time step, i.e., \(t=t_0+\Delta{}t\), the generalized- \(\alpha\) approach applies it at somewhere in current step, i.e., \(t=t_0+\Delta{}t-\alpha\), similar to the generalized midpoint concept.
doi: 10.1115/1.2900803
- Author
- tlc
- Date
- 21/10/2017
- Version
- 0.1.0
| vec GeneralizedAlpha::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 displacement increment.
Reimplemented from Integrator.
| vec GeneralizedAlpha::from_incre_velocity |
( |
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 velocity increment and converts it to displacement increment.
Reimplemented from Integrator.
| int GeneralizedAlpha::process_constraint |
( |
| ) |
|
|
overridevirtual |
The main task of this method is to apply constraints (of various forms implemented in various methods). Combinations of different types need to be considered: 1) homogeneous, 2) inhomogeneous, 3) linear, 4) nonlinear. Combinations of different methods need to be considered: 1) penalty, 2) multiplier. On exit, the global stiffness matrix should be updated, the global residual vector should be updated.
Reimplemented from Integrator.