suanPan
RayleighNewmark Class Referencefinal

A RayleighNewmark class defines a solver using Newmark algorithm with Rayleigh damping model. More...

#include <RayleighNewmark.h>

Inheritance diagram for RayleighNewmark:
Collaboration diagram for RayleighNewmark:

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
 
Integratoroperator= (const Integrator &)=delete
 
Integratoroperator= (Integrator &&)=delete
 
 ~Integrator () override=default
 
void set_domain (const weak_ptr< DomainBase > &)
 
shared_ptr< DomainBaseget_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
 
Tagoperator= (const Tag &)=delete
 
Tagoperator= (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.
 

Detailed Description

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}

.

Author
tlc
Date
25/08/2017
Version
0.1.1

Constructor & Destructor Documentation

◆ RayleighNewmark()

RayleighNewmark::RayleighNewmark ( unsigned  T,
double  A,
double  B,
double  DA,
double  DB,
double  DC,
double  DD 
)
explicit

Member Function Documentation

◆ assemble_resistance()

void RayleighNewmark::assemble_resistance ( )
overridevirtual

Reimplemented from Newmark.

Here is the call graph for this function:

The documentation for this class was generated from the following files: