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

#include <rottrim.h>

Inheritance diagram for RotorTrim:
Collaboration diagram for RotorTrim:

Public Member Functions

 RotorTrim (unsigned int uL, const DofOwner *pDO, const Rotor *pRot, const ScalarDifferentialNode *pNode1, const ScalarDifferentialNode *pNode2, const ScalarDifferentialNode *pNode3, const DriveCaller *pDThrust, const DriveCaller *pDRollMoment, const DriveCaller *pDPitchMoment, const doublereal &dG, const doublereal &dp, const doublereal &dT0, const doublereal &dT1, const doublereal &dK0, const doublereal &dK1, const DriveCaller *pTrigger, flag fOut)
 
virtual ~RotorTrim (void)
 
virtual std::ostream & Restart (std::ostream &out) const
 
virtual void GetConnectedNodes (std::vector< const Node * > &connectedNodes) const
 
- 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 DofOrder::Order GetDofType (unsigned int) 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 void SetValue (DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *h=0)
 
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)
 
virtual void AfterConvergence (const VectorHandler &X, const VectorHandler &XP, const VectorHandler &XPP)
 
virtual unsigned int iGetNumPrivData (void) const
 
virtual unsigned int iGetPrivDataIdx (const char *s) const
 
virtual doublereal dGetPrivData (unsigned int i) const
 
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
 
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 RotorTrimBase
 RotorTrimBase (unsigned int uL, const DofOwner *pDO, const ScalarDifferentialNode *pNode1, const ScalarDifferentialNode *pNode2, const ScalarDifferentialNode *pNode3, const DriveCaller *pDThrust, const DriveCaller *pDRollMoment, const DriveCaller *pDPitchMoment, const doublereal &dG, const doublereal &dp, const doublereal &dT0, const doublereal &dT1, const doublereal &dK0, const doublereal &dK1, const DriveCaller *pTrigger, flag fOut)
 
virtual ~RotorTrimBase (void)
 
virtual unsigned int iGetNumDof (void) const
 
virtual Genel::Type GetGenelType (void) const
 
virtual void WorkSpaceDim (integer *piNumRows, integer *piNumCols) const
 
virtual VariableSubMatrixHandlerAssJac (VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &, const VectorHandler &)
 
virtual SubVectorHandlerAssRes (SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &, const VectorHandler &)
 
- Public Member Functions inherited from Genel
 Genel (unsigned int uL, const DofOwner *pDO, flag fOut)
 
virtual ~Genel (void)
 
virtual Elem::Type GetElemType (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
 
virtual void SetInitialValue (VectorHandler &X)
 

Protected Member Functions

virtual void GetData (doublereal &dThrust, doublereal &dRollMoment, doublereal &dPitchMoment, doublereal &dRho, doublereal &dOmega, doublereal &dMu) const
 

Protected Attributes

const RotorpRotor
 
- Protected Attributes inherited from WithLabel
unsigned int uLabel
 
std::string sName
 
- Protected Attributes inherited from ToBeOutput
flag fOutput
 
- Protected Attributes inherited from RotorTrimBase
doublereal dRadius
 
const ScalarDifferentialNodepvNodes [3]
 
DriveOwner DThrust
 
DriveOwner DRollMoment
 
DriveOwner DPitchMoment
 
DriveOwner Trigger
 
doublereal dGamma
 
doublereal dP
 
doublereal dP2
 
doublereal dC
 
doublereal dC2
 
doublereal dTau0
 
doublereal dTau1
 
doublereal dKappa0
 
doublereal dKappa1
 

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 Genel
enum  Type {
  UNKNOWN = -1, SWASHPLATE = 0, ROTORTRIM, CLAMP,
  DISTANCE, SPRING, SPRINGSUPPORT, CROSSSPRINGSUPPORT,
  SPRINGDAMPER, SPRINGDAMPERSUPPORT, CROSSSPRINGDAMPERSUPPORT, MASS,
  SCALARFILTER, STATESPACESISO, STATESPACEMIMO, LASTGENELTYPE
}
 

Detailed Description

Definition at line 141 of file rottrim.h.

Constructor & Destructor Documentation

RotorTrim::RotorTrim ( unsigned int  uL,
const DofOwner pDO,
const Rotor pRot,
const ScalarDifferentialNode pNode1,
const ScalarDifferentialNode pNode2,
const ScalarDifferentialNode pNode3,
const DriveCaller pDThrust,
const DriveCaller pDRollMoment,
const DriveCaller pDPitchMoment,
const doublereal dG,
const doublereal dp,
const doublereal dT0,
const doublereal dT1,
const doublereal dK0,
const doublereal dK1,
const DriveCaller pTrigger,
flag  fOut 
)

Definition at line 221 of file rottrim.cc.

References ASSERT, Rotor::dGetRadius(), RotorTrimBase::dRadius, SimulationEntity::iGetPrivDataIdx(), iRotorMx, iRotorMy, iRotorTz, and pRotor.

238 : Elem(uL, fOut),
239 RotorTrimBase(uL, pDO, pNode1, pNode2, pNode3,
240  pDThrust, pDRollMoment, pDPitchMoment,
241  dG, dp, dT0, dT1, dK0, dK1, pTrigger, fOut),
242 pRotor(pRot)
243 {
244  ASSERT(pRotor != NULL);
245 
247 
248  if (iRotorTz == 0) {
249  /* first RotorTrim */
253  }
254 }
static unsigned iRotorMy
Definition: rottrim.cc:219
virtual unsigned int iGetPrivDataIdx(const char *s) const
Definition: simentity.cc:142
RotorTrimBase(unsigned int uL, const DofOwner *pDO, const ScalarDifferentialNode *pNode1, const ScalarDifferentialNode *pNode2, const ScalarDifferentialNode *pNode3, const DriveCaller *pDThrust, const DriveCaller *pDRollMoment, const DriveCaller *pDPitchMoment, const doublereal &dG, const doublereal &dp, const doublereal &dT0, const doublereal &dT1, const doublereal &dK0, const doublereal &dK1, const DriveCaller *pTrigger, flag fOut)
Definition: rottrim.cc:41
static unsigned iRotorMx
Definition: rottrim.cc:218
doublereal dRadius
Definition: rottrim.h:60
virtual doublereal dGetRadius(void) const
Definition: rotor.h:158
#define ASSERT(expression)
Definition: colamd.c:977
static unsigned iRotorTz
Definition: rottrim.cc:217
const Rotor * pRotor
Definition: rottrim.h:143
Elem(unsigned int uL, flag fOut)
Definition: elem.cc:41

Here is the call graph for this function:

RotorTrim::~RotorTrim ( void  )
virtual

Definition at line 256 of file rottrim.cc.

References NO_OP.

257 {
258  NO_OP;
259 }
#define NO_OP
Definition: myassert.h:74

Member Function Documentation

void RotorTrim::GetConnectedNodes ( std::vector< const Node * > &  connectedNodes) const
virtual

Reimplemented from Elem.

Definition at line 285 of file rottrim.cc.

References Rotor::GetConnectedNodes(), pRotor, and RotorTrimBase::pvNodes.

286 {
287  pRotor->GetConnectedNodes(connectedNodes);
288  int NumNodes = connectedNodes.size();
289  connectedNodes.resize(NumNodes + 3);
290  for (int i = 0; i < 3; i++) {
291  connectedNodes[NumNodes + i] = pvNodes[i];
292  }
293 }
virtual void GetConnectedNodes(std::vector< const Node * > &connectedNodes) const
Definition: rotor.h:190
const Rotor * pRotor
Definition: rottrim.h:143
const ScalarDifferentialNode * pvNodes[3]
Definition: rottrim.h:61

Here is the call graph for this function:

void RotorTrim::GetData ( doublereal dThrust,
doublereal dRollMoment,
doublereal dPitchMoment,
doublereal dRho,
doublereal dOmega,
doublereal dMu 
) const
protectedvirtual

Implements RotorTrimBase.

Definition at line 269 of file rottrim.cc.

References AirPropOwner::dGetAirDensity(), Rotor::dGetMu(), Rotor::dGetOmega(), SimulationEntity::dGetPrivData(), Rotor::GetXCurr(), iRotorMx, iRotorMy, iRotorTz, and pRotor.

275 {
276  dThrust = pRotor->dGetPrivData(iRotorTz);
277  dRollMoment = pRotor->dGetPrivData(iRotorMx);
278  dPitchMoment = pRotor->dGetPrivData(iRotorMy);
279  dRho = pRotor->dGetAirDensity(pRotor->GetXCurr());
280  dOmega = pRotor->dGetOmega(); // absolute value?
281  dMu = pRotor->dGetMu();
282 }
virtual doublereal dGetAirDensity(const Vec3 &X) const
Definition: aerodyn.cc:736
static unsigned iRotorMy
Definition: rottrim.cc:219
static unsigned iRotorMx
Definition: rottrim.cc:218
virtual doublereal dGetMu(void) const
Definition: rotor.h:165
virtual const Vec3 & GetXCurr(void) const
Definition: rotor.h:146
virtual doublereal dGetOmega(void) const
Definition: rotor.h:151
virtual doublereal dGetPrivData(unsigned int i) const
Definition: simentity.cc:149
static unsigned iRotorTz
Definition: rottrim.cc:217
const Rotor * pRotor
Definition: rottrim.h:143

Here is the call graph for this function:

std::ostream & RotorTrim::Restart ( std::ostream &  out) const
virtual

Implements Elem.

Definition at line 263 of file rottrim.cc.

264 {
265  return out << " /* rotor trim not implemented yet */ ";
266 }

Member Data Documentation

const Rotor* RotorTrim::pRotor
protected

Definition at line 143 of file rottrim.h.

Referenced by GetConnectedNodes(), GetData(), and RotorTrim().


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