MAST
Multidisciplinary-design Adaptation and Sensitivity Toolkit (MAST)
MAST::ElementPropertyCardBase Class Referenceabstract

Detailed Description

Definition at line 45 of file element_property_card_base.h.

#include <element_property_card_base.h>

Inheritance diagram for MAST::ElementPropertyCardBase:
Collaboration diagram for MAST::ElementPropertyCardBase:

Public Member Functions

 ElementPropertyCardBase ()
 
virtual ~ElementPropertyCardBase ()
 virtual destructor More...
 
virtual MAST::BendingOperatorType bending_model (const MAST::GeomElem &elem) const =0
 returns the bending model to be used for the element. More...
 
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > damping_matrix (const MAST::ElementBase &e) const =0
 
virtual unsigned int dim () const =0
 dimension of the element for which this property is defined More...
 
virtual int extra_quadrature_order (const MAST::GeomElem &elem) const =0
 returns the extra quadrature order (on top of the system) that this element should use. More...
 
virtual const MAST::MaterialPropertyCardBaseget_material () const
 return the material property. More...
 
virtual bool get_warping_only () const
 
bool if_diagonal_mass_matrix () const
 returns the type of strain to be used for this element More...
 
virtual bool if_isotropic () const =0
 return true if the property is isotropic More...
 
virtual bool if_prestressed () const
 
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > inertia_matrix (const MAST::ElementBase &e) const =0
 
virtual void init ()
 Only used by 1D sections. More...
 
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > prestress_A_matrix (MAST::ElementBase &e) const =0
 
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > prestress_B_matrix (MAST::ElementBase &e) const =0
 
virtual const MAST::FieldFunction< Real > * section (const MAST::ElementBase &e) const =0
 
virtual void set_bending_model (MAST::BendingOperatorType b)
 sets the bending model to be used for the 1D element Added by DJN to increase section polymorphism More...
 
void set_diagonal_mass_matrix (bool m)
 sets the mass matrix to be diagonal or consistent More...
 
virtual const MAST::MaterialPropertyCardBaseset_material (MAST::MaterialPropertyCardBase &mat) const
 return the material property. More...
 
void set_strain (MAST::StrainType strain)
 sets the type of strain to be used, which is LINEAR_STRAIN by default More...
 
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > stiffness_A_matrix (const MAST::ElementBase &e) const =0
 
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > stiffness_B_matrix (const MAST::ElementBase &e) const =0
 
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > stiffness_D_matrix (const MAST::ElementBase &e) const =0
 
const MAST::StrainType strain_type () const
 returns the type of strain to be used for this element More...
 
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > thermal_capacitance_matrix (const MAST::ElementBase &e) const =0
 
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > thermal_conductance_matrix (const MAST::ElementBase &e) const =0
 
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > thermal_expansion_A_matrix (const MAST::ElementBase &e) const =0
 
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > thermal_expansion_B_matrix (const MAST::ElementBase &e) const =0
 
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > transverse_shear_stiffness_matrix (const MAST::ElementBase &e) const =0
 
virtual RealVectorXy_vector ()
 vector in the x-y plane of the element. More...
 
virtual const RealVectorXy_vector () const
 constant reference to vector in the x-y plane of the element. More...
 
- Public Member Functions inherited from MAST::FunctionSetBase
 FunctionSetBase ()
 
virtual ~FunctionSetBase ()
 destructor deletes the function pointers More...
 
void add (MAST::FunctionBase &f)
 adds the function to this card and returns a reference to it. More...
 
bool contains (const std::string &nm) const
 checks if the card contains the specified property value More...
 
virtual bool depends_on (const MAST::FunctionBase &f) const
 returns true if the property card depends on the function f More...
 
template<typename ValType >
const ValType & get (const std::string &nm) const
 returns a constant reference to the specified function More...
 
template<typename ValType >
ValType & get (const std::string &nm)
 returns a writable reference to the specified function More...
 

Protected Attributes

bool _diagonal_mass
 flag to use a diagonal mass matrix. More...
 
MAST::StrainType _strain_type
 type of nonlinear strain to be used for analysis More...
 
bool _warping_only = false
 
- Protected Attributes inherited from MAST::FunctionSetBase
std::map< std::string, MAST::FunctionBase * > _properties
 map of the functions in this card More...
 

Constructor & Destructor Documentation

◆ ElementPropertyCardBase()

MAST::ElementPropertyCardBase::ElementPropertyCardBase ( )
inline

Definition at line 49 of file element_property_card_base.h.

◆ ~ElementPropertyCardBase()

virtual MAST::ElementPropertyCardBase::~ElementPropertyCardBase ( )
inlinevirtual

virtual destructor

Definition at line 58 of file element_property_card_base.h.

Member Function Documentation

◆ bending_model()

virtual MAST::BendingOperatorType MAST::ElementPropertyCardBase::bending_model ( const MAST::GeomElem elem) const
pure virtual

returns the bending model to be used for the element.

Should be reimplemented in the derived classes

Implemented in MAST::OrthotropicElementPropertyCard3D, MAST::IsotropicElementPropertyCard3D, MAST::ElementPropertyCard1D, and MAST::ElementPropertyCard2D.

◆ damping_matrix()

virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> > MAST::ElementPropertyCardBase::damping_matrix ( const MAST::ElementBase e) const
pure virtual

◆ dim()

virtual unsigned int MAST::ElementPropertyCardBase::dim ( ) const
pure virtual

◆ extra_quadrature_order()

virtual int MAST::ElementPropertyCardBase::extra_quadrature_order ( const MAST::GeomElem elem) const
pure virtual

returns the extra quadrature order (on top of the system) that this element should use.

By default this is zero, and can be changed by the derived classes

Implemented in MAST::OrthotropicElementPropertyCard3D, MAST::IsotropicElementPropertyCard3D, MAST::ElementPropertyCard1D, and MAST::ElementPropertyCard2D.

◆ get_material()

virtual const MAST::MaterialPropertyCardBase& MAST::ElementPropertyCardBase::get_material ( ) const
inlinevirtual

return the material property.

This needs to be reimplemented for individual card type, and should be used only for isotropic cards.

Reimplemented in MAST::Solid1DSectionElementPropertyCard, MAST::OrthotropicElementPropertyCard3D, MAST::IsotropicElementPropertyCard3D, and MAST::Solid2DSectionElementPropertyCard.

Definition at line 126 of file element_property_card_base.h.

◆ get_warping_only()

virtual bool MAST::ElementPropertyCardBase::get_warping_only ( ) const
inlinevirtual

Reimplemented in MAST::Solid2DSectionElementPropertyCard.

Definition at line 231 of file element_property_card_base.h.

◆ if_diagonal_mass_matrix()

bool MAST::ElementPropertyCardBase::if_diagonal_mass_matrix ( ) const
inline

returns the type of strain to be used for this element

Definition at line 217 of file element_property_card_base.h.

◆ if_isotropic()

◆ if_prestressed()

virtual bool MAST::ElementPropertyCardBase::if_prestressed ( ) const
inlinevirtual
Returns
true if the element prestress has been specified, false otherwise

Definition at line 226 of file element_property_card_base.h.

◆ inertia_matrix()

virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> > MAST::ElementPropertyCardBase::inertia_matrix ( const MAST::ElementBase e) const
pure virtual

◆ init()

virtual void MAST::ElementPropertyCardBase::init ( )
inlinevirtual

Only used by 1D sections.

Added for polymorphism enhancement.

Added by DJN.

Reimplemented in MAST::Solid1DSectionElementPropertyCard.

Definition at line 169 of file element_property_card_base.h.

◆ prestress_A_matrix()

virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> > MAST::ElementPropertyCardBase::prestress_A_matrix ( MAST::ElementBase e) const
pure virtual

◆ prestress_B_matrix()

virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> > MAST::ElementPropertyCardBase::prestress_B_matrix ( MAST::ElementBase e) const
pure virtual

◆ section()

virtual const MAST::FieldFunction<Real>* MAST::ElementPropertyCardBase::section ( const MAST::ElementBase e) const
pure virtual

◆ set_bending_model()

virtual void MAST::ElementPropertyCardBase::set_bending_model ( MAST::BendingOperatorType  b)
inlinevirtual

sets the bending model to be used for the 1D element Added by DJN to increase section polymorphism

Reimplemented in MAST::ElementPropertyCard1D, and MAST::ElementPropertyCard2D.

Definition at line 201 of file element_property_card_base.h.

◆ set_diagonal_mass_matrix()

void MAST::ElementPropertyCardBase::set_diagonal_mass_matrix ( bool  m)
inline

sets the mass matrix to be diagonal or consistent

Definition at line 209 of file element_property_card_base.h.

◆ set_material()

virtual const MAST::MaterialPropertyCardBase& MAST::ElementPropertyCardBase::set_material ( MAST::MaterialPropertyCardBase mat) const
inlinevirtual

return the material property.

This needs to be reimplemented for individual card type, and should be used only for isotropic cards.

Added by DJN. Reference cplusplus.com/forum/beginner/10639

Definition at line 138 of file element_property_card_base.h.

◆ set_strain()

void MAST::ElementPropertyCardBase::set_strain ( MAST::StrainType  strain)
inline

sets the type of strain to be used, which is LINEAR_STRAIN by default

Definition at line 184 of file element_property_card_base.h.

◆ stiffness_A_matrix()

virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> > MAST::ElementPropertyCardBase::stiffness_A_matrix ( const MAST::ElementBase e) const
pure virtual

◆ stiffness_B_matrix()

virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> > MAST::ElementPropertyCardBase::stiffness_B_matrix ( const MAST::ElementBase e) const
pure virtual

◆ stiffness_D_matrix()

virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> > MAST::ElementPropertyCardBase::stiffness_D_matrix ( const MAST::ElementBase e) const
pure virtual

◆ strain_type()

const MAST::StrainType MAST::ElementPropertyCardBase::strain_type ( ) const
inline

returns the type of strain to be used for this element

Definition at line 192 of file element_property_card_base.h.

◆ thermal_capacitance_matrix()

virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> > MAST::ElementPropertyCardBase::thermal_capacitance_matrix ( const MAST::ElementBase e) const
pure virtual

◆ thermal_conductance_matrix()

virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> > MAST::ElementPropertyCardBase::thermal_conductance_matrix ( const MAST::ElementBase e) const
pure virtual

◆ thermal_expansion_A_matrix()

virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> > MAST::ElementPropertyCardBase::thermal_expansion_A_matrix ( const MAST::ElementBase e) const
pure virtual

◆ thermal_expansion_B_matrix()

virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> > MAST::ElementPropertyCardBase::thermal_expansion_B_matrix ( const MAST::ElementBase e) const
pure virtual

◆ transverse_shear_stiffness_matrix()

virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> > MAST::ElementPropertyCardBase::transverse_shear_stiffness_matrix ( const MAST::ElementBase e) const
pure virtual

◆ y_vector() [1/2]

virtual RealVectorX& MAST::ElementPropertyCardBase::y_vector ( )
inlinevirtual

vector in the x-y plane of the element.

This should not be the same as the element x-axis. Only used by 1D sections. Added for polymorphism enhancement. Added by DJN.

Reimplemented in MAST::ElementPropertyCard1D.

Definition at line 149 of file element_property_card_base.h.

◆ y_vector() [2/2]

virtual const RealVectorX& MAST::ElementPropertyCardBase::y_vector ( ) const
inlinevirtual

constant reference to vector in the x-y plane of the element.

This should not be the same as the element x-axis. Only used by 1D sections. Added for polymorphism enhancement. Added by DJN.

Reimplemented in MAST::ElementPropertyCard1D.

Definition at line 160 of file element_property_card_base.h.

Member Data Documentation

◆ _diagonal_mass

bool MAST::ElementPropertyCardBase::_diagonal_mass
protected

flag to use a diagonal mass matrix.

By default, this is false

Definition at line 246 of file element_property_card_base.h.

◆ _strain_type

MAST::StrainType MAST::ElementPropertyCardBase::_strain_type
protected

type of nonlinear strain to be used for analysis

Definition at line 241 of file element_property_card_base.h.

◆ _warping_only

bool MAST::ElementPropertyCardBase::_warping_only = false
protected

Definition at line 248 of file element_property_card_base.h.


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