All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
contour_2s_neutral_linear_external_FFR.h
1 /*
2  * contour_2s_neutral_linear_external_FFR.h
3  *
4  * Created on: 25.10.2013
5  * Author: zwang
6  */
7 
8 #ifndef CONTOUR_2S_NEUTRAL_LINEAR_EXTERNAL_FFR_H_
9 #define CONTOUR_2S_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_2s_neutral_factory.h>
14 #include "neutral_contour_components/neutral_nurbs_velocity_2s.h"
15 #include "neutral_contour_components/neutral_nurbs_position_2s.h"
16 #include "neutral_contour_components/neutral_nurbs_local_position_2s.h"
17 
18 namespace MBSimFlexibleBody {
19 
21  public:
25  Contour2sNeutralLinearExternalFFR(const std::string &name_) : Contour2sNeutralFactory(name_), transNodes(), nodeOffset(0.), degU(3), degV(3), openStructure(false), NP(NULL), NLP(NULL), NV(NULL), qSize(0) { }
26 
31 
32  /*INHERITED INTERFACE */
33  virtual void init(InitStage stage);
34 
35  /* GETTER / SETTER*/
36  int getNumberOfTransNodesU();
37  int getNumberOfTransNodesV();
38 
44  void setTransNodes(const fmatvec::MatVI & transNodes);
45 
52  void readTransNodes(std::string file);
53 
54  virtual fmatvec::Vec3 evalPosition(const fmatvec::Vec2 &zeta);
55  virtual fmatvec::Vec3 evalWs(const fmatvec::Vec2 &zeta);
56  virtual fmatvec::Vec3 evalWt(const fmatvec::Vec2 &zeta);
57  virtual fmatvec::Vec3 evalWu(const fmatvec::Vec2 &zeta) { return evalWs(zeta); }
58  virtual fmatvec::Vec3 evalWv(const fmatvec::Vec2 &zeta) { return evalWt(zeta); }
59  virtual fmatvec::Vec3 evalWn(const fmatvec::Vec2 &zeta);
60 
61  void updatePositions(MBSim::ContourFrame *frame);
62  void updateVelocities(MBSim::ContourFrame *frame);
63  void updateJacobians(MBSim::ContourFrame *frame, int j=0);
64 
68  fmatvec::MatVI getTransNodes();
69 
70 
74  void setdegU(int deg);
75 
79  void setdegV(int deg);
80 
84  void setOpenStructure(bool openstructure);
85 
89  bool getOpenStructure();
90 
91  void resetUpToDate();
92 
93  protected:
94  virtual NeutralNurbsVelocity2s* createNeutralVelocity();
95  virtual NeutralNurbsPosition2s* createNeutralPosition();
96  virtual NeutralNurbsLocalPosition2s* createNeutralLocalPosition();
97  virtual void createNeutralModeShape();
98 
105  fmatvec::MatVI transNodes;
106 
110  double nodeOffset;
111 
112  Vec uk;
113  Vec vl;
114  int degU;
115  int degV;
116  bool openStructure;
117 
121 
122  int qSize;
123 
124  std::vector<MBSim::NurbsSurface> surfaceModeShape; // size = number of elastic coordinates
125 
126  };
127 
128 } /* namespace MBSimFlexibleBody */
129 #endif
Contour2sNeutralLinearExternalFFR(const std::string &name_)
standard constructor
Definition: contour_2s_neutral_linear_external_FFR.h:25
double nodeOffset
offset between translation and rotational nodes
Definition: contour_2s_neutral_linear_external_FFR.h:110
void setdegU(int deg)
set interpolation degree in U-direction
Definition: contour_2s_neutral_linear_external_FFR.cc:162
void readTransNodes(std::string file)
read data from a file that consists of sorted lists for nodes that should be interpolated Every line ...
Definition: contour_2s_neutral_linear_external_FFR.cc:178
Definition: contour_2s_neutral_factory.h:16
Definition: neutral_nurbs_local_position_2s.h:15
fmatvec::MatVI transNodes
Matrix of all node numbers that are interpolated.
Definition: contour_2s_neutral_linear_external_FFR.h:105
void setTransNodes(const fmatvec::MatVI &transNodes)
function to set the indices of the nodes for the interpolation The function expects index for the fir...
Definition: contour_2s_neutral_linear_external_FFR.cc:153
Definition: neutral_nurbs_velocity_2s.h:15
fmatvec::MatVI getTransNodes()
returns the nodes for interpolation
Definition: contour_2s_neutral_linear_external_FFR.cc:158
Definition: neutral_nurbs_position_2s.h:15
Definition: contour_2s_neutral_linear_external_FFR.h:20
bool getOpenStructure()
get open or closed structure
Definition: contour_2s_neutral_linear_external_FFR.cc:174
void setdegV(int deg)
set interpolation degree in V-direction
Definition: contour_2s_neutral_linear_external_FFR.cc:166
void setOpenStructure(bool openstructure)
set open or closed structure
Definition: contour_2s_neutral_linear_external_FFR.cc:170
virtual ~Contour2sNeutralLinearExternalFFR()
destructor
Definition: contour_2s_neutral_linear_external_FFR.cc:19

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML