All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
contour_1s_neutral_linear_external_FFR.h
1 /*
2  * contour_1s_neutral_linear_external_FFR.h
3  *
4  * Created on: 25.10.2013
5  * Author: zwang
6  */
7 
8 #ifndef CONTOUR_1S_NEUTRAL_LINEAR_EXTERNAL_FFR_H_
9 #define CONTOUR_1S_NEUTRAL_LINEAR_EXTERNAL_FFR_H_
10 
11 #include <mbsimFlexibleBody/flexible_body/flexible_body_linear_external_ffr.h>
12 #include "mbsimFlexibleBody/pointer.h"
13 #include <mbsimFlexibleBody/contours/contour_1s_neutral_factory.h>
14 #include "neutral_contour_components/neutral_nurbs_velocity_1s.h"
15 #include "neutral_contour_components/neutral_nurbs_position_1s.h"
16 #include "neutral_contour_components/neutral_nurbs_local_position_1s.h"
17 
18 namespace MBSimFlexibleBody {
19 
21  public:
22  Contour1sNeutralLinearExternalFFR(const std::string &name_) : Contour1sNeutralFactory(name_), transNodes(0), NP(NULL), NLP(NULL), NV(NULL), qSize(0) { }
23 
25  virtual void init(InitStage stage);
26  virtual NeutralNurbsVelocity1s* createNeutralVelocity();
27  virtual NeutralNurbsPosition1s* createNeutralPosition();
28  virtual NeutralNurbsLocalPosition1s* createNeutralLocalPosition();
29  virtual void createNeutralModeShape();
30 
34  void readTransNodes(std::string file);
35 
36  virtual fmatvec::Vec3 evalPosition(const fmatvec::Vec2 &zeta);
37  virtual fmatvec::Vec3 evalWs(const fmatvec::Vec2 &zeta);
38  virtual fmatvec::Vec3 evalWt(const fmatvec::Vec2 &zeta);
39  virtual fmatvec::Vec3 evalWu(const fmatvec::Vec2 &zeta) { return evalWs(zeta); }
40  virtual fmatvec::Vec3 evalWv(const fmatvec::Vec2 &zeta) { return evalWt(zeta); }
41 
42  void updatePositions(MBSim::ContourFrame *frame);
43  void updateVelocities(MBSim::ContourFrame *frame);
44  void updateJacobians(MBSim::ContourFrame *frame, int j=0);
45 
46  /* GETTER / SETTER*/
47  fmatvec::VecInt getTransNodes();
48 
49  void setFrameOfReference(MBSim::Frame *frame) { R = frame; }
50 
51  void resetUpToDate();
52 
53  protected:
54 
60  fmatvec::VecInt transNodes;
61 
65 
66  int qSize;
67 
68  std::vector<MBSim::NurbsCurve> curveModeShape; // size = number of elastic coordinates
69 
70  MBSim::Frame *R;
71 
72  };
73 
74 } /* namespace MBSimFlexibleBody */
75 #endif
Definition: neutral_nurbs_local_position_1s.h:15
Definition: neutral_nurbs_velocity_1s.h:15
void readTransNodes(std::string file)
read the node numbers from a file
Definition: contour_1s_neutral_linear_external_FFR.cc:28
Definition: neutral_nurbs_position_1s.h:15
Definition: contour_1s_neutral_linear_external_FFR.h:20
Definition: contour_1s_neutral_factory.h:20
fmatvec::VecInt transNodes
list of nodes to be interpolated
Definition: contour_1s_neutral_linear_external_FFR.h:60

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML