All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
flexible_body_2s_13_mfr_mindlin.h
1 /* Copyright (C) 2004-2015 MBSim Development Team
2  *
3  * This library is free software; you can redistribute it and/or
4  * modify it under the terms of the GNU Lesser General Public
5  * License as published by the Free Software Foundation; either
6  * version 2.1 of the License, or (at your option) any later version.
7  *
8  * This library is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11  * Lesser General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public
14  * License along with this library; if not, write to the Free Software
15  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16  *
17  * Contact: thorsten.schindler@mytum.de
18  */
19 
20 #ifndef _FLEXIBLE_BODY_2S_13_MFR_MINDLIN_H_
21 #define _FLEXIBLE_BODY_2S_13_MFR_MINDLIN_H_
22 
23 #include "mbsimFlexibleBody/flexible_body/flexible_body_2s_13.h"
24 #include "mbsimFlexibleBody/flexible_body/finite_elements/finite_element_2s_13_mfr_mindlin.h"
25 
26 namespace MBSimFlexibleBody {
27 
38  public:
43  FlexibleBody2s13MFRMindlin(const std::string &name, const int & DEBUGLEVEL_ = 0);
44 
49 
50  /* INHERITED INTERFACE OF FLEXIBLE BODY CONTINUUM */
51 // using FlexibleBodyContinuum<fmatvec::Vec>::addFrame;
52  /***************************************************/
53 
54  /* INHERITED INTERFACE OF OBJECTINTERFACE */
55  virtual void updateM();
56  /***************************************************/
57 
58  /* INHERITED INTERFACE OF FLEXIBLE BODY */
59  virtual void BuildElements();
60  virtual void GlobalVectorContribution(int CurrentElement, const fmatvec::Vec& locVec, fmatvec::Vec& gloVec);
61  virtual void GlobalMatrixContribution(int CurrentElement, const fmatvec::Mat& locMat, fmatvec::Mat& gloMat);
62  virtual void GlobalMatrixContribution(int CurrentElement, const fmatvec::SymMat& locMat, fmatvec::SymMat& gloMat);
63 
64  fmatvec::Vec3 evalPosition();
65  fmatvec::SqrMat3 evalOrientation();
66 
67  virtual void updatePositions(Frame2s* frame);
68  virtual void updateVelocities(Frame2s* frame);
69  virtual void updateAccelerations(Frame2s* frame);
70  virtual void updateJacobians(Frame2s* frame, int j=0);
71  virtual void updateGyroscopicAccelerations(Frame2s* frame);
72 
73  virtual void updatePositions(NodeFrame* frame);
74  virtual void updateVelocities(NodeFrame* frame);
75  virtual void updateAccelerations(NodeFrame* frame);
76  virtual void updateJacobians(NodeFrame* frame, int j=0);
77  virtual void updateGyroscopicAccelerations(NodeFrame* frame);
78 
79  /* INHERITED INTERFACE OF OBJECT */
80  virtual void init(InitStage stage);
81  /***************************************************/
82 
83  /* INHERITED INTERFACE OF ELEMENT */
84  virtual std::string getType() const { return "FlexibleBody2s13MFRMindlin"; }
85  /***************************************************/
86 
87  /* INHERITED INTERFACE OF FLEXIBLEBODY2s13 */
88  virtual fmatvec::Vec transformCW(const fmatvec::Vec& WrPoint);
89  /***************************************************/
90 
91  protected:
92  /* INHERITED INTERFACE OF FLEXIBLEBODY2s13 */
93  virtual void initMatrices();
94  virtual void updateAG();
95  /***************************************************/
96 
100  void computeStiffnessMatrix();
101 
106 
111 
116 
121 
126 
131  };
132 
133 }
134 
135 #endif /* _FLEXIBLE_BODY_2S_13_MFR_MINDLIN_H_ */
fmatvec::SymMat * R_ij
matrix for the computation of the mass-matrix (assembled part of the element matrix) ...
Definition: flexible_body_2s_13_mfr_mindlin.h:130
fmatvec::Mat * N_compl
matrix for the computation of the mass-matrix (assembled part of the element matrix) ...
Definition: flexible_body_2s_13_mfr_mindlin.h:110
virtual void initMatrices()
calculate the matrices for the first time
Definition: flexible_body_2s_13_mfr_mindlin.cc:522
virtual ~FlexibleBody2s13MFRMindlin()
destructor
Definition: flexible_body_2s_13_mfr_mindlin.cc:45
virtual void GlobalMatrixContribution(int CurrentElement, const fmatvec::Mat &locMat, fmatvec::Mat &gloMat)
insert &#39;local&#39; information in global matrices
Definition: flexible_body_2s_13_mfr_mindlin.cc:192
virtual void updateAG()
update the transformation matrices A and G
Definition: flexible_body_2s_13_mfr_mindlin.cc:528
virtual void BuildElements()
references finite element coordinates to assembled coordinates
Definition: flexible_body_2s_13_mfr_mindlin.cc:167
virtual void GlobalVectorContribution(int CurrentElement, const fmatvec::Vec &locVec, fmatvec::Vec &gloVec)
insert &#39;local&#39; information in global vectors
Definition: flexible_body_2s_13_mfr_mindlin.cc:188
virtual fmatvec::Vec transformCW(const fmatvec::Vec &WrPoint)
transform Cartesian to cylinder system
Definition: flexible_body_2s_13_mfr_mindlin.cc:507
void computeStiffnessMatrix()
calculate constant stiffness matrix
Definition: flexible_body_2s_13_mfr_mindlin.cc:563
FlexibleBody2s13MFRMindlin(const std::string &name, const int &DEBUGLEVEL_=0)
constructor
Definition: flexible_body_2s_13_mfr_mindlin.cc:35
plate according to Reissner-Mindlin with moving frame of reference
Definition: flexible_body_2s_13.h:75
std::vector< Frame * > frame
fmatvec::SqrMat * N_ij[3][3]
matrix for the computation of the mass-matrix (assembled part of the element matrix) ...
Definition: flexible_body_2s_13_mfr_mindlin.h:115
plate according to Reissner-Mindlin with moving frame of reference and small tilting assumption ...
Definition: flexible_body_2s_13_mfr_mindlin.h:37
Definition: frame_2s.h:27
fmatvec::RowVec * NR_ij[3][3]
matrix for the computation of the mass-matrix (assembled part of the element matrix) ...
Definition: flexible_body_2s_13_mfr_mindlin.h:120
void computeConstantMassMatrixParts()
calculate constant parts of the mass matrix
Definition: flexible_body_2s_13_mfr_mindlin.cc:627
cartesian frame on nodes of flexible bodies
Definition: node_frame.h:31
fmatvec::Vec * R_compl
matrix for the computation of the mass-matrix (assembled part of the element matrix) ...
Definition: flexible_body_2s_13_mfr_mindlin.h:125

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML