|
| GeneralizedAlpha (unsigned, double) |
|
| GeneralizedAlpha (unsigned, double, double) |
|
void | assemble_resistance () override |
|
void | assemble_matrix () override |
|
vec | get_force_residual () override |
|
vec | get_displacement_residual () override |
|
sp_mat | get_reference_load () 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 |
|
vec | from_incre_velocity (const vec &, const uvec &) override |
|
vec | from_incre_acceleration (const vec &, const uvec &) override |
|
void | print () override |
|
constexpr IntegratorType | type () const override |
|
bool | time_independent_matrix () const override |
|
| Integrator (unsigned=0) |
|
| Integrator (const Integrator &)=delete |
|
| Integrator (Integrator &&)=delete |
|
| Integrator (unsigned=0) |
|
| Integrator (const Integrator &)=delete |
|
| Integrator (Integrator &&)=delete |
|
Integrator & | operator= (const Integrator &)=delete |
|
Integrator & | operator= (Integrator &&)=delete |
|
| ~Integrator () override=default |
|
void | set_domain (const weak_ptr< DomainBase > &) |
|
shared_ptr< DomainBase > | get_domain () const |
|
virtual int | initialize () |
|
virtual constexpr IntegratorType | type () const |
|
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 | has_corrector () const |
|
virtual bool | time_independent_matrix () const |
|
virtual int | process_load () |
|
virtual int | process_constraint () |
|
virtual int | process_criterion () |
|
virtual int | process_modifier () |
|
virtual int | process_load_resistance () |
|
virtual int | process_constraint_resistance () |
|
void | record () const |
|
virtual void | assemble_resistance () |
|
virtual void | assemble_matrix () |
|
virtual vec | get_force_residual () |
|
virtual vec | get_displacement_residual () |
|
virtual vec | get_auxiliary_residual () |
|
virtual sp_mat | get_reference_load () |
|
virtual const vec & | get_trial_displacement () const |
|
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_from_ninja () |
|
virtual void | update_trial_time (double) |
|
virtual void | update_incre_time (double) |
|
virtual int | update_trial_status () |
|
virtual int | correct_trial_status () |
|
virtual 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 &&) |
|
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 (vec &) const |
|
void | stage_and_commit_status () |
|
virtual void | stage_status () |
|
virtual void | commit_status () |
|
virtual void | clear_status () |
|
virtual void | reset_status () |
|
virtual void | update_parameter (double) |
|
virtual vec | from_incre_velocity (const vec &, const uvec &) |
|
virtual vec | from_incre_acceleration (const vec &, const uvec &) |
|
virtual vec | from_total_velocity (const vec &, const uvec &) |
|
virtual 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 |
|
virtual void | print () |
|
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 TOTAL displacement.
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 TOTAL displacement.
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.