MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
UniformRotor2 Class Reference

#include <rotor.h>

Inheritance diagram for UniformRotor2:
Collaboration diagram for UniformRotor2:

Public Member Functions

 UniformRotor2 (unsigned int uLabel, const DofOwner *pDO)
 
 UniformRotor2 (unsigned int uLabel, const DofOwner *pDO, 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 ~UniformRotor2 (void)
 
virtual bool bSectionalForces (void) const
 
virtual void AddSectionalForce (Elem::Type type, const Elem *pEl, unsigned uPnt, const Vec3 &F, const Vec3 &M, doublereal dW, const Vec3 &X, const Mat3x3 &R, const Vec3 &V, const Vec3 &W)
 
- Public Member Functions inherited from Elem
 Elem (unsigned int uL, flag fOut)
 
virtual ~Elem (void)
 
virtual std::ostream & DescribeDof (std::ostream &out, const char *prefix="", bool bInitial=false) const
 
virtual void DescribeDof (std::vector< std::string > &desc, bool bInitial=false, int i=-1) const
 
virtual std::ostream & DescribeEq (std::ostream &out, const char *prefix="", bool bInitial=false) const
 
virtual void DescribeEq (std::vector< std::string > &desc, bool bInitial=false, int i=-1) const
 
virtual void AssMats (VariableSubMatrixHandler &WorkMatA, VariableSubMatrixHandler &WorkMatB, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual bool bInverseDynamics (void) const
 
void SetInverseDynamicsFlags (unsigned uIDF)
 
unsigned GetInverseDynamicsFlags (void) const
 
bool bIsErgonomy (void) const
 
bool bIsRightHandSide (void) const
 
virtual VariableSubMatrixHandlerAssJac (VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)
 
virtual SubVectorHandlerAssRes (SubVectorHandler &WorkVec, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr, const VectorHandler &XPrimePrimeCurr, InverseDynamics::Order iOrder=InverseDynamics::INVERSE_DYNAMICS)
 
virtual int GetNumConnectedNodes (void) const
 
- Public Member Functions inherited from WithLabel
 WithLabel (unsigned int uL=0, const std::string &sN="")
 
virtual ~WithLabel (void)
 
void PutLabel (unsigned int uL)
 
void PutName (const std::string &sN)
 
unsigned int GetLabel (void) const
 
const std::string & GetName (void) const
 
- Public Member Functions inherited from SimulationEntity
 SimulationEntity (void)
 
virtual ~SimulationEntity (void)
 
virtual bool bIsValidIndex (unsigned int i) const
 
virtual DofOrder::Order GetEqType (unsigned int i) const
 
virtual HintParseHint (DataManager *pDM, const char *s) const
 
virtual void BeforePredict (VectorHandler &, VectorHandler &, VectorHandler &, VectorHandler &) const
 
virtual void AfterPredict (VectorHandler &X, VectorHandler &XP)
 
virtual void Update (const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual void DerivativesUpdate (const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual void Update (const VectorHandler &XCurr, InverseDynamics::Order iOrder)
 
virtual void AfterConvergence (const VectorHandler &X, const VectorHandler &XP, const VectorHandler &XPP)
 
virtual std::ostream & OutputAppend (std::ostream &out) const
 
virtual void ReadInitialState (MBDynParser &HP)
 
- Public Member Functions inherited from ToBeOutput
 ToBeOutput (flag fOut=fDefaultOut)
 
virtual ~ToBeOutput (void)
 
virtual void OutputPrepare (OutputHandler &OH)
 
virtual void Output (OutputHandler &OH, const VectorHandler &X, const VectorHandler &XP) const
 
virtual flag fToBeOutput (void) const
 
virtual bool bToBeOutput (void) const
 
virtual void SetOutputFlag (flag f=flag(1))
 
- Public Member Functions inherited from UniformRotor
 UniformRotor (unsigned int uLabel, const DofOwner *pDO)
 
 UniformRotor (unsigned int uLabel, const DofOwner *pDO, 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 ~UniformRotor (void)
 
virtual SubVectorHandlerAssRes (SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual std::ostream & Restart (std::ostream &out) const
 
InducedVelocity::Type GetInducedVelocityType (void) const
 
virtual void AddForce (const Elem *pEl, const StructNode *pNode, const Vec3 &F, const Vec3 &M, const Vec3 &X)
 
virtual Vec3 GetInducedVelocity (Elem::Type type, unsigned uLabel, unsigned uPnt, const Vec3 &X) const
 
- Public Member Functions inherited from Rotor
 Rotor (unsigned int uL, const DofOwner *pDO)
 
 Rotor (unsigned int uL, const DofOwner *pDO, 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)
 
virtual ~Rotor (void)
 
virtual void AfterConvergence (const VectorHandler &X, const VectorHandler &XP)
 
virtual void Output (OutputHandler &OH) const
 
virtual void SetInitialValue (VectorHandler &)
 
virtual const Vec3GetXCurr (void) const
 
virtual doublereal dGetOmega (void) const
 
virtual doublereal dGetRadius (void) const
 
virtual doublereal dGetMu (void) const
 
virtual const Vec3GetForces (void) const
 
virtual const Vec3GetMoments (void) const
 
virtual void GetConnectedNodes (std::vector< const Node * > &connectedNodes) const
 
- Public Member Functions inherited from InducedVelocityElem
 InducedVelocityElem (unsigned int uL, const DofOwner *pDO, const StructNode *pCraft, ResForceSet **ppres, flag fOut)
 
virtual ~InducedVelocityElem (void)
 
virtual Elem::Type GetElemType (void) const
 
virtual AerodynamicElem::Type GetAerodynamicElemType (void) const
 
virtual DofOrder::Order GetDofType (unsigned int i) const
 
- Public Member Functions inherited from AerodynamicElem
 AerodynamicElem (unsigned int uL, const DofOwner *pDO, flag fOut)
 
virtual ~AerodynamicElem (void)
 
virtual bool NeedsAirProperties (void) const
 
virtual const InducedVelocitypGetInducedVelocity (void) const
 
- Public Member Functions inherited from ElemWithDofs
 ElemWithDofs (unsigned int uL, const DofOwner *pDO, flag fOut)
 
virtual ~ElemWithDofs (void)
 
- Public Member Functions inherited from DofOwnerOwner
 DofOwnerOwner (const DofOwner *pDO)
 
virtual ~DofOwnerOwner ()
 
virtual const DofOwnerpGetDofOwner (void) const
 
virtual integer iGetFirstIndex (void) const
 
- Public Member Functions inherited from AirPropOwner
 AirPropOwner (void)
 
virtual ~AirPropOwner (void)
 
virtual void PutAirProperties (const AirProperties *pAP)
 
virtual flag fGetAirVelocity (Vec3 &Velocity, const Vec3 &X) const
 
virtual doublereal dGetAirDensity (const Vec3 &X) const
 
virtual doublereal dGetAirPressure (const Vec3 &X) const
 
virtual doublereal dGetAirTemperature (const Vec3 &X) const
 
virtual doublereal dGetSoundSpeed (const Vec3 &X) const
 
virtual bool GetAirProps (const Vec3 &X, doublereal &rho, doublereal &c, doublereal &p, doublereal &T) const
 
- Public Member Functions inherited from InducedVelocity
 InducedVelocity (unsigned int uL, const StructNode *pCraft, ResForceSet **ppres, flag fOut)
 
virtual ~InducedVelocity (void)
 
virtual unsigned int iGetNumPrivData (void) const
 
virtual unsigned int iGetPrivDataIdx (const char *s) const
 
virtual doublereal dGetPrivData (unsigned int i) const
 
virtual unsigned int iGetNumDof (void) const
 
virtual void ResetForce (void)
 
virtual void WorkSpaceDim (integer *piNumRows, integer *piNumCols) const
 
virtual VariableSubMatrixHandlerAssJac (VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual void SetValue (DataManager *pDM, VectorHandler &, VectorHandler &, SimulationEntity::Hints *ph=0)
 

Additional Inherited Members

- Public Types inherited from Elem
enum  Type {
  UNKNOWN = -1, AIRPROPERTIES = 0, INDUCEDVELOCITY, AUTOMATICSTRUCTURAL,
  GRAVITY, BODY, JOINT, JOINT_REGULARIZATION,
  BEAM, PLATE, FORCE, INERTIA,
  ELECTRICBULK, ELECTRIC, THERMAL, HYDRAULIC,
  BULK, LOADABLE, DRIVEN, EXTERNAL,
  AEROMODAL, AERODYNAMIC, GENEL, SOCKETSTREAM_OUTPUT,
  RTAI_OUTPUT = SOCKETSTREAM_OUTPUT, LASTELEMTYPE
}
 
- Public Types inherited from SimulationEntity
typedef std::vector< Hint * > Hints
 
- Public Types inherited from ToBeOutput
enum  { OUTPUT = 0x1U, OUTPUT_MASK = 0xFU, OUTPUT_PRIVATE = 0x10U, OUTPUT_PRIVATE_MASK = ~OUTPUT_MASK }
 
- Public Types inherited from AerodynamicElem
enum  Type {
  UNKNOWN = -1, INDUCEDVELOCITY = 0, AEROMODAL, AERODYNAMICBODY,
  AERODYNAMICBEAM, AERODYNAMICEXTERNAL, AERODYNAMICEXTERNALMODAL, AERODYNAMICLOADABLE,
  AIRCRAFTINSTRUMENTS, GENERICFORCE, LASTAEROTYPE
}
 
- Public Types inherited from InducedVelocity
enum  Type {
  UNKNOWN = -1, USER_DEFINED = 0x01000000U, ROTOR = 0x10000000U, NO = (0U | ROTOR),
  UNIFORM = (1U | ROTOR), GLAUERT = (2U | ROTOR), MANGLER = (3U | ROTOR), DYNAMICINFLOW = (4U | ROTOR),
  PETERS_HE = (5U | ROTOR), CYCLOCOPTER = (11U | ROTOR), LASTROTORTYPE
}
 
- Protected Member Functions inherited from UniformRotor
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)
 
- Protected Member Functions inherited from Rotor
virtual doublereal dGetPsi (const Vec3 &X) const
 
virtual doublereal dGetPos (const Vec3 &X) const
 
virtual void GetPos (const Vec3 &X, doublereal &dr, doublereal &dp) const
 
virtual void InitParam (bool bComputeMeanInducedVelocity=true)
 
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)
 
- Protected Attributes inherited from WithLabel
unsigned int uLabel
 
std::string sName
 
- Protected Attributes inherited from ToBeOutput
flag fOutput
 
- Protected Attributes inherited from Rotor
const StructNodepRotor
 
const StructNodepGround
 
doublereal dOmegaRef
 
doublereal dRadius
 
doublereal dVTipRef
 
doublereal dArea
 
doublereal dUMean
 
doublereal dUMeanRef
 
doublereal dUMeanPrev
 
unsigned int iMaxIter
 
unsigned int iCurrIter
 
doublereal dTolerance
 
doublereal dEta
 
bool bUMeanRefConverged
 
DriveOwner Weight
 
doublereal dWeight
 
doublereal dHoverCorrection
 
doublereal dForwardFlightCorrection
 
Mat3x3 RRotTranspose
 
Mat3x3 RRot
 
Vec3 RRot3
 
Vec3 VCraft
 
doublereal dPsi0
 
doublereal dSinAlphad
 
doublereal dCosAlphad
 
doublereal dMu
 
doublereal dLambda
 
doublereal dChi
 
doublereal dVelocity
 
doublereal dOmega
 
int iNumSteps
 
- Protected Attributes inherited from AirPropOwner
const AirPropertiespAirProperties
 
- Protected Attributes inherited from InducedVelocity
const StructNodepCraft
 
ExternResForces Res
 
ResForceSet ** ppRes
 

Detailed Description

Definition at line 320 of file rotor.h.

Constructor & Destructor Documentation

UniformRotor2::UniformRotor2 ( unsigned int  uLabel,
const DofOwner pDO 
)

Definition at line 894 of file rotor.cc.

References NO_OP.

895 : Elem(uLabel, flag(0)),
896 UniformRotor(uLabel, pDO)
897 {
898  NO_OP;
899 }
long int flag
Definition: mbdyn.h:43
UniformRotor(unsigned int uLabel, const DofOwner *pDO)
Definition: rotor.cc:694
#define NO_OP
Definition: myassert.h:74
unsigned int uLabel
Definition: withlab.h:44
Elem(unsigned int uL, flag fOut)
Definition: elem.cc:41
UniformRotor2::UniformRotor2 ( unsigned int  uLabel,
const DofOwner pDO,
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 
)

Definition at line 901 of file rotor.cc.

References NO_OP.

917 : Elem(uLabel, fOut),
918 UniformRotor(uLabel, pDO, pCraft, rrot, pRotor, pGround, ppres, dOR, dR, pdW, iMaxIt, dTol, dE, dCH, dCFF, fOut)
919 {
920  NO_OP;
921 }
UniformRotor(unsigned int uLabel, const DofOwner *pDO)
Definition: rotor.cc:694
#define NO_OP
Definition: myassert.h:74
unsigned int uLabel
Definition: withlab.h:44
Elem(unsigned int uL, flag fOut)
Definition: elem.cc:41
UniformRotor2::~UniformRotor2 ( void  )
virtual

Definition at line 923 of file rotor.cc.

References NO_OP.

924 {
925  NO_OP;
926 }
#define NO_OP
Definition: myassert.h:74

Member Function Documentation

void UniformRotor2::AddSectionalForce ( Elem::Type  type,
const Elem pEl,
unsigned  uPnt,
const Vec3 F,
const Vec3 M,
doublereal  dW,
const Vec3 X,
const Mat3x3 R,
const Vec3 V,
const Vec3 W 
)
virtual

Reimplemented from InducedVelocity.

Definition at line 936 of file rotor.cc.

References ResForces::AddForce(), InducedVelocity::AddForce(), ResForces::AddForces(), ToBeOutput::bToBeOutput(), MYSLEEP, and InducedVelocity::Res.

941 {
942 #ifdef USE_MPI
943  if (ReqV != MPI::REQUEST_NULL) {
944  while (!ReqV.Test()) {
945  MYSLEEP(mysleeptime);
946  }
947  }
948 #endif /* USE_MPI */
949 
950 #if defined(USE_MULTITHREAD) && defined(MBDYN_X_MT_ASSRES)
951  pthread_mutex_lock(&forces_mutex);
952  Wait();
953 #endif // USE_MULTITHREAD && MBDYN_X_MT_ASSRES
954 
955  /* Solo se deve fare l'output calcola anche il momento */
956  if (bToBeOutput()) {
957  Vec3 FTmp(F*dW);
958  Vec3 MTmp(M*dW);
959  Res.AddForces(FTmp, MTmp, X);
960  InducedVelocity::AddForce(pEl, 0, FTmp, MTmp, X);
961 
962  } else {
963  Res.AddForce(F*dW);
964  }
965 
966 #if defined(USE_MULTITHREAD) && defined(MBDYN_X_MT_ASSRES)
967  pthread_mutex_unlock(&forces_mutex);
968 #endif /* USE_MULTITHREAD && MBDYN_X_MT_ASSRES */
969 }
ExternResForces Res
Definition: indvel.h:114
virtual bool bToBeOutput(void) const
Definition: output.cc:890
Definition: matvec3.h:98
#define MYSLEEP(t)
Definition: mysleep.h:49
virtual void AddForce(const Elem *pEl, const StructNode *pNode, const Vec3 &F, const Vec3 &M, const Vec3 &X)
Definition: indvel.cc:252
void AddForces(const Vec3 &f, const Vec3 &c, const Vec3 &x)
Definition: resforces.cc:77
void AddForce(const Vec3 &f)
Definition: resforces.cc:58

Here is the call graph for this function:

bool UniformRotor2::bSectionalForces ( void  ) const
virtual

Reimplemented from InducedVelocity.

Definition at line 929 of file rotor.cc.

930 {
931  return true;
932 }

The documentation for this class was generated from the following files: