suanPan
|
A RayleighNewmark class defines a solver using Newmark algorithm with Rayleigh damping model. More...
#include <RayleighNewmark.h>
Public Member Functions | |
RayleighNewmark (unsigned, double, double, double, double, double, double) | |
void | assemble_resistance () override |
Public Member Functions inherited from Newmark | |
Newmark (unsigned=0, double=.25, double=.5) | |
void | assemble_resistance () override |
void | assemble_matrix () 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 |
Public Member Functions inherited from ImplicitIntegrator | |
constexpr IntegratorType | type () const override |
bool | time_independent_matrix () const override |
Integrator (unsigned=0) | |
Integrator (const Integrator &)=delete | |
Integrator (Integrator &&)=delete | |
Public Member Functions inherited from Integrator | |
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 &) |
Public Member Functions inherited from Tag | |
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 () |
Additional Inherited Members | |
Protected Attributes inherited from Newmark | |
double | C0 = 0. |
double | C1 = 0. |
double | C2 = 0. |
double | C3 = 0. |
double | C4 = 0. |
double | C5 = 0. |
A RayleighNewmark class defines a solver using Newmark algorithm with Rayleigh damping model.
RayleighNewmark
algorithm is unconditionally stable if
\begin{gather}\alpha\geq\dfrac{1}{4}\left(\dfrac{1}{2}+\beta\right)^2,\qquad\beta\geq\dfrac{1}{2}\end{gather}
.
There are several choices for solver parameters.
Constant Acceleration:
\begin{gather}\alpha=\dfrac{1}{4},\qquad\beta=\dfrac{1}{2}\end{gather}
.
Linear Acceleration:
\begin{gather}\alpha=\dfrac{1}{6},\qquad\beta=\dfrac{1}{2}\end{gather}
.
|
explicit |
|
overridevirtual |