|
suanPan
🧮 An Open Source, Parallel and Heterogeneous Finite Element Analysis Framework
|
A ElementBase class. More...
#include <ElementBase.h>
Public Types | |
| enum class | Type : std::uint8_t { FEM , DEM } |
| enum class | Parameter : std::uint8_t { ELASTIC , POISSON , RADIUS , MASS , INERTIA , DAMPING } |
Public Member Functions | |
| ElementBase (const unsigned T) | |
| 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 Type | type () 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< Node::DOF > & | get_dof_identifier () const =0 |
| virtual const std::vector< MappingDOF > & | get_dof_mapping () const =0 |
| virtual bool | validate_dof (const std::vector< Node::DOF > &) const =0 |
| virtual uvec | index_of (const std::vector< Node::DOF > &) 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< std::weak_ptr< Node > > & | get_node_ptr () const =0 |
| virtual mat | get_coordinate () const =0 |
| virtual mat | get_coordinate (unsigned) 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) const =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_characteristic_length () const =0 |
| virtual double | get (Parameter) const =0 |
| virtual mat | compute_shape_function (const mat &, unsigned) const =0 |
Public Member Functions inherited from UniqueTag | |
| UniqueTag (const UniqueTag &)=delete | |
| UniqueTag (UniqueTag &&)=delete | |
| UniqueTag & | operator= (const UniqueTag &)=delete |
| UniqueTag & | operator= (UniqueTag &&)=delete |
| ~UniqueTag () override=default | |
| Tag (unsigned=0) | |
| Tag (const Tag &)=default | |
| Tag (Tag &&) noexcept=default | |
Public Member Functions inherited from Tag | |
| Tag (unsigned=0) | |
| Tag (const Tag &)=default | |
| Tag (Tag &&) noexcept=default | |
| Tag & | operator= (const Tag &)=delete |
| Tag & | operator= (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 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 |
|
strong |
|
strong |
|
inlineexplicit |
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in ElementExample, B21, B21E, B21H, B31, B31OS, EB21, EB31OS, F21, F21H, F31, MVLEM, NMB21, NMB21E, NMB31, C3D20, C3D4, C3D8, C3D8I, CIN3D8, DC3D4, DC3D8, ElementTemplate, CAX3, CAX4, CAX8, CSMQ, CSMQ4, CSMQ8, CSMT3, CSMT6, Allman, GCMQ, GQ12, SGCMQ, CINP4, PS, QE2, DCP3, DCP4, CP3, CP4, CP4I, CP5, CP6, CP7, CP8, PCPE4DC, PCPE4UC, PCPE8DC, PCPE8UC, Particle, PatchCube, PatchQuad, DKT3, DKT4, Mindlin, DKTS3, S4, SGCMS, Contact2D, Contact3D, Damper01, Damper02, Embedded< DIM >, Joint, MassBase, SingleSection2D, SingleSection3D, Spring01, Spring02, Tie, TranslationConnector, T2D2, T2D2S, T3D2, T3D2S, and Element.
|
pure virtual |
Implemented in ElementExample, B21, B21E, B21H, B31, B31OS, EB21, EB31OS, F21, F21H, F31, MVLEM, NMB21, NMB21E, NMB31, C3D20, C3D4, C3D8, C3D8I, CIN3D8, DC3D4, DC3D8, ElementTemplate, CAX3, CAX4, CAX8, CSMQ, CSMQ4, CSMQ8, CSMT3, CSMT6, Allman, GCMQ, GQ12, SGCMQ, CINP4, PS, QE2, DCP3, DCP4, CP3, CP4, CP4I, CP5, CP6, CP7, CP8, PCPE4DC, PCPE4UC, PCPE8DC, PCPE8UC, Particle, PatchCube, PatchQuad, DKT3, DKT4, Mindlin, DKTS3, S4, SGCMS, Contact2D, Contact3D, Damper01, Damper02, Embedded< DIM >, Joint, MassBase, SingleSection2D, SingleSection3D, Spring01, Spring02, Tie, TranslationConnector, T2D2, T2D2S, T3D2, T3D2S, and Element.
|
pure virtual |
Implemented in SphericalParticle< DIM >, SphericalParticle< 2u >, SphericalParticle< 3u >, and Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
protectedpure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
protectedpure virtual |
Implemented in Element.
|
protectedpure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
protectedpure virtual |
Implemented in Element.
|
protectedpure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
Implemented in Element.
|
pure virtual |
Implemented in ElementExample, B21, B21H, B31, B31OS, EB21, EB31OS, F21, F21H, F31, MVLEM, NMB21, NMB21E, NMB31, C3D20, C3D4, C3D8, C3D8I, CIN3D8, DC3D4, DC3D8, ElementTemplate, CAX3, CAX4, CAX8, CSMQ, CSMQ4, CSMQ8, CSMT3, CSMT6, Allman, GCMQ, GQ12, SGCMQ, CINP4, PS, QE2, DCP3, DCP4, CP3, CP4, CP4I, CP5, CP6, CP7, CP8, PCPE4DC, PCPE4UC, PCPE8DC, PCPE8UC, InertialSphericalParticle2D, SphericalParticle2D, InertialSphericalParticle3D, SphericalParticle3D, PatchCube, PatchQuad, DKT3, DKT4, Mindlin, DKTS3, S4, SGCMS, Contact2D, Contact3D, Damper01, Damper02, Joint, Mass2D, Mass3D, MassPoint2D, MassPoint3D, SingleSection2D, SingleSection3D, Spring01, Spring02, Tie, TranslationConnector, T2D2, T2D2S, T3D2, T3D2S, and Embedded< DIM >.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in B21, B21H, B31, B31OS, EB21, EB31OS, F21, F21H, F31, MVLEM, NMB21, NMB31, C3D20, C3D4, C3D8, C3D8I, CIN3D8, DC3D4, DC3D8, Element, CAX3, CAX4, CAX8, CSMQ, CSMQ4, CSMQ8, CSMT3, CSMT6, Allman, GCMQ, GQ12, SGCMQ, CINP4, PS, QE2, DCP3, DCP4, CP3, CP4, CP4I, CP5, CP6, CP7, CP8, PCPE4DC, PCPE4UC, PCPE8DC, PCPE8UC, PatchCube, PatchQuad, DKT3, DKT4, Mindlin, DKTS3, S4, SGCMS, Damper01, Damper02, Joint, Spring01, Spring02, T2D2, T2D2S, T3D2, and T3D2S.
|
pure virtual |
Implemented in ElementExample, B21, B21E, B21H, B31, B31OS, EB21, EB31OS, F21, F21H, F31, MVLEM, NMB21, NMB21E, NMB31, C3D20, C3D4, C3D8, C3D8I, CIN3D8, DC3D4, DC3D8, ElementTemplate, CAX3, CAX4, CAX8, CSMQ, CSMQ4, CSMQ8, CSMT3, CSMT6, Allman, GCMQ, GQ12, SGCMQ, CINP4, PS, QE2, DCP3, DCP4, CP3, CP4, CP4I, CP5, CP6, CP7, CP8, PCPE4DC, PCPE4UC, PCPE8DC, PCPE8UC, Particle, PatchCube, PatchQuad, DKT3, DKT4, Mindlin, DKTS3, S4, SGCMS, Contact2D, Contact3D, Damper01, Damper02, Embedded< DIM >, Joint, MassBase, SingleSection2D, SingleSection3D, Spring01, Spring02, Tie, TranslationConnector, T2D2, T2D2S, T3D2, T3D2S, and Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in ElementExample, B21, B21E, B21H, B31, B31OS, EB21, EB31OS, F21, F21H, F31, MVLEM, NMB21, NMB21E, NMB31, C3D20, C3D4, C3D8, C3D8I, CIN3D8, DC3D4, DC3D8, ElementTemplate, CAX3, CAX4, CAX8, CSMQ, CSMQ4, CSMQ8, CSMT3, CSMT6, Allman, GCMQ, GQ12, SGCMQ, CINP4, PS, QE2, DCP3, DCP4, CP3, CP4, CP4I, CP5, CP6, CP7, CP8, PCPE4DC, PCPE4UC, PCPE8DC, PCPE8UC, Particle, PatchCube, PatchQuad, DKT3, DKT4, Mindlin, DKTS3, S4, SGCMS, Contact2D, Contact3D, Damper01, Damper05, Damper02, Embedded< DIM >, Joint, MassBase, SingleSection2D, SingleSection3D, Spring01, Spring02, Tie, TranslationConnector, T2D2, T2D2S, T3D2, and T3D2S.
|
pure virtual |
Implemented in Element.
|
pure virtual |
Implemented in Element.