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

Public Member Functions

 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 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 SubVectorHandlerAssRes (SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)=0
 
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 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 AddForce (const Elem *pEl, const StructNode *pNode, const Vec3 &F, const Vec3 &M, const Vec3 &X)
 
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 Vec3 GetInducedVelocity (Elem::Type type, unsigned uLabel, unsigned uPnt, const Vec3 &X) const =0
 
virtual void WorkSpaceDim (integer *piNumRows, integer *piNumCols) const
 
virtual VariableSubMatrixHandlerAssJac (VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 

Protected Member Functions

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

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 WithLabel
unsigned int uLabel
 
std::string sName
 
- Protected Attributes inherited from ToBeOutput
flag fOutput
 
- 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
 

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
}
 

Detailed Description

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

Constructor & Destructor Documentation

CyclocopterInflow::CyclocopterInflow ( unsigned int  uL,
const DofOwner pDO 
)

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

References NO_OP.

130 : Elem(uL, flag(0)),
131 UserDefinedElem(uL, pDO),
132 InducedVelocity(uL, 0, 0, flag(0)),
133 pRotor(0),
134 bFlagAverage(false),
135 dRadius(0.),
136 dSpan(0.),
137 dArea(0.),
138 Weight(0),
139 dWeight(0.),
140 RRot(::Eye3),
142 dUindMean(0.),
143 a1(0.), a2(0.), b0(1.), b1(0.), b2(0.)
144 {
145  NO_OP;
146 }
long int flag
Definition: mbdyn.h:43
const Mat3x3 Eye3(1., 0., 0., 0., 1., 0., 0., 0., 1.)
#define NO_OP
Definition: myassert.h:74
const StructNode * pRotor
InducedVelocity(unsigned int uL, const StructNode *pCraft, ResForceSet **ppres, flag fOut)
Definition: indvel.cc:57
UserDefinedElem(unsigned uLabel, const DofOwner *pDO)
Definition: userelem.cc:152
Elem(unsigned int uL, flag fOut)
Definition: elem.cc:41
CyclocopterInflow::~CyclocopterInflow ( void  )
virtual

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

References NO_OP.

149 {
150  NO_OP;
151 }
#define NO_OP
Definition: myassert.h:74

Member Function Documentation

void CyclocopterInflow::AfterConvergence ( const VectorHandler X,
const VectorHandler XP 
)
virtual

Reimplemented from InducedVelocity.

Reimplemented in CyclocopterPolimi, CyclocopterUniform2D, and CyclocopterUniform1D.

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

References NO_OP.

167 {
168  NO_OP;
169 }
#define NO_OP
Definition: myassert.h:74
void CyclocopterInflow::GetConnectedNodes ( std::vector< const Node * > &  connectedNodes) const
virtual

Reimplemented from InducedVelocity.

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

References InducedVelocity::pCraft, and pRotor.

224 {
225  connectedNodes.resize(2);
226  connectedNodes[0] = pCraft;
227  connectedNodes[1] = pRotor;
228 }
const StructNode * pRotor
const StructNode * pCraft
Definition: indvel.h:111
Elem::Type CyclocopterInflow::GetElemType ( void  ) const
virtual

Implements Elem.

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

References Elem::LOADABLE.

155 {
156  return Elem::LOADABLE;
157 }
InducedVelocity::Type CyclocopterInflow::GetInducedVelocityType ( void  ) const
virtual

Implements InducedVelocity.

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

References InducedVelocity::USER_DEFINED.

unsigned int CyclocopterInflow::iGetInitialNumDof ( void  ) const
virtual

Implements SubjectToInitialAssembly.

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

232 {
233  return 0;
234 }
VariableSubMatrixHandler & CyclocopterInflow::InitialAssJac ( VariableSubMatrixHandler WorkMat,
const VectorHandler XCurr 
)
virtual

Implements SubjectToInitialAssembly.

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

References ASSERT, and VariableSubMatrixHandler::SetNullMatrix().

249 {
250  // should not be called, since initial workspace is empty
251  ASSERT(0);
252 
253  WorkMat.SetNullMatrix();
254 
255  return WorkMat;
256 }
void SetNullMatrix(void)
Definition: submat.h:1159
#define ASSERT(expression)
Definition: colamd.c:977

Here is the call graph for this function:

SubVectorHandler & CyclocopterInflow::InitialAssRes ( SubVectorHandler WorkVec,
const VectorHandler XCurr 
)
virtual

Implements SubjectToInitialAssembly.

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

References ASSERT, and VectorHandler::ResizeReset().

262 {
263  // should not be called, since initial workspace is empty
264  ASSERT(0);
265 
266  WorkVec.ResizeReset(0);
267 
268  return WorkVec;
269 }
virtual void ResizeReset(integer)
Definition: vh.cc:55
#define ASSERT(expression)
Definition: colamd.c:977

Here is the call graph for this function:

void CyclocopterInflow::InitialWorkSpaceDim ( integer piNumRows,
integer piNumCols 
) const
virtual

Implements SubjectToInitialAssembly.

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

240 {
241  *piNumRows = 0;
242  *piNumCols = 0;
243 }
void CyclocopterInflow::Output ( OutputHandler OH) const
virtual

Reimplemented from ToBeOutput.

Reimplemented in CyclocopterPolimi, CyclocopterUniform2D, and CyclocopterUniform1D.

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

References ToBeOutput::bToBeOutput(), dUindMean, ResForces::Force(), WithLabel::GetLabel(), OutputHandler::Loadable(), ResForces::Moment(), InducedVelocity::ppRes, InducedVelocity::Res, and RRotorTranspose.

173 {
174  if (bToBeOutput()) {
175  OH.Loadable()
176  << std::setw(8) << GetLabel() /* 1 */
177  << " " << RRotorTranspose*Res.Force() /* 2-4 */
178  << " " << RRotorTranspose*Res.Moment() /* 5-7 */
179  << " " << dUindMean /* 8 */
180  << " " << "0." /* 9 */
181  << " " << "0." /* 10 */
182  << " " << "0." /* 11 */
183  << " " << "0." /* 12 */
184  << " " << "0." /* 13 */
185  << " " << "0." /* 14 */
186  << " " << "0." /* 15 */
187  << " " << "0." /* 16 */
188  << std::endl;
189 
190  /* FIXME: check for parallel stuff ... */
191  for (int i = 0; ppRes && ppRes[i]; i++) {
192  OH.Loadable()
193  << std::setw(8) << GetLabel()
194  << ":" << ppRes[i]->GetLabel()
195  << " " << ppRes[i]->pRes->Force()
196  << " " << ppRes[i]->pRes->Moment()
197  << std::endl;
198  }
199  }
200 }
ExternResForces Res
Definition: indvel.h:114
virtual bool bToBeOutput(void) const
Definition: output.cc:890
ResForceSet ** ppRes
Definition: indvel.h:116
virtual const Vec3 & Force(void) const
Definition: resforces.cc:103
virtual const Vec3 & Moment(void) const
Definition: resforces.cc:109
std::ostream & Loadable(void) const
Definition: output.h:506
unsigned int GetLabel(void) const
Definition: withlab.cc:62

Here is the call graph for this function:

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

Implements Elem.

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

204 {
205  return out << "# cyclocopter: not implemented yet" << std::endl;
206 }
void CyclocopterInflow::SetFilterCoefficients ( doublereal  dOmegaFilter,
doublereal  dDeltaT 
)
protected

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

References a1, a2, b0, b1, b2, and grad::sqrt().

Referenced by CyclocopterPolimi::CyclocopterPolimi(), CyclocopterUniform1D::CyclocopterUniform1D(), and CyclocopterUniform2D::CyclocopterUniform2D().

274 {
275  /* Butterworth discrete low-pass filter coefficients */
276  if (dDeltaT > 0. && dOmegaFilter > 0.) {
277  doublereal dTmp = 4. + 2.*sqrt(2.)*dOmegaFilter*dDeltaT + dDeltaT*dDeltaT*dOmegaFilter*dOmegaFilter;
278  a1 = (-8. + 2.*dDeltaT*dDeltaT*dOmegaFilter*dOmegaFilter)/dTmp;
279  a2 = (4. - 2.*sqrt(2.)*dOmegaFilter*dDeltaT + dDeltaT*dDeltaT*dOmegaFilter*dOmegaFilter)/dTmp;
280 
281  dTmp = dOmegaFilter*dOmegaFilter*dDeltaT*dDeltaT/dTmp;
282  b0 = dTmp;
283  b1 = 2.*dTmp;
284  b2 = dTmp;
285  }
286 }
GradientExpression< UnaryExpr< FuncSqrt, Expr > > sqrt(const GradientExpression< Expr > &u)
Definition: gradient.h:2974
double doublereal
Definition: colamd.c:52

Here is the call graph for this function:

void CyclocopterInflow::SetInitialValue ( VectorHandler X)
virtual

Reimplemented from InducedVelocity.

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

References NO_OP.

218 {
219  NO_OP;
220 }
#define NO_OP
Definition: myassert.h:74
void CyclocopterInflow::SetValue ( DataManager pDM,
VectorHandler X,
VectorHandler XP,
SimulationEntity::Hints ph 
)
virtual

Reimplemented from InducedVelocity.

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

References NO_OP.

212 {
213  NO_OP;
214 }
#define NO_OP
Definition: myassert.h:74

Member Data Documentation


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