21 #ifndef mast_bernoulli_bending_operator_h 22 #define mast_bernoulli_bending_operator_h 31 #include "libmesh/point.h" 32 #include "libmesh/elem.h" 41 const std::vector<libMesh::Point>& qpts):
62 const unsigned int qp,
72 const unsigned int qp,
89 const std::vector<libMesh::Point>
_qpts;
97 const unsigned int qp,
111 const unsigned int qp,
144 N(0) = (0.5/
_length) * (- 2.0 + 6.0*xi);
145 N(1) = (0.5/
_length) * ( 2.0 + 6.0*xi);
149 N(0) = (0.5/
_length) * (- 2.0 + 6.0*xi);
150 N(1) = (0.5/
_length) * ( 2.0 + 6.0*xi);
void set_shape_function(unsigned int interpolated_var, unsigned int discrete_var, const RealVectorX &shape_func)
sets the shape function values for the block corresponding to interpolated_var and discrete_var...
virtual void initialize_bending_strain_operator(const MAST::FEBase &fe, const unsigned int qp, MAST::FEMOperatorMatrix &Bmat_v, MAST::FEMOperatorMatrix &Bmat_w)
initialze the bending strain operator for Bernoulli element, withouth the y,z-location.
Real _length
element length
Bending strain operator for 1D element.
BernoulliBendingOperator(MAST::StructuralElementBase &elem, const std::vector< libMesh::Point > &qpts)
Matrix< Real, Dynamic, 1 > RealVectorX
virtual bool include_transverse_shear_energy() const
returns true if this bending operator supports a transverse shear component
const std::vector< libMesh::Point > _qpts
this element needs the locations of the points for which the FE is initialized
const MAST::GeomElem & _elem
element for which bending operator is created
void initialize_bending_strain_operator_for_yz(const MAST::FEBase &fe, const unsigned int qp, const Real y, const Real z, MAST::FEMOperatorMatrix &Bmat_bend_v, MAST::FEMOperatorMatrix &Bmat_bend_w)
initializes the bending strain operator for the specified quadrature point and y,z-location.