suanPan
Contact3D Class Referencefinal

A Contact3D class. More...

#include <Contact3D.h>

Inheritance diagram for Contact3D:
Collaboration diagram for Contact3D:

Public Member Functions

 Contact3D (unsigned, unsigned, unsigned, double=1E8)
 
int initialize (const shared_ptr< DomainBase > &) override
 
int update_status () override
 
int clear_status () override
 
int commit_status () override
 
int reset_status () override
 
- 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

A Contact3D class.

The Contact3D class defines node to triangular facet contact via penalty function.

Author
tlc
Date
29/04/2021
Version
0.1.0

Constructor & Destructor Documentation

◆ Contact3D()

Contact3D::Contact3D ( unsigned  T,
unsigned  M,
unsigned  S,
double  P = 1E8 
)

Member Function Documentation

◆ clear_status()

int Contact3D::clear_status ( )
overridevirtual

Implements Element.

◆ commit_status()

int Contact3D::commit_status ( )
overridevirtual

Implements Element.

◆ initialize()

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

Implements ElementBase.

Here is the call graph for this function:

◆ reset_status()

int Contact3D::reset_status ( )
overridevirtual

Implements Element.

◆ update_status()

int Contact3D::update_status ( )
overridevirtual

Implements ElementBase.

Here is the call graph for this function:

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