21 #ifndef _FINITE_ELEMENT_LINEAR_EXTERNAL_LUMPED_NODE_H_
22 #define _FINITE_ELEMENT_LINEAR_EXTERNAL_LUMPED_NODE_H_
24 #include <fmatvec/fmatvec.h>
25 #include "mbsim/mbsim_event.h"
26 #include "mbsimFlexibleBody/discretization_interface.h"
28 namespace MBSimFlexibleBody {
56 virtual fmatvec::Vec3 getPosition(
const fmatvec::Vec& qElement,
double s);
57 virtual fmatvec::SqrMat3 getOrientation(
const fmatvec::Vec& qElement,
double s);
63 const double getMij()
const {
return mij; }
64 const fmatvec::Vec3& getU0()
const {
return u0; }
65 const fmatvec::Mat3xV& getModeShape()
const {
return phi; }
75 const fmatvec::Vec3
u0;
virtual const fmatvec::Vec & geth() const
Definition: finite_element_linear_external_lumped_node.cc:47
virtual double computeGravitationalEnergy(const fmatvec::Vec &qG)
compute gravitational energy
Definition: finite_element_linear_external_lumped_node.cc:79
virtual ~FiniteElementLinearExternalLumpedNode()
destructor
Definition: finite_element_linear_external_lumped_node.cc:40
virtual void computeM(const fmatvec::Vec &qG)
compute mass matrix
Definition: finite_element_linear_external_lumped_node.cc:65
virtual double computeElasticEnergy(const fmatvec::Vec &qG)
compute elastic energy
Definition: finite_element_linear_external_lumped_node.cc:83
virtual void computedhdz(const fmatvec::Vec &qG, const fmatvec::Vec &qGt)
compute Jacobian for implicit integration
Definition: finite_element_linear_external_lumped_node.cc:71
virtual int getqSize() const
Definition: finite_element_linear_external_lumped_node.cc:59
Definition: finite_element_linear_external_lumped_node.h:30
virtual const fmatvec::SqrMat & getdhdq() const
Definition: finite_element_linear_external_lumped_node.cc:51
FiniteElementLinearExternalLumpedNode(double &mij_, fmatvec::Vec3 &u0_, const fmatvec::Mat3xV &phi_)
constructor
Definition: finite_element_linear_external_lumped_node.cc:34
const double mij
lumped mass
Definition: finite_element_linear_external_lumped_node.h:71
const fmatvec::Vec3 u0
undeformed position vector
Definition: finite_element_linear_external_lumped_node.h:75
discretization interface for flexible systems
Definition: discretization_interface.h:36
virtual double computeKineticEnergy(const fmatvec::Vec &qG, const fmatvec::Vec &qGt)
compute kinetic energy
Definition: finite_element_linear_external_lumped_node.cc:75
virtual void computeh(const fmatvec::Vec &qG, const fmatvec::Vec &qGt)
compute smooth right hand side
Definition: finite_element_linear_external_lumped_node.cc:67
fmatvec::Mat3xV phi
mode shape vector: 3*nf
Definition: finite_element_linear_external_lumped_node.h:79
virtual const fmatvec::SqrMat & getdhdu() const
Definition: finite_element_linear_external_lumped_node.cc:55
virtual const fmatvec::SymMat & getM() const
Definition: finite_element_linear_external_lumped_node.cc:43
virtual int getuSize() const
Definition: finite_element_linear_external_lumped_node.cc:61