20 #ifndef _FINITE_ELEMENT_2S_13_MFR_MINDLIN_H_
21 #define _FINITE_ELEMENT_2S_13_MFR_MINDLIN_H_
23 #include "mbsimFlexibleBody/discretization_interface.h"
26 namespace MBSimFlexibleBody {
65 virtual fmatvec::Vec3 getPosition(
const fmatvec::Vec& qElement,
const fmatvec::Vec2 &s);
66 virtual fmatvec::SqrMat3 getOrientation(
const fmatvec::Vec& qElement,
const fmatvec::Vec2 &s);
67 virtual fmatvec::Vec3 getVelocity (
const fmatvec::Vec& qElement,
const fmatvec::Vec& qpElement,
const fmatvec::Vec2 &s);
68 virtual fmatvec::Vec3 getAngularVelocity(
const fmatvec::Vec& qElement,
const fmatvec::Vec& qpElement,
const fmatvec::Vec2 &s);
81 void setEModul(
double E_) {
E = E_; }
82 void setPoissonRatio(
double nu_) {
nu = nu_; }
83 void setDensity(
double rho_) {
rho = rho_; }
84 void setShearCorrectionFactor(
double alphaS_) {
alphaS = alphaS_; }
88 void freeK() {
delete K;
K=0; }
89 void freeM_RR() {
delete M_RR;
M_RR=0; }
90 void freeN_ij(
int i,
int j) {
delete N_ij[i][j];
N_ij[i][j]=0; }
92 void freeNR_ij(
int i,
int j) {
delete NR_ij[i][j];
NR_ij[i][j]=0; }
94 void freeR_ij() {
delete R_ij;
R_ij=0; }
fmatvec::Vec * R_compl
part of the mass matrix
Definition: finite_element_2s_13_mfr_mindlin.h:251
const fmatvec::SymMat & getM() const
Definition: finite_element_2s_13_mfr_mindlin.cc:85
double G
shear modulus
Definition: finite_element_2s_13_mfr_mindlin.h:186
fmatvec::Mat JGeneralized(const fmatvec::Vec &NodeCoordinates, const fmatvec::Vec2 &s)
compute Jacobian of contact description at contour point
Definition: finite_element_2s_13_mfr_mindlin.cc:145
virtual const fmatvec::Vec & geth() const
Definition: finite_element_2s_13_mfr_mindlin.cc:89
virtual const fmatvec::SqrMat & getdhdu() const
Definition: finite_element_2s_13_mfr_mindlin.cc:97
fmatvec::SymMat * M_RR
part of the mass matrix
Definition: finite_element_2s_13_mfr_mindlin.h:231
fmatvec::SymMat * K
stiffness matrix
Definition: finite_element_2s_13_mfr_mindlin.h:226
virtual double computeElasticEnergy(const fmatvec::Vec &q)
compute elastic energy
Definition: finite_element_2s_13_mfr_mindlin.cc:121
int getqSize() const
Definition: finite_element_2s_13_mfr_mindlin.h:57
FiniteElement2s13MFRMindlin(double E_, double nu_, double rho_, double d0_, double d1_, double d2_, const fmatvec::Vec &NodeCoordinates)
constructor
Definition: finite_element_2s_13_mfr_mindlin.cc:33
int NodeDofs
elastic dof per node
Definition: finite_element_2s_13_mfr_mindlin.h:211
void computeStiffnessMatrix()
computes stiffnes matrix
Definition: K.cc:29
virtual double computeKineticEnergy(const fmatvec::Vec &q, const fmatvec::Vec &u)
compute kinetic energy
Definition: finite_element_2s_13_mfr_mindlin.cc:113
void computeR_ij()
computes a part of the mass matrix
Definition: R_ij.cc:29
fmatvec::Vector< fmatvec::Fixed< 6 >, double > getPositions(const fmatvec::Vec &NodeCoordinates, const fmatvec::Vec &qElement, const fmatvec::Vec2 &s, double d1, double d2)
virtual const fmatvec::SqrMat & getdhdq() const
Definition: finite_element_2s_13_mfr_mindlin.cc:93
void computeR_compl()
computes a part of the mass matrix
Definition: R_compl.cc:29
void computeN_compl()
computes a part of the mass matrix
Definition: N_compl.cc:29
double nu
Poisson ratio.
Definition: finite_element_2s_13_mfr_mindlin.h:181
virtual double computeGravitationalEnergy(const fmatvec::Vec &q)
compute gravitational energy
Definition: finite_element_2s_13_mfr_mindlin.cc:117
fmatvec::RowVec * NR_ij[3][3]
part of the mass matrix
Definition: finite_element_2s_13_mfr_mindlin.h:246
double rho
density
Definition: finite_element_2s_13_mfr_mindlin.h:196
int Nodes
number of nodes
Definition: finite_element_2s_13_mfr_mindlin.h:216
fmatvec::Mat * N_compl
part of the mass matrix
Definition: finite_element_2s_13_mfr_mindlin.h:236
virtual void computeh(const fmatvec::Vec &q, const fmatvec::Vec &u)
compute smooth right hand side
Definition: finite_element_2s_13_mfr_mindlin.cc:105
void computeN_ij(int i, int j)
computes a part of the mass matrix
Definition: finite_element_2s_13_mfr_mindlin.cc:68
void computeM_RR()
computes a part of the mass matrix
Definition: M_RR.cc:29
virtual void computedhdz(const fmatvec::Vec &q, const fmatvec::Vec &u)
compute Jacobian for implicit integration
Definition: finite_element_2s_13_mfr_mindlin.cc:109
void computeNR_ij(int i, int j)
computes a part of the mass matrix
Definition: finite_element_2s_13_mfr_mindlin.cc:149
fmatvec::Vec NodeCoordinates
radial and azimuthal coordinates of corner nodes
Definition: finite_element_2s_13_mfr_mindlin.h:221
fmatvec::SqrMat * N_ij[3][3]
part of the mass matrix
Definition: finite_element_2s_13_mfr_mindlin.h:241
discretization interface for flexible systems
Definition: discretization_interface.h:36
virtual void computeM(const fmatvec::Vec &q)
compute mass matrix
Definition: finite_element_2s_13_mfr_mindlin.cc:101
FE for Reissner-Mindlin Plate using MFR.
Definition: finite_element_2s_13_mfr_mindlin.h:36
virtual ~FiniteElement2s13MFRMindlin()
destructor
Definition: finite_element_2s_13_mfr_mindlin.cc:55
fmatvec::SymMat * R_ij
part of the mass matrix
Definition: finite_element_2s_13_mfr_mindlin.h:256
int getuSize() const
Definition: finite_element_2s_13_mfr_mindlin.h:58
double E
Young's modulus.
Definition: finite_element_2s_13_mfr_mindlin.h:176
int RefDofs
reference dof
Definition: finite_element_2s_13_mfr_mindlin.h:206
double alphaS
shear correction factor
Definition: finite_element_2s_13_mfr_mindlin.h:201
double d0
geometric factors of the disk
Definition: finite_element_2s_13_mfr_mindlin.h:191