suanPan
T3D2 Class Referencefinal

The T3D2 class handles both linear and nonlinear problems by using a corotational transformation. More...

#include <T3D2.h>

Inheritance diagram for T3D2:
Collaboration diagram for T3D2:

Public Member Functions

 T3D2 (unsigned, uvec &&, unsigned, double, bool=false, bool=true, bool=true)
 
int initialize (const shared_ptr< DomainBase > &) override
 
int update_status () override
 
int commit_status () override
 
int clear_status () override
 
int reset_status () override
 
vector< vec > record (OutputType) override
 
void print () override
 
- Public Member Functions inherited from MaterialElement1D
 MaterialElement1D (unsigned, unsigned, unsigned, uvec &&, uvec &&, bool, vector< DOF > &&)
 
- Public Member Functions inherited from MaterialElement
 MaterialElement (unsigned, unsigned, unsigned, uvec &&, uvec &&, bool, MaterialType, vector< DOF > &&)
 
- Public Member Functions inherited from Element
 Element (unsigned, unsigned, unsigned, uvec &&, std::vector< DOF > &&)
 
 Element (unsigned, unsigned, unsigned, uvec &&, uvec &&, bool, MaterialType, std::vector< DOF > &&)
 
 Element (unsigned, unsigned, unsigned, uvec &&, uvec &&, bool, SectionType, std::vector< DOF > &&)
 
 Element (unsigned, unsigned, uvec &&)
 
 Element (unsigned, unsigned, unsigned, unsigned)
 
 Element (const Element &)=delete
 
 Element (Element &&)=delete
 
Elementoperator= (const Element &)=delete
 
Elementoperator= (Element &&)=delete
 
 ~Element () override=default
 
int initialize_base (const shared_ptr< DomainBase > &) final
 
void set_initialized (bool) const override
 
void set_symmetric (bool) const override
 
bool is_initialized () const override
 
bool is_symmetric () const override
 
bool is_nlgeom () const override
 
void update_dof_encoding () override
 
bool if_update_mass () const override
 
bool if_update_viscous () const override
 
bool if_update_nonviscous () const override
 
bool if_update_stiffness () const override
 
bool if_update_geometry () const override
 
bool allow_modify_mass () const override
 
bool allow_modify_viscous () const override
 
bool allow_modify_nonviscous () const override
 
const uvec & get_dof_encoding () const override
 
const uvec & get_node_encoding () const override
 
const std::vector< MappingDOF > & get_dof_mapping () const override
 
const uvec & get_material_tag () const override
 
const uvec & get_section_tag () const override
 
unsigned get_dof_number () const override
 
unsigned get_node_number () const override
 
unsigned get_total_number () const override
 
void clear_node_ptr () override
 
const std::vector< weak_ptr< Node > > & get_node_ptr () const override
 
vec get_incre_displacement () const override
 
vec get_incre_velocity () const override
 
vec get_incre_acceleration () const override
 
vec get_trial_displacement () const override
 
vec get_trial_velocity () const override
 
vec get_trial_acceleration () const override
 
vec get_current_displacement () const override
 
vec get_current_velocity () const override
 
vec get_current_acceleration () const override
 
const vec & get_trial_resistance () const override
 
const vec & get_current_resistance () const override
 
const vec & get_trial_damping_force () const override
 
const vec & get_current_damping_force () const override
 
const cx_mat & get_trial_nonviscous_force () const override
 
const cx_mat & get_current_nonviscous_force () const override
 
const vec & get_trial_inertial_force () override
 
const vec & get_current_inertial_force () override
 
const vec & get_trial_body_force () const override
 
const vec & get_current_body_force () const override
 
const vec & get_trial_traction () const override
 
const vec & get_current_traction () const override
 
const mat & get_trial_mass () const override
 
const mat & get_trial_viscous () const override
 
const mat & get_trial_nonviscous () const override
 
const mat & get_trial_stiffness () const override
 
const mat & get_trial_geometry () const override
 
const mat & get_trial_secant () const override
 
const mat & get_current_mass () const override
 
const mat & get_current_viscous () const override
 
const mat & get_current_nonviscous () const override
 
const mat & get_current_stiffness () const override
 
const mat & get_current_geometry () const override
 
const mat & get_current_secant () const override
 
const mat & get_initial_mass () const override
 
const mat & get_initial_viscous () const override
 
const mat & get_initial_nonviscous () const override
 
const mat & get_initial_stiffness () const override
 
const mat & get_initial_geometry () const override
 
const mat & get_initial_secant () const override
 
const mat & get_mass_container () const override
 
const mat & get_stiffness_container () const override
 
int clear_status () override=0
 
int commit_status () override=0
 
int reset_status () override=0
 
const vec & update_body_force (const vec &) override
 
const vec & update_traction (const vec &) override
 
std::vector< vec > record (OutputType) override
 
double get_strain_energy () const override
 
double get_complementary_energy () const override
 
double get_kinetic_energy () const override
 
double get_viscous_energy () const override
 
double get_nonviscous_energy () const override
 
const vec & get_momentum () const override
 
double get_momentum_component (DOF) const override
 
double get_characteristic_length () const override
 
mat compute_shape_function (const mat &, unsigned) const override
 
- Public Member Functions inherited from ElementBase
 ElementBase (const unsigned T)
 
 ElementBase (const ElementBase &)=delete
 
 ElementBase (ElementBase &&)=delete
 
ElementBaseoperator= (const ElementBase &)=delete
 
ElementBaseoperator= (ElementBase &&)=delete
 
 ~ElementBase () override=default
 
virtual int initialize_base (const shared_ptr< DomainBase > &)=0
 
virtual int initialize (const shared_ptr< DomainBase > &)=0
 
virtual void set_initialized (bool) const =0
 
virtual void set_symmetric (bool) const =0
 
virtual bool is_initialized () const =0
 
virtual bool is_symmetric () const =0
 
virtual bool is_nlgeom () const =0
 
virtual void update_dof_encoding ()=0
 
virtual bool if_update_mass () const =0
 
virtual bool if_update_viscous () const =0
 
virtual bool if_update_nonviscous () const =0
 
virtual bool if_update_stiffness () const =0
 
virtual bool if_update_geometry () const =0
 
virtual bool allow_modify_mass () const =0
 
virtual bool allow_modify_viscous () const =0
 
virtual bool allow_modify_nonviscous () const =0
 
virtual const uvec & get_dof_encoding () const =0
 
virtual const uvec & get_node_encoding () const =0
 
virtual const std::vector< MappingDOF > & get_dof_mapping () const =0
 
virtual const uvec & get_material_tag () const =0
 
virtual const uvec & get_section_tag () const =0
 
virtual unsigned get_dof_number () const =0
 
virtual unsigned get_node_number () const =0
 
virtual unsigned get_total_number () const =0
 
virtual void clear_node_ptr ()=0
 
virtual const std::vector< weak_ptr< Node > > & get_node_ptr () const =0
 
virtual vec get_incre_displacement () const =0
 
virtual vec get_incre_velocity () const =0
 
virtual vec get_incre_acceleration () const =0
 
virtual vec get_trial_displacement () const =0
 
virtual vec get_trial_velocity () const =0
 
virtual vec get_trial_acceleration () const =0
 
virtual vec get_current_displacement () const =0
 
virtual vec get_current_velocity () const =0
 
virtual vec get_current_acceleration () const =0
 
virtual const vec & get_trial_resistance () const =0
 
virtual const vec & get_current_resistance () const =0
 
virtual const vec & get_trial_damping_force () const =0
 
virtual const vec & get_current_damping_force () const =0
 
virtual const cx_mat & get_trial_nonviscous_force () const =0
 
virtual const cx_mat & get_current_nonviscous_force () const =0
 
virtual const vec & get_trial_inertial_force ()=0
 
virtual const vec & get_current_inertial_force ()=0
 
virtual const vec & get_trial_body_force () const =0
 
virtual const vec & get_current_body_force () const =0
 
virtual const vec & get_trial_traction () const =0
 
virtual const vec & get_current_traction () const =0
 
virtual const mat & get_trial_mass () const =0
 
virtual const mat & get_trial_viscous () const =0
 
virtual const mat & get_trial_nonviscous () const =0
 
virtual const mat & get_trial_stiffness () const =0
 
virtual const mat & get_trial_geometry () const =0
 
virtual const mat & get_trial_secant () const =0
 
virtual const mat & get_current_mass () const =0
 
virtual const mat & get_current_viscous () const =0
 
virtual const mat & get_current_nonviscous () const =0
 
virtual const mat & get_current_stiffness () const =0
 
virtual const mat & get_current_geometry () const =0
 
virtual const mat & get_current_secant () const =0
 
virtual const mat & get_initial_mass () const =0
 
virtual const mat & get_initial_viscous () const =0
 
virtual const mat & get_initial_nonviscous () const =0
 
virtual const mat & get_initial_stiffness () const =0
 
virtual const mat & get_initial_geometry () const =0
 
virtual const mat & get_initial_secant () const =0
 
virtual const mat & get_mass_container () const =0
 
virtual const mat & get_stiffness_container () const =0
 
virtual int update_status ()=0
 
virtual int clear_status ()=0
 
virtual int commit_status ()=0
 
virtual int reset_status ()=0
 
virtual const vec & update_body_force (const vec &)=0
 
virtual const vec & update_traction (const vec &)=0
 
virtual std::vector< vec > record (OutputType)=0
 
virtual double get_strain_energy () const =0
 
virtual double get_complementary_energy () const =0
 
virtual double get_kinetic_energy () const =0
 
virtual double get_viscous_energy () const =0
 
virtual double get_nonviscous_energy () const =0
 
virtual const vec & get_momentum () const =0
 
virtual double get_momentum_component (DOF) const =0
 
virtual double get_characteristic_length () const =0
 
virtual mat compute_shape_function (const mat &, unsigned) const =0
 
- 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 Member Functions inherited from Element
mat get_coordinate (unsigned) const override
 generate a matrix that contains coordinates of connected nodes More...
 
vec get_node_incre_resistance () const override
 
vec get_node_trial_resistance () const override
 
vec get_node_current_resistance () const override
 
std::vector< shared_ptr< Material > > get_material (const shared_ptr< DomainBase > &) const override
 
std::vector< shared_ptr< Section > > get_section (const shared_ptr< DomainBase > &) const override
 
virtual mat get_coordinate (unsigned) const =0
 
virtual vec get_node_incre_resistance () const =0
 
virtual vec get_node_trial_resistance () const =0
 
virtual vec get_node_current_resistance () const =0
 
virtual std::vector< shared_ptr< Material > > get_material (const shared_ptr< DomainBase > &) const =0
 
virtual std::vector< shared_ptr< Section > > get_section (const shared_ptr< DomainBase > &) const =0
 
 ElementBase (const unsigned T)
 
 ElementBase (const ElementBase &)=delete
 
 ElementBase (ElementBase &&)=delete
 
ElementBaseoperator= (const ElementBase &)=delete
 
ElementBaseoperator= (ElementBase &&)=delete
 
 ~ElementBase () override=default
 
virtual int initialize_base (const shared_ptr< DomainBase > &)=0
 
virtual int initialize (const shared_ptr< DomainBase > &)=0
 
virtual void set_initialized (bool) const =0
 
virtual void set_symmetric (bool) const =0
 
virtual bool is_initialized () const =0
 
virtual bool is_symmetric () const =0
 
virtual bool is_nlgeom () const =0
 
virtual void update_dof_encoding ()=0
 
virtual bool if_update_mass () const =0
 
virtual bool if_update_viscous () const =0
 
virtual bool if_update_nonviscous () const =0
 
virtual bool if_update_stiffness () const =0
 
virtual bool if_update_geometry () const =0
 
virtual bool allow_modify_mass () const =0
 
virtual bool allow_modify_viscous () const =0
 
virtual bool allow_modify_nonviscous () const =0
 
virtual const uvec & get_dof_encoding () const =0
 
virtual const uvec & get_node_encoding () const =0
 
virtual const std::vector< MappingDOF > & get_dof_mapping () const =0
 
virtual const uvec & get_material_tag () const =0
 
virtual const uvec & get_section_tag () const =0
 
virtual unsigned get_dof_number () const =0
 
virtual unsigned get_node_number () const =0
 
virtual unsigned get_total_number () const =0
 
virtual void clear_node_ptr ()=0
 
virtual const std::vector< weak_ptr< Node > > & get_node_ptr () const =0
 
virtual vec get_incre_displacement () const =0
 
virtual vec get_incre_velocity () const =0
 
virtual vec get_incre_acceleration () const =0
 
virtual vec get_trial_displacement () const =0
 
virtual vec get_trial_velocity () const =0
 
virtual vec get_trial_acceleration () const =0
 
virtual vec get_current_displacement () const =0
 
virtual vec get_current_velocity () const =0
 
virtual vec get_current_acceleration () const =0
 
virtual const vec & get_trial_resistance () const =0
 
virtual const vec & get_current_resistance () const =0
 
virtual const vec & get_trial_damping_force () const =0
 
virtual const vec & get_current_damping_force () const =0
 
virtual const cx_mat & get_trial_nonviscous_force () const =0
 
virtual const cx_mat & get_current_nonviscous_force () const =0
 
virtual const vec & get_trial_inertial_force ()=0
 
virtual const vec & get_current_inertial_force ()=0
 
virtual const vec & get_trial_body_force () const =0
 
virtual const vec & get_current_body_force () const =0
 
virtual const vec & get_trial_traction () const =0
 
virtual const vec & get_current_traction () const =0
 
virtual const mat & get_trial_mass () const =0
 
virtual const mat & get_trial_viscous () const =0
 
virtual const mat & get_trial_nonviscous () const =0
 
virtual const mat & get_trial_stiffness () const =0
 
virtual const mat & get_trial_geometry () const =0
 
virtual const mat & get_trial_secant () const =0
 
virtual const mat & get_current_mass () const =0
 
virtual const mat & get_current_viscous () const =0
 
virtual const mat & get_current_nonviscous () const =0
 
virtual const mat & get_current_stiffness () const =0
 
virtual const mat & get_current_geometry () const =0
 
virtual const mat & get_current_secant () const =0
 
virtual const mat & get_initial_mass () const =0
 
virtual const mat & get_initial_viscous () const =0
 
virtual const mat & get_initial_nonviscous () const =0
 
virtual const mat & get_initial_stiffness () const =0
 
virtual const mat & get_initial_geometry () const =0
 
virtual const mat & get_initial_secant () const =0
 
virtual const mat & get_mass_container () const =0
 
virtual const mat & get_stiffness_container () const =0
 
virtual int update_status ()=0
 
virtual int clear_status ()=0
 
virtual int commit_status ()=0
 
virtual int reset_status ()=0
 
virtual const vec & update_body_force (const vec &)=0
 
virtual const vec & update_traction (const vec &)=0
 
virtual std::vector< vec > record (OutputType)=0
 
virtual double get_strain_energy () const =0
 
virtual double get_complementary_energy () const =0
 
virtual double get_kinetic_energy () const =0
 
virtual double get_viscous_energy () const =0
 
virtual double get_nonviscous_energy () const =0
 
virtual const vec & get_momentum () const =0
 
virtual double get_momentum_component (DOF) const =0
 
virtual double get_characteristic_length () const =0
 
virtual mat compute_shape_function (const mat &, unsigned) const =0
 
- Protected 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 ()
 
- Protected Attributes inherited from Element
std::vector< weak_ptr< Node > > node_ptr
 
- Protected Attributes inherited from DataElement
const uvec node_encoding
 
const uvec material_tag
 
const uvec section_tag
 
const bool nlgeom = false
 
bool update_mass = true
 
bool update_viscous = true
 
bool update_nonviscous = true
 
bool update_stiffness = true
 
bool update_geometry = true
 
bool modify_mass = true
 
bool modify_viscous = true
 
bool modify_nonviscous = true
 
uvec dof_encoding {}
 
mat initial_mass {}
 
mat initial_viscous {}
 
mat initial_nonviscous {}
 
mat initial_stiffness {}
 
mat initial_geometry {}
 
mat trial_mass {}
 
mat trial_viscous {}
 
mat trial_nonviscous {}
 
mat trial_stiffness {}
 
mat trial_geometry {}
 
mat current_mass {}
 
mat current_viscous {}
 
mat current_nonviscous {}
 
mat current_stiffness {}
 
mat current_geometry {}
 
vec trial_resistance {}
 
vec current_resistance {}
 
vec trial_viscous_force {}
 
vec current_viscous_force {}
 
cx_mat trial_nonviscous_force {}
 
cx_mat current_nonviscous_force {}
 
vec trial_inertial_force {}
 
vec current_inertial_force {}
 
vec trial_body_force {}
 
vec current_body_force {}
 
vec trial_traction {}
 
vec current_traction {}
 
mat body_force {}
 
mat traction {}
 
mat stiffness_container {}
 
mat mass_container {}
 
double strain_energy = 0.
 
double kinetic_energy = 0.
 
double viscous_energy = 0.
 
double nonviscous_energy = 0.
 
double complementary_energy = 0.
 
vec momentum {}
 
const double characteristic_length = 1.
 

Detailed Description

The T3D2 class handles both linear and nonlinear problems by using a corotational transformation.

Author
tlc
Date
14/08/2017
Version
0.1.1

Constructor & Destructor Documentation

◆ T3D2()

T3D2::T3D2 ( unsigned  T,
uvec &&  N,
unsigned  M,
double  A,
bool  F = false,
bool  UA = true,
bool  LS = true 
)

Member Function Documentation

◆ clear_status()

int T3D2::clear_status ( )
overridevirtual

Implements Element.

◆ commit_status()

int T3D2::commit_status ( )
overridevirtual

Implements Element.

◆ initialize()

int T3D2::initialize ( const shared_ptr< DomainBase > &  D)
overridevirtual

Implements ElementBase.

◆ print()

void T3D2::print ( )
overridevirtual

Reimplemented from Tag.

Here is the call graph for this function:

◆ record()

vector< vec > T3D2::record ( OutputType  P)
overridevirtual

Reimplemented from Element.

◆ reset_status()

int T3D2::reset_status ( )
overridevirtual

Implements Element.

◆ update_status()

int T3D2::update_status ( )
overridevirtual

Implements ElementBase.

Here is the call graph for this function:

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