|
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_matrix () override |
| int | update_trial_status (bool) 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 |
| Integrator (unsigned=0) | |
Public Member Functions inherited from Integrator | |
| 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 () |
| virtual const vec & | get_trial_displacement () const |
| void | update_load () const |
| void | update_constraint () const |
| void | update_trial_load_factor (double) const |
| void | update_trial_load_factor (const vec &) const |
| virtual void | update_from_ninja () |
| void | update_trial_time (double) |
| virtual void | update_incre_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 &&) |
| virtual int | solve (mat &, const mat &) |
| virtual int | solve (mat &, const sp_mat &) |
| virtual int | solve (mat &, mat &&) |
| virtual int | solve (mat &, sp_mat &&) |
| void | erase_machine_error (vec &) const |
| void | stage_and_commit_status () |
| void | stage_status () const |
| virtual void | commit_status () |
| virtual void | clear_status () |
| virtual void | reset_status () |
| 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 UniqueTag | |
| 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 | |
Public Member Functions inherited from Tag | |
| 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 |
Additional Inherited Members | |
Protected Member Functions inherited from Newmark | |
| void | update_parameter (double) override |
Protected Member Functions inherited from Integrator | |
| virtual int | process_load_impl (bool) |
| virtual int | process_constraint_impl (bool) |
| virtual bool | has_corrector () const |
| virtual int | correct_trial_status () |
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}
.
| RayleighNewmark::RayleighNewmark | ( | unsigned | T, |
| double | A, | ||
| double | B, | ||
| double | DA, | ||
| double | DB, | ||
| double | DC, | ||
| double | DD | ||
| ) |
|
overridevirtual |