suanPan
WilsonPenzienNewmark Class Referencefinal

A WilsonPenzienNewmark class defines a solver using Newmark algorithm with Wilson-Penzien damping model. More...

#include <WilsonPenzienNewmark.h>

Inheritance diagram for WilsonPenzienNewmark:
Collaboration diagram for WilsonPenzienNewmark:

Public Member Functions

 WilsonPenzienNewmark (unsigned, vec &&, double=.25, double=.5)
 
int initialize () override
 
int process_constraint () override
 
int solve (mat &, const mat &) override
 
int solve (mat &, const sp_mat &) override
 
int solve (mat &, mat &&) override
 
int solve (mat &, sp_mat &&) override
 
void commit_status () override
 
void clear_status () override
 
void reset_status () override
 
void assemble_resistance () override
 
void assemble_matrix () override
 
void print () 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 WilsonPenzienNewmark class defines a solver using Newmark algorithm with Wilson-Penzien damping model.

Author
tlc
Date
05/06/2020
Version
0.1.1

Constructor & Destructor Documentation

◆ WilsonPenzienNewmark()

WilsonPenzienNewmark::WilsonPenzienNewmark ( unsigned  T,
vec &&  DR,
double  A = .25,
double  B = .5 
)
explicit

Member Function Documentation

◆ assemble_matrix()

void WilsonPenzienNewmark::assemble_matrix ( )
overridevirtual

Assemble the global effective matrix A in AX=B. For FEM applications, it is often a linear combination of stiffness, mass, damping and geometry matrices.

Reimplemented from Newmark.

Here is the call graph for this function:

◆ assemble_resistance()

void WilsonPenzienNewmark::assemble_resistance ( )
overridevirtual

Reimplemented from Newmark.

Here is the call graph for this function:

◆ clear_status()

void WilsonPenzienNewmark::clear_status ( )
overridevirtual

Reimplemented from Integrator.

Here is the call graph for this function:

◆ commit_status()

void WilsonPenzienNewmark::commit_status ( )
overridevirtual

Reimplemented from Integrator.

Here is the call graph for this function:

◆ initialize()

int WilsonPenzienNewmark::initialize ( )
overridevirtual

Reimplemented from Integrator.

Here is the call graph for this function:

◆ print()

void WilsonPenzienNewmark::print ( )
overridevirtual

Reimplemented from Newmark.

◆ process_constraint()

int WilsonPenzienNewmark::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.

Here is the call graph for this function:

◆ reset_status()

void WilsonPenzienNewmark::reset_status ( )
overridevirtual

Reimplemented from Integrator.

Here is the call graph for this function:

◆ solve() [1/4]

int WilsonPenzienNewmark::solve ( mat &  X,
const mat &  B 
)
overridevirtual

Reimplemented from Integrator.

Here is the call graph for this function:

◆ solve() [2/4]

int WilsonPenzienNewmark::solve ( mat &  X,
const sp_mat &  B 
)
overridevirtual

Reimplemented from Integrator.

Here is the call graph for this function:

◆ solve() [3/4]

int WilsonPenzienNewmark::solve ( mat &  X,
mat &&  B 
)
overridevirtual

Reimplemented from Integrator.

Here is the call graph for this function:

◆ solve() [4/4]

int WilsonPenzienNewmark::solve ( mat &  X,
sp_mat &&  B 
)
overridevirtual

Reimplemented from Integrator.

Here is the call graph for this function:

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