106 virtual void InitParam(
bool bComputeMeanInducedVelocity =
true);
139 virtual std::ostream&
Restart(std::ostream& out)
const;
152 #if defined(USE_MULTITHREAD) && defined(MBDYN_X_MT_ASSRES)
154 #endif // USE_MULTITHREAD && MBDYN_X_MT_ASSRES
159 #if defined(USE_MULTITHREAD) && defined(MBDYN_X_MT_ASSRES)
161 #endif // USE_MULTITHREAD && MBDYN_X_MT_ASSRES
166 #if defined(USE_MULTITHREAD) && defined(MBDYN_X_MT_ASSRES)
168 #endif // USE_MULTITHREAD && MBDYN_X_MT_ASSRES
173 #if defined(USE_MULTITHREAD) && defined(MBDYN_X_MT_ASSRES)
175 #endif // USE_MULTITHREAD && MBDYN_X_MT_ASSRES
180 #if defined(USE_MULTITHREAD) && defined(MBDYN_X_MT_ASSRES)
182 #endif // USE_MULTITHREAD && MBDYN_X_MT_ASSRES
192 connectedNodes.resize(3);
195 connectedNodes.resize(2);
198 connectedNodes[0] =
pCraft;
199 connectedNodes[1] =
pRotor;
238 virtual std::ostream&
Restart(std::ostream& out)
const;
251 unsigned uLabel,
unsigned uPnt,
const Vec3& X)
const;
304 virtual std::ostream&
Restart(std::ostream& out)
const;
317 unsigned uLabel,
unsigned uPnt,
const Vec3& X)
const;
322 #if 0 // not needed because identical to UniformRotor::Init()
361 const Elem *pEl,
unsigned uPnt,
441 virtual std::ostream&
Restart(std::ostream& out)
const;
454 unsigned uLabel,
unsigned uPnt,
const Vec3& X)
const;
507 virtual std::ostream&
Restart(std::ostream& out)
const;
520 unsigned uLabel,
unsigned uPnt,
const Vec3& X)
const;
624 virtual std::ostream&
Restart(std::ostream& out)
const;
646 unsigned uLabel,
unsigned uPnt,
const Vec3& X)
const;
749 virtual std::ostream&
Restart(std::ostream& out)
const;
771 unsigned uLabel,
unsigned uPnt,
const Vec3& X)
const;
783 unsigned int uLabel);
virtual void SetInitialValue(VectorHandler &X)
virtual VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
virtual Vec3 GetInducedVelocity(Elem::Type type, unsigned uLabel, unsigned uPnt, const Vec3 &X) const
doublereal dHoverCorrection
virtual std::ostream & Restart(std::ostream &out) const
doublereal dForwardFlightCorrection
virtual std::ostream & Restart(std::ostream &out) const
virtual doublereal dGetPsi(const Vec3 &X) const
virtual std::ostream & Restart(std::ostream &out) const
InducedVelocity::Type GetInducedVelocityType(void) const
NoRotor(unsigned int uLabel, const DofOwner *pDO)
InducedVelocity::Type GetInducedVelocityType(void) const
virtual const Vec3 & Force(void) const
const char * psRotorNames[]
virtual std::ostream & Restart(std::ostream &out) const
virtual void AfterConvergence(const VectorHandler &X, const VectorHandler &XP)
GlauertRotor(unsigned int uLabel, const DofOwner *pDO)
virtual SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
virtual void AddForce(const Elem *pEl, const StructNode *pNode, const Vec3 &F, const Vec3 &M, const Vec3 &X)
virtual std::ostream & Restart(std::ostream &out) const
virtual void Init(const StructNode *pC, const Mat3x3 &rrot, const StructNode *pR, const StructNode *pG, ResForceSet **ppres, const doublereal &dR, unsigned int iMaxIt, const doublereal &dTol, const doublereal &dE, flag fOut)
ManglerRotor(unsigned int uLabel, const DofOwner *pDO)
std::vector< Hint * > Hints
virtual const Vec3 & Moment(void) const
virtual void Init(const StructNode *pCraft, const Mat3x3 &rrot, const StructNode *pRotor, const StructNode *pGround, ResForceSet **ppres, const doublereal &dOR, const doublereal &dR, unsigned int iMaxIt, const doublereal &dTol, const doublereal &dE, const doublereal &dCH, const doublereal &dCFF, const doublereal &dVConstTmp, const doublereal &dVSineTmp, const doublereal &dVCosineTmp, flag fOut)
virtual VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
virtual void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
virtual Vec3 GetInducedVelocity(Elem::Type type, unsigned uLabel, unsigned uPnt, const Vec3 &X) const
virtual const Vec3 & GetForces(void) const
virtual void SetInitialValue(VectorHandler &X)
virtual void Init(const StructNode *pCraft, const Mat3x3 &rrot, const StructNode *pRotor, const StructNode *pGround, ResForceSet **ppres, const doublereal &dOR, const doublereal &dR, DriveCaller *pdW, unsigned int iMaxIt, const doublereal &dTol, const doublereal &dE, const doublereal &dCH, const doublereal &dCFF, flag fOut)
DynamicInflowRotor(unsigned int uLabel, const DofOwner *pDO)
virtual doublereal dGetMu(void) const
virtual unsigned int iGetNumDof(void) const
virtual ~GlauertRotor(void)
virtual void AddForce(const Elem *pEl, const StructNode *pNode, const Vec3 &F, const Vec3 &M, const Vec3 &X)
virtual void GetConnectedNodes(std::vector< const Node * > &connectedNodes) const
virtual ~PetersHeRotor(void)
PetersHeRotor(unsigned int uLabel, const DofOwner *pDO)
InducedVelocity::Type GetInducedVelocityType(void) const
virtual doublereal dGetRadius(void) const
virtual const Vec3 & GetXCurr(void) const
virtual void SetInitialValue(VectorHandler &)
Rotor(unsigned int uL, const DofOwner *pDO)
virtual SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
virtual Vec3 GetInducedVelocity(Elem::Type type, unsigned uLabel, unsigned uPnt, const Vec3 &X) const
InducedVelocity::Type GetInducedVelocityType(void) const
virtual InducedVelocity::Type GetInducedVelocityType(void) const
virtual void Output(OutputHandler &OH) const
virtual std::ostream & Restart(std::ostream &out) const
virtual Vec3 GetInducedVelocity(Elem::Type type, unsigned uLabel, unsigned uPnt, const Vec3 &X) const
Elem * ReadRotor(DataManager *pDM, MBDynParser &HP, const DofOwner *pDO, unsigned int uLabel)
virtual Vec3 GetInducedVelocity(Elem::Type type, unsigned uLabel, unsigned uPnt, const Vec3 &X) const
virtual void GetPos(const Vec3 &X, doublereal &dr, doublereal &dp) const
virtual void AddForce(const Elem *pEl, const StructNode *pNode, const Vec3 &F, const Vec3 &M, const Vec3 &X)
virtual doublereal dGetOmega(void) const
virtual void Init(const StructNode *pCraft, const Mat3x3 &rrot, const StructNode *pRotor, const StructNode *pGround, ResForceSet **ppres, const doublereal &dOR, const doublereal &dR, DriveCaller *pdW, unsigned int iMaxIt, const doublereal &dTol, const doublereal &dE, const doublereal &dCH, const doublereal &dCFF, flag fOut)
virtual const Vec3 & GetXCurr(void) const
virtual void Output(OutputHandler &OH) const
virtual doublereal dGetPos(const Vec3 &X) const
virtual ~DynamicInflowRotor(void)
virtual void InitParam(bool bComputeMeanInducedVelocity=true)
virtual void AddForce(const Elem *pEl, const StructNode *pNode, const Vec3 &F, const Vec3 &M, const Vec3 &X)
virtual void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
virtual void Init(const StructNode *pCraft, const Mat3x3 &rrot, const StructNode *pRotor, ResForceSet **ppres, const doublereal &dR, flag fOut)
virtual SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
const StructNode * pRotor
virtual void SetValue(DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph=0)
virtual SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
virtual void Output(OutputHandler &OH) const
const StructNode * pGround
virtual void SetValue(DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph=0)
virtual void AddForce(const Elem *pEl, const StructNode *pNode, const Vec3 &F, const Vec3 &M, const Vec3 &X)
virtual const Vec3 & GetMoments(void) const
virtual void Init(const StructNode *pCraft, const Mat3x3 &rrot, const StructNode *pRotor, const StructNode *pGround, ResForceSet **ppres, const doublereal &dOR, const doublereal &dR, unsigned int iMaxIt, const doublereal &dTol, const doublereal &dE, const doublereal &dCH, const doublereal &dCFF, const doublereal &dVConstTmp, const doublereal &dVSineTmp, const doublereal &dVCosineTmp, flag fOut)
virtual unsigned int iGetNumDof(void) const
const StructNode * pCraft
virtual SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
virtual ~ManglerRotor(void)