suanPan
ElementBase Class Referenceabstract

A ElementBase class. More...

#include <ElementBase.h>

Inheritance diagram for ElementBase:
Collaboration diagram for ElementBase:

Public Member Functions

 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 ()
 

Protected Member Functions

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
 

Friends

mat get_coordinate (const ElementBase *, unsigned)
 
vec get_incre_displacement (const ElementBase *)
 
vec get_incre_velocity (const ElementBase *)
 
vec get_incre_acceleration (const ElementBase *)
 
vec get_trial_displacement (const ElementBase *)
 
vec get_trial_velocity (const ElementBase *)
 
vec get_trial_acceleration (const ElementBase *)
 
vec get_current_displacement (const ElementBase *)
 
vec get_current_velocity (const ElementBase *)
 
vec get_current_acceleration (const ElementBase *)
 

Detailed Description

A ElementBase class.

Author
tlc
Date
10/01/2020
Version
0.1.0

Constructor & Destructor Documentation

◆ ElementBase() [1/3]

ElementBase::ElementBase ( const unsigned  T)
inlineexplicit

◆ ElementBase() [2/3]

ElementBase::ElementBase ( const ElementBase )
delete

◆ ElementBase() [3/3]

ElementBase::ElementBase ( ElementBase &&  )
delete

◆ ~ElementBase()

ElementBase::~ElementBase ( )
overridedefault

Member Function Documentation

◆ allow_modify_mass()

virtual bool ElementBase::allow_modify_mass ( ) const
pure virtual

Implemented in Element.

◆ allow_modify_nonviscous()

virtual bool ElementBase::allow_modify_nonviscous ( ) const
pure virtual

Implemented in Element.

◆ allow_modify_viscous()

virtual bool ElementBase::allow_modify_viscous ( ) const
pure virtual

Implemented in Element.

◆ clear_node_ptr()

virtual void ElementBase::clear_node_ptr ( )
pure virtual

Implemented in Element.

◆ clear_status()

◆ commit_status()

◆ compute_shape_function()

virtual mat ElementBase::compute_shape_function ( const mat &  ,
unsigned   
) const
pure virtual

◆ get_characteristic_length()

virtual double ElementBase::get_characteristic_length ( ) const
pure virtual

Implemented in Element.

◆ get_complementary_energy()

virtual double ElementBase::get_complementary_energy ( ) const
pure virtual

Implemented in Element.

◆ get_coordinate()

virtual mat ElementBase::get_coordinate ( unsigned  ) const
protectedpure virtual

Implemented in Element.

◆ get_current_acceleration()

virtual vec ElementBase::get_current_acceleration ( ) const
pure virtual

Implemented in Element.

◆ get_current_body_force()

virtual const vec & ElementBase::get_current_body_force ( ) const
pure virtual

Implemented in Element.

◆ get_current_damping_force()

virtual const vec & ElementBase::get_current_damping_force ( ) const
pure virtual

Implemented in Element.

◆ get_current_displacement()

virtual vec ElementBase::get_current_displacement ( ) const
pure virtual

Implemented in Element.

◆ get_current_geometry()

virtual const mat & ElementBase::get_current_geometry ( ) const
pure virtual

Implemented in Element.

◆ get_current_inertial_force()

virtual const vec & ElementBase::get_current_inertial_force ( )
pure virtual

Implemented in Element.

◆ get_current_mass()

virtual const mat & ElementBase::get_current_mass ( ) const
pure virtual

Implemented in Element.

◆ get_current_nonviscous()

virtual const mat & ElementBase::get_current_nonviscous ( ) const
pure virtual

Implemented in Element.

◆ get_current_nonviscous_force()

virtual const cx_mat & ElementBase::get_current_nonviscous_force ( ) const
pure virtual

Implemented in Element.

◆ get_current_resistance()

virtual const vec & ElementBase::get_current_resistance ( ) const
pure virtual

Implemented in Element.

◆ get_current_secant()

virtual const mat & ElementBase::get_current_secant ( ) const
pure virtual

Implemented in Element.

◆ get_current_stiffness()

virtual const mat & ElementBase::get_current_stiffness ( ) const
pure virtual

Implemented in Element.

◆ get_current_traction()

virtual const vec & ElementBase::get_current_traction ( ) const
pure virtual

Implemented in Element.

◆ get_current_velocity()

virtual vec ElementBase::get_current_velocity ( ) const
pure virtual

Implemented in Element.

◆ get_current_viscous()

virtual const mat & ElementBase::get_current_viscous ( ) const
pure virtual

Implemented in Element.

◆ get_dof_encoding()

virtual const uvec & ElementBase::get_dof_encoding ( ) const
pure virtual

Implemented in Element.

◆ get_dof_mapping()

virtual const std::vector< MappingDOF > & ElementBase::get_dof_mapping ( ) const
pure virtual

Implemented in Element.

◆ get_dof_number()

virtual unsigned ElementBase::get_dof_number ( ) const
pure virtual

Implemented in Element.

◆ get_incre_acceleration()

virtual vec ElementBase::get_incre_acceleration ( ) const
pure virtual

Implemented in Element.

◆ get_incre_displacement()

virtual vec ElementBase::get_incre_displacement ( ) const
pure virtual

Implemented in Element.

◆ get_incre_velocity()

virtual vec ElementBase::get_incre_velocity ( ) const
pure virtual

Implemented in Element.

◆ get_initial_geometry()

virtual const mat & ElementBase::get_initial_geometry ( ) const
pure virtual

Implemented in Element.

◆ get_initial_mass()

virtual const mat & ElementBase::get_initial_mass ( ) const
pure virtual

Implemented in Element.

◆ get_initial_nonviscous()

virtual const mat & ElementBase::get_initial_nonviscous ( ) const
pure virtual

Implemented in Element.

◆ get_initial_secant()

virtual const mat & ElementBase::get_initial_secant ( ) const
pure virtual

Implemented in Element.

◆ get_initial_stiffness()

virtual const mat & ElementBase::get_initial_stiffness ( ) const
pure virtual

Implemented in Element.

◆ get_initial_viscous()

virtual const mat & ElementBase::get_initial_viscous ( ) const
pure virtual

Implemented in Element.

◆ get_kinetic_energy()

virtual double ElementBase::get_kinetic_energy ( ) const
pure virtual

Implemented in Element.

◆ get_mass_container()

virtual const mat & ElementBase::get_mass_container ( ) const
pure virtual

Implemented in Element.

◆ get_material()

virtual std::vector< shared_ptr< Material > > ElementBase::get_material ( const shared_ptr< DomainBase > &  ) const
protectedpure virtual

Implemented in Element.

◆ get_material_tag()

virtual const uvec & ElementBase::get_material_tag ( ) const
pure virtual

Implemented in Element.

◆ get_momentum()

virtual const vec & ElementBase::get_momentum ( ) const
pure virtual

Implemented in Element.

◆ get_momentum_component()

virtual double ElementBase::get_momentum_component ( DOF  ) const
pure virtual

Implemented in Element.

◆ get_node_current_resistance()

virtual vec ElementBase::get_node_current_resistance ( ) const
protectedpure virtual

Implemented in Element.

◆ get_node_encoding()

virtual const uvec & ElementBase::get_node_encoding ( ) const
pure virtual

Implemented in Element.

◆ get_node_incre_resistance()

virtual vec ElementBase::get_node_incre_resistance ( ) const
protectedpure virtual

Implemented in Element.

◆ get_node_number()

virtual unsigned ElementBase::get_node_number ( ) const
pure virtual

Implemented in Element.

◆ get_node_ptr()

virtual const std::vector< weak_ptr< Node > > & ElementBase::get_node_ptr ( ) const
pure virtual

Implemented in Element.

◆ get_node_trial_resistance()

virtual vec ElementBase::get_node_trial_resistance ( ) const
protectedpure virtual

Implemented in Element.

◆ get_nonviscous_energy()

virtual double ElementBase::get_nonviscous_energy ( ) const
pure virtual

Implemented in Element.

◆ get_section()

virtual std::vector< shared_ptr< Section > > ElementBase::get_section ( const shared_ptr< DomainBase > &  ) const
protectedpure virtual

Implemented in Element.

◆ get_section_tag()

virtual const uvec & ElementBase::get_section_tag ( ) const
pure virtual

Implemented in Element.

◆ get_stiffness_container()

virtual const mat & ElementBase::get_stiffness_container ( ) const
pure virtual

Implemented in Element.

◆ get_strain_energy()

virtual double ElementBase::get_strain_energy ( ) const
pure virtual

Implemented in Element.

◆ get_total_number()

virtual unsigned ElementBase::get_total_number ( ) const
pure virtual

Implemented in Element.

◆ get_trial_acceleration()

virtual vec ElementBase::get_trial_acceleration ( ) const
pure virtual

Implemented in Element.

◆ get_trial_body_force()

virtual const vec & ElementBase::get_trial_body_force ( ) const
pure virtual

Implemented in Element.

◆ get_trial_damping_force()

virtual const vec & ElementBase::get_trial_damping_force ( ) const
pure virtual

Implemented in Element.

◆ get_trial_displacement()

virtual vec ElementBase::get_trial_displacement ( ) const
pure virtual

Implemented in Element.

◆ get_trial_geometry()

virtual const mat & ElementBase::get_trial_geometry ( ) const
pure virtual

Implemented in Element.

◆ get_trial_inertial_force()

virtual const vec & ElementBase::get_trial_inertial_force ( )
pure virtual

Implemented in Element.

◆ get_trial_mass()

virtual const mat & ElementBase::get_trial_mass ( ) const
pure virtual

Implemented in Element.

◆ get_trial_nonviscous()

virtual const mat & ElementBase::get_trial_nonviscous ( ) const
pure virtual

Implemented in Element.

◆ get_trial_nonviscous_force()

virtual const cx_mat & ElementBase::get_trial_nonviscous_force ( ) const
pure virtual

Implemented in Element.

◆ get_trial_resistance()

virtual const vec & ElementBase::get_trial_resistance ( ) const
pure virtual

Implemented in Element.

◆ get_trial_secant()

virtual const mat & ElementBase::get_trial_secant ( ) const
pure virtual

Implemented in Element.

◆ get_trial_stiffness()

virtual const mat & ElementBase::get_trial_stiffness ( ) const
pure virtual

Implemented in Element.

◆ get_trial_traction()

virtual const vec & ElementBase::get_trial_traction ( ) const
pure virtual

Implemented in Element.

◆ get_trial_velocity()

virtual vec ElementBase::get_trial_velocity ( ) const
pure virtual

Implemented in Element.

◆ get_trial_viscous()

virtual const mat & ElementBase::get_trial_viscous ( ) const
pure virtual

Implemented in Element.

◆ get_viscous_energy()

virtual double ElementBase::get_viscous_energy ( ) const
pure virtual

Implemented in Element.

◆ if_update_geometry()

virtual bool ElementBase::if_update_geometry ( ) const
pure virtual

Implemented in Element.

◆ if_update_mass()

virtual bool ElementBase::if_update_mass ( ) const
pure virtual

Implemented in Element.

◆ if_update_nonviscous()

virtual bool ElementBase::if_update_nonviscous ( ) const
pure virtual

Implemented in Element.

◆ if_update_stiffness()

virtual bool ElementBase::if_update_stiffness ( ) const
pure virtual

Implemented in Element.

◆ if_update_viscous()

virtual bool ElementBase::if_update_viscous ( ) const
pure virtual

Implemented in Element.

◆ initialize()

◆ initialize_base()

virtual int ElementBase::initialize_base ( const shared_ptr< DomainBase > &  )
pure virtual

Implemented in Element.

◆ is_initialized()

virtual bool ElementBase::is_initialized ( ) const
pure virtual

Implemented in Element.

◆ is_nlgeom()

virtual bool ElementBase::is_nlgeom ( ) const
pure virtual

Implemented in Element.

◆ is_symmetric()

virtual bool ElementBase::is_symmetric ( ) const
pure virtual

Implemented in Element.

◆ operator=() [1/2]

ElementBase & ElementBase::operator= ( const ElementBase )
delete

◆ operator=() [2/2]

ElementBase & ElementBase::operator= ( ElementBase &&  )
delete

◆ record()

virtual std::vector< vec > ElementBase::record ( OutputType  )
pure virtual

◆ reset_status()

◆ set_initialized()

virtual void ElementBase::set_initialized ( bool  ) const
pure virtual

Implemented in Element.

◆ set_symmetric()

virtual void ElementBase::set_symmetric ( bool  ) const
pure virtual

Implemented in Element.

◆ update_body_force()

virtual const vec & ElementBase::update_body_force ( const vec &  )
pure virtual

Implemented in Element.

◆ update_dof_encoding()

virtual void ElementBase::update_dof_encoding ( )
pure virtual

Implemented in Element.

◆ update_status()

◆ update_traction()

virtual const vec & ElementBase::update_traction ( const vec &  )
pure virtual

Implemented in Element.

Friends And Related Function Documentation

◆ get_coordinate

mat get_coordinate ( const ElementBase E,
unsigned  N 
)
friend

◆ get_current_acceleration

vec get_current_acceleration ( const ElementBase E)
friend

◆ get_current_displacement

vec get_current_displacement ( const ElementBase E)
friend

◆ get_current_velocity

vec get_current_velocity ( const ElementBase E)
friend

◆ get_incre_acceleration

vec get_incre_acceleration ( const ElementBase E)
friend

◆ get_incre_displacement

vec get_incre_displacement ( const ElementBase E)
friend

◆ get_incre_velocity

vec get_incre_velocity ( const ElementBase E)
friend

◆ get_trial_acceleration

vec get_trial_acceleration ( const ElementBase E)
friend

◆ get_trial_displacement

vec get_trial_displacement ( const ElementBase E)
friend

◆ get_trial_velocity

vec get_trial_velocity ( const ElementBase E)
friend

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