20 #ifndef __mast__element_property_card_base__ 21 #define __mast__element_property_card_base__ 32 class MaterialPropertyCardBase;
35 template <
typename ValType>
class FieldFunction;
75 virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> >
78 virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> >
81 virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> >
84 virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> >
87 virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> >
90 virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> >
93 virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> >
96 virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> >
99 virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> >
102 virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> >
105 virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> >
108 virtual std::unique_ptr<MAST::FieldFunction<RealMatrixX> >
134 virtual unsigned int dim()
const = 0;
196 #endif // __mast__element_property_card_base__ virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > prestress_A_matrix(MAST::ElementBase &e) const =0
virtual MAST::BendingOperatorType bending_model(const MAST::GeomElem &elem) const =0
returns the bending model to be used for the element.
virtual const MAST::FieldFunction< Real > & section(const MAST::ElementBase &e) const =0
MAST::StrainType _strain_type
type of nonlinear strain to be used for analysis
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > thermal_expansion_B_matrix(const MAST::ElementBase &e) const =0
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > thermal_capacitance_matrix(const MAST::ElementBase &e) const =0
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > prestress_B_matrix(MAST::ElementBase &e) const =0
void set_diagonal_mass_matrix(bool m)
sets the mass matrix to be diagonal or consistent
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > damping_matrix(const MAST::ElementBase &e) const =0
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > stiffness_B_matrix(const MAST::ElementBase &e) const =0
void set_strain(MAST::StrainType strain)
sets the type of strain to be used, which is LINEAR_STRAIN by default
virtual bool if_isotropic() const =0
return true if the property is isotropic
virtual ~ElementPropertyCardBase()
virtual destructor
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > inertia_matrix(const MAST::ElementBase &e) const =0
virtual const MAST::MaterialPropertyCardBase & get_material() const
return the material property.
bool _diagonal_mass
flag to use a diagonal mass matrix.
const MAST::StrainType strain_type() const
returns the type of strain to be used for this element
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > transverse_shear_stiffness_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 > > stiffness_A_matrix(const MAST::ElementBase &e) const =0
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > stiffness_D_matrix(const MAST::ElementBase &e) const =0
provides a methods to store property values
This class acts as a wrapper around libMesh::Elem for the purpose of providing a uniform interface fo...
virtual std::unique_ptr< MAST::FieldFunction< RealMatrixX > > thermal_expansion_A_matrix(const MAST::ElementBase &e) const =0
virtual unsigned int dim() const =0
dimension of the element for which this property is defined
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...
bool if_diagonal_mass_matrix() const
returns the type of strain to be used for this element
virtual bool if_prestressed() const
bool contains(const std::string &nm) const
checks if the card contains the specified property value
ElementPropertyCardBase()
This is the base class for elements that implement calculation of finite element quantities over the ...