MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
CyclocopterNoInflow Class Reference
Inheritance diagram for CyclocopterNoInflow:
Collaboration diagram for CyclocopterNoInflow:

Public Member Functions

 CyclocopterNoInflow (unsigned int uL, const DofOwner *pDO, DataManager *pDM, MBDynParser &HP)
 
virtual ~CyclocopterNoInflow (void)
 
virtual SubVectorHandlerAssRes (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 Vec3 GetInducedVelocity (Elem::Type type, unsigned uLabel, unsigned uPnt, const Vec3 &X) const
 
virtual doublereal GetW (const Vec3 &X) const
 
virtual doublereal GetPsi (const Vec3 &X) const
 
virtual Mat3x3 GetRRotor (const Vec3 &X) 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 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 CyclocopterInflow
 CyclocopterInflow (unsigned int uL, const DofOwner *pDO)
 
virtual ~CyclocopterInflow (void)
 
virtual Elem::Type GetElemType (void) const
 
virtual InducedVelocity::Type GetInducedVelocityType (void) const
 
virtual void AfterConvergence (const VectorHandler &X, const VectorHandler &XP)
 
virtual void Output (OutputHandler &OH) const
 
virtual std::ostream & Restart (std::ostream &out) const
 
virtual void SetValue (DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph)
 
virtual void SetInitialValue (VectorHandler &X)
 
virtual void GetConnectedNodes (std::vector< const Node * > &connectedNodes) const
 
virtual unsigned int iGetInitialNumDof (void) const
 
virtual void InitialWorkSpaceDim (integer *piNumRows, integer *piNumCols) const
 
VariableSubMatrixHandlerInitialAssJac (VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)
 
SubVectorHandlerInitialAssRes (SubVectorHandler &WorkVec, const VectorHandler &XCurr)
 
- Public Member Functions inherited from UserDefinedElem
 UserDefinedElem (unsigned uLabel, const DofOwner *pDO)
 
virtual ~UserDefinedElem (void)
 
bool NeedsAirProperties (void) const
 
void NeedsAirProperties (bool yesno)
 
virtual AerodynamicElem::Type GetAerodynamicElemType (void) const
 
- Public Member Functions inherited from InitialAssemblyElem
 InitialAssemblyElem (unsigned int uL, flag fOut)
 
virtual ~InitialAssemblyElem (void)
 
- Public Member Functions inherited from SubjectToInitialAssembly
 SubjectToInitialAssembly (void)
 
virtual ~SubjectToInitialAssembly (void)
 
- Public Member Functions inherited from AerodynamicElem
 AerodynamicElem (unsigned int uL, const DofOwner *pDO, flag fOut)
 
virtual ~AerodynamicElem (void)
 
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 ElemGravityOwner
 ElemGravityOwner (unsigned int uL, flag fOut)
 
virtual ~ElemGravityOwner (void)
 
virtual doublereal dGetM (void) const
 
Vec3 GetS (void) const
 
Mat3x3 GetJ (void) const
 
Vec3 GetB (void) const
 
Vec3 GetG (void) const
 
- Public Member Functions inherited from GravityOwner
 GravityOwner (void)
 
virtual ~GravityOwner (void)
 
void PutGravity (const Gravity *pG)
 
virtual bool bGetGravity (const Vec3 &X, Vec3 &Acc) 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 bool bSectionalForces (void) const
 
virtual unsigned int iGetNumDof (void) const
 
virtual const Vec3GetXCurr (void) const
 
virtual const Vec3GetForces (void) const
 
virtual const Vec3GetMoments (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)
 
virtual void ResetForce (void)
 
virtual void WorkSpaceDim (integer *piNumRows, integer *piNumCols) const
 
virtual VariableSubMatrixHandlerAssJac (VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 

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 CyclocopterInflow
void SetFilterCoefficients (doublereal dOmegaFilter, doublereal dDeltaT)
 
- Protected Member Functions inherited from ElemGravityOwner
virtual Vec3 GetS_int (void) const
 
virtual Mat3x3 GetJ_int (void) const
 
virtual Vec3 GetB_int (void) const
 
virtual Vec3 GetG_int (void) const
 
- Protected Attributes inherited from WithLabel
unsigned int uLabel
 
std::string sName
 
- Protected Attributes inherited from ToBeOutput
flag fOutput
 
- Protected Attributes inherited from CyclocopterInflow
const StructNodepRotor
 
bool bFlagAverage
 
doublereal dRadius
 
doublereal dSpan
 
doublereal dArea
 
doublereal dKappa
 
DriveOwner Weight
 
doublereal dWeight
 
Mat3x3 RRot
 
Mat3x3 RRotorTranspose
 
doublereal dUindMean
 
doublereal a1
 
doublereal a2
 
doublereal b0
 
doublereal b1
 
doublereal b2
 
- Protected Attributes inherited from UserDefinedElem
bool needsAirProperties
 
- Protected Attributes inherited from AirPropOwner
const AirPropertiespAirProperties
 
- Protected Attributes inherited from GravityOwner
GravitypGravity
 
- Protected Attributes inherited from InducedVelocity
const StructNodepCraft
 
ExternResForces Res
 
ResForceSet ** ppRes
 

Detailed Description

Definition at line 408 of file module-cyclocopter.cc.

Constructor & Destructor Documentation

CyclocopterNoInflow::CyclocopterNoInflow ( unsigned int  uL,
const DofOwner pDO,
DataManager pDM,
MBDynParser HP 
)

Definition at line 456 of file module-cyclocopter.cc.

References DataManager::fReadOutput(), Elem::INDUCEDVELOCITY, HighParser::IsArg(), HighParser::IsKeyWord(), MBDYN_EXCEPT_ARGS, InducedVelocity::pCraft, InducedVelocity::ppRes, CyclocopterInflow::pRotor, ReadResSets(), ReadRotorData(), CyclocopterInflow::RRot, ToBeOutput::SetOutputFlag(), and WithLabel::uLabel.

458 : Elem(uL, flag(0)),
459 CyclocopterInflow(uL, pDO)
460 {
461  if (HP.IsKeyWord("help")) {
462  silent_cout(
463 " \n"
464 "Module: Cyclocopter \n"
465 "Author: Pierangelo Masarati <pierangelo.masarati@polimi.it> \n"
466 "based on work by \n"
467 " Mattia Mattaboni <mattia.mattaboni@mail.polimi.it> \n"
468 "Organization: Dipartimento di Scienze e Tecnologie Aerospaziali \n"
469 " Politecnico di Milano \n"
470 " http://www.aero.polimi.it/ \n"
471 " Description: This module implements induced velocity models \n"
472 " for cycloidal rotors. \n"
473 " \n"
474 " All rights reserved. \n"
475 "\n"
476 " Usage:\n"
477 " user element: <label> , cycloidal no inflow ,\n"
478 " <aircraft_node_label> ,\n"
479 " [ orientation , (OrientationMatrix) <orientation> , ]\n"
480 " <rotor_node_label>\n"
481 " [ , <output_data> ]\n"
482 " ;\n"
483  << std::endl);
484 
485  if (!HP.IsArg()) {
486  /*
487  * Exit quietly if nothing else is provided
488  */
489  throw NoErr(MBDYN_EXCEPT_ARGS);
490  }
491  }
492 
493  if (!ReadRotorData(pDM, HP, uLabel, pCraft, RRot, pRotor)) {
495  }
496 
497  ppRes = ReadResSets(pDM, HP);
498 
500 }
flag fReadOutput(MBDynParser &HP, const T &t) const
Definition: dataman.h:1064
long int flag
Definition: mbdyn.h:43
#define MBDYN_EXCEPT_ARGS
Definition: except.h:63
ResForceSet ** ppRes
Definition: indvel.h:116
static bool ReadRotorData(DataManager *pDM, MBDynParser &HP, unsigned int uLabel, const StructNode *&pCraft, Mat3x3 &rrot, const StructNode *&pRotor)
CyclocopterInflow(unsigned int uL, const DofOwner *pDO)
const StructNode * pRotor
virtual bool IsKeyWord(const char *sKeyWord)
Definition: parser.cc:910
unsigned int uLabel
Definition: withlab.h:44
ResForceSet ** ReadResSets(DataManager *pDM, MBDynParser &HP)
Definition: resforces.cc:263
Definition: except.h:79
virtual bool IsArg(void)
Definition: parser.cc:807
virtual void SetOutputFlag(flag f=flag(1))
Definition: output.cc:896
Elem(unsigned int uL, flag fOut)
Definition: elem.cc:41
const StructNode * pCraft
Definition: indvel.h:111

Here is the call graph for this function:

CyclocopterNoInflow::~CyclocopterNoInflow ( void  )
virtual

Definition at line 502 of file module-cyclocopter.cc.

References NO_OP.

503 {
504  NO_OP;
505 }
#define NO_OP
Definition: myassert.h:74

Member Function Documentation

void CyclocopterNoInflow::AddForce ( const Elem pEl,
const StructNode pNode,
const Vec3 F,
const Vec3 M,
const Vec3 X 
)
virtual

Reimplemented from InducedVelocity.

Definition at line 525 of file module-cyclocopter.cc.

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

526 {
527  /* Sole se deve fare l'output calcola anche il momento */
528  if (bToBeOutput()) {
529  Res.AddForces(F, M, X);
530  InducedVelocity::AddForce(pEl, pNode, F, M, X);
531  }
532 }
ExternResForces Res
Definition: indvel.h:114
virtual bool bToBeOutput(void) const
Definition: output.cc:890
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

Here is the call graph for this function:

SubVectorHandler & CyclocopterNoInflow::AssRes ( SubVectorHandler WorkVec,
doublereal  dCoef,
const VectorHandler XCurr,
const VectorHandler XPrimeCurr 
)
virtual

Implements Elem.

Definition at line 508 of file module-cyclocopter.cc.

References ToBeOutput::bToBeOutput(), StructNode::GetRCurr(), InducedVelocity::pCraft, InducedVelocity::ResetForce(), VectorHandler::Resize(), CyclocopterInflow::RRot, CyclocopterInflow::RRotorTranspose, and Mat3x3::Transpose().

512 {
513  if (bToBeOutput()) {
516  }
517 
518  ResetForce();
519  WorkVec.Resize(0);
520 
521  return WorkVec;
522 }
virtual bool bToBeOutput(void) const
Definition: output.cc:890
virtual void ResetForce(void)
Definition: indvel.cc:276
virtual const Mat3x3 & GetRCurr(void) const
Definition: strnode.h:1012
Mat3x3 Transpose(void) const
Definition: matvec3.h:816
virtual void Resize(integer iNewSize)=0
const StructNode * pCraft
Definition: indvel.h:111

Here is the call graph for this function:

Vec3 CyclocopterNoInflow::GetInducedVelocity ( Elem::Type  type,
unsigned  uLabel,
unsigned  uPnt,
const Vec3 X 
) const
virtual

Implements InducedVelocity.

Definition at line 535 of file module-cyclocopter.cc.

References Zero3.

537 {
538 
539  return Zero3;
540 }
const Vec3 Zero3(0., 0., 0.)
virtual doublereal CyclocopterNoInflow::GetPsi ( const Vec3 X) const
inlinevirtual

Definition at line 447 of file module-cyclocopter.cc.

447  {
448  return 0.;
449  }
virtual Mat3x3 CyclocopterNoInflow::GetRRotor ( const Vec3 X) const
inlinevirtual

Definition at line 450 of file module-cyclocopter.cc.

References Zero3x3.

450  {
452  }
const Mat3x3 Zero3x3(0., 0., 0., 0., 0., 0., 0., 0., 0.)
virtual doublereal CyclocopterNoInflow::GetW ( const Vec3 X) const
inlinevirtual

Definition at line 444 of file module-cyclocopter.cc.

444  {
445  return 0.;
446  }

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