MAST
MAST::ElementPropertyCardBase Class Referenceabstract

#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 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 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
 
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > damping_matrix (const MAST::ElementBase &e) const =0
 
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > inertia_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 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 std::unique_ptr< MAST::FieldFunction< RealMatrixX > > thermal_conductance_matrix (const MAST::ElementBase &e) const =0
 
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > thermal_capacitance_matrix (const MAST::ElementBase &e) const =0
 
virtual const MAST::FieldFunction< Real > & section (const MAST::ElementBase &e) const =0
 
virtual bool if_isotropic () const =0
 return true if the property is isotropic More...
 
virtual const MAST::MaterialPropertyCardBaseget_material () const
 return the material property. More...
 
virtual unsigned int dim () const =0
 dimension of the element for which this property is defined More...
 
void set_strain (MAST::StrainType strain)
 sets the type of strain to be used, which is LINEAR_STRAIN by default More...
 
const MAST::StrainType strain_type () const
 returns the type of strain to be used for this element More...
 
void set_diagonal_mass_matrix (bool m)
 sets the mass matrix to be diagonal or consistent More...
 
bool if_diagonal_mass_matrix () const
 returns the type of strain to be used for this element More...
 
virtual bool if_prestressed () const
 
- Public Member Functions inherited from MAST::FunctionSetBase
 FunctionSetBase ()
 
virtual ~FunctionSetBase ()
 destructor deletes the function pointers More...
 
bool contains (const std::string &nm) const
 checks if the card contains the specified property value More...
 
void add (MAST::FunctionBase &f)
 adds the function to this card and returns a reference to it. 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...
 
virtual bool depends_on (const MAST::FunctionBase &f) const
 returns true if the property card depends on the function f More...
 

Protected Attributes

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

Detailed Description

Definition at line 45 of file element_property_card_base.h.

Constructor & Destructor Documentation

MAST::ElementPropertyCardBase::ElementPropertyCardBase ( )
inline

Definition at line 49 of file element_property_card_base.h.

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

virtual destructor

Definition at line 58 of file element_property_card_base.h.

Here is the call graph for this function:

Member Function Documentation

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.

Here is the caller graph for this function:

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

dimension of the element for which this property is defined

Implemented in MAST::OrthotropicElementPropertyCard3D, MAST::Multilayer2DSectionElementPropertyCard, MAST::IsotropicElementPropertyCard3D, MAST::ElementPropertyCard1D, and MAST::Solid2DSectionElementPropertyCard.

Here is the caller graph for this function:

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.

Here is the caller graph for this function:

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.

Here is the call graph for this function:

Here is the caller graph for this function:

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

returns the type of strain to be used for this element

Definition at line 165 of file element_property_card_base.h.

Here is the caller graph for this function:

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

Definition at line 174 of file element_property_card_base.h.

Here is the call graph for this function:

Here is the caller graph for this function:

virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> > MAST::ElementPropertyCardBase::inertia_matrix ( const MAST::ElementBase e) const
pure virtual
virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> > MAST::ElementPropertyCardBase::prestress_A_matrix ( MAST::ElementBase e) const
pure virtual
virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> > MAST::ElementPropertyCardBase::prestress_B_matrix ( MAST::ElementBase e) const
pure virtual
virtual const MAST::FieldFunction<Real>& MAST::ElementPropertyCardBase::section ( const MAST::ElementBase e) const
pure virtual
void MAST::ElementPropertyCardBase::set_diagonal_mass_matrix ( bool  m)
inline

sets the mass matrix to be diagonal or consistent

Definition at line 157 of file element_property_card_base.h.

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 141 of file element_property_card_base.h.

virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> > MAST::ElementPropertyCardBase::stiffness_A_matrix ( const MAST::ElementBase e) const
pure virtual
virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> > MAST::ElementPropertyCardBase::stiffness_B_matrix ( const MAST::ElementBase e) const
pure virtual
virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> > MAST::ElementPropertyCardBase::stiffness_D_matrix ( const MAST::ElementBase e) const
pure virtual
const MAST::StrainType MAST::ElementPropertyCardBase::strain_type ( ) const
inline

returns the type of strain to be used for this element

Definition at line 149 of file element_property_card_base.h.

Here is the caller graph for this function:

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

Member Data Documentation

bool MAST::ElementPropertyCardBase::_diagonal_mass
protected

flag to use a diagonal mass matrix.

By default, this is false

Definition at line 189 of file element_property_card_base.h.

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

type of nonlinear strain to be used for analysis

Definition at line 184 of file element_property_card_base.h.


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