|
| DynamicInflowRotor (unsigned int uLabel, const DofOwner *pDO) |
|
| DynamicInflowRotor (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, 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 | ~DynamicInflowRotor (void) |
|
virtual unsigned int | iGetNumDof (void) const |
|
virtual void | Output (OutputHandler &OH) const |
|
virtual void | WorkSpaceDim (integer *piNumRows, integer *piNumCols) const |
|
virtual VariableSubMatrixHandler & | AssJac (VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr) |
|
virtual SubVectorHandler & | AssRes (SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr) |
|
virtual std::ostream & | Restart (std::ostream &out) const |
|
virtual void | SetInitialValue (VectorHandler &X) |
|
virtual void | SetValue (DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph=0) |
|
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 |
|
| 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 VariableSubMatrixHandler & | AssJac (VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr) |
|
virtual SubVectorHandler & | AssRes (SubVectorHandler &WorkVec, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr, const VectorHandler &XPrimePrimeCurr, InverseDynamics::Order iOrder=InverseDynamics::INVERSE_DYNAMICS) |
|
virtual int | GetNumConnectedNodes (void) const |
|
| 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 |
|
| SimulationEntity (void) |
|
virtual | ~SimulationEntity (void) |
|
virtual bool | bIsValidIndex (unsigned int i) const |
|
virtual DofOrder::Order | GetEqType (unsigned int i) const |
|
virtual Hint * | ParseHint (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) |
|
| 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)) |
|
| 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 const Vec3 & | GetXCurr (void) const |
|
virtual doublereal | dGetOmega (void) const |
|
virtual doublereal | dGetRadius (void) const |
|
virtual doublereal | dGetMu (void) const |
|
virtual const Vec3 & | GetForces (void) const |
|
virtual const Vec3 & | GetMoments (void) const |
|
virtual void | GetConnectedNodes (std::vector< const Node * > &connectedNodes) const |
|
| 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 |
|
| AerodynamicElem (unsigned int uL, const DofOwner *pDO, flag fOut) |
|
virtual | ~AerodynamicElem (void) |
|
virtual bool | NeedsAirProperties (void) const |
|
virtual const InducedVelocity * | pGetInducedVelocity (void) const |
|
| ElemWithDofs (unsigned int uL, const DofOwner *pDO, flag fOut) |
|
virtual | ~ElemWithDofs (void) |
|
| DofOwnerOwner (const DofOwner *pDO) |
|
virtual | ~DofOwnerOwner () |
|
virtual const DofOwner * | pGetDofOwner (void) const |
|
virtual integer | iGetFirstIndex (void) const |
|
| 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 |
|
| 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 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) |
|
Definition at line 543 of file rotor.h.
Implements Elem.
Definition at line 1785 of file rotor.cc.
References grad::cos(), Rotor::dArea, Rotor::dChi, Rotor::dCosAlphad, DEBUGCOUT, Rotor::dForwardFlightCorrection, AirPropOwner::dGetAirDensity(), Rotor::dHoverCorrection, dL11, dL13, dL22, dL31, dL33, Rotor::dLambda, dM11, dM22, dM33, Rotor::dMu, Rotor::dOmega, Rotor::dPsi0, Rotor::dRadius, Rotor::dSinAlphad, Rotor::dUMean, dVConst, dVCosine, Rotor::dVelocity, dVSine, Rotor::dVTipRef, dVTipTreshold, ResForces::Force(), Elem::GetElemType(), GetInducedVelocity(), WithLabel::GetLabel(), Rotor::GetPos(), StructNode::GetRCurr(), Rotor::GetXCurr(), StructDispNode::GetXCurr(), DofOwnerOwner::iGetFirstIndex(), Rotor::InitParam(), M_PI, ResForces::Moment(), InducedVelocity::pCraft, Rotor::pRotor, VectorHandler::PutCoef(), SubVectorHandler::PutRowIndex(), InducedVelocity::Res, InducedVelocity::ResetForce(), VectorHandler::Resize(), Rotor::RRot3, Rotor::RRotTranspose, grad::sin(), grad::sqrt(), grad::tan(), and Rotor::VCraft.
1790 DEBUGCOUT(
"Entering DynamicInflowRotor::AssRes()" << std::endl);
1793 ExchangeLoads(
flag(1));
1795 if (!is_parallel || IndVelComm.Get_rank() == 0)
1809 dVConst = XCurr(iFirstIndex + 1);
1810 dVSine = XCurr(iFirstIndex + 2);
1813 doublereal dVConstPrime = XPrimeCurr(iFirstIndex + 1);
1814 doublereal dVSinePrime = XPrimeCurr(iFirstIndex + 2);
1815 doublereal dVCosinePrime = XPrimeCurr(iFirstIndex + 3);
1834 if (dDim > std::numeric_limits<doublereal>::epsilon()) {
1847 =
sqrt(dLambdaTmp*dLambdaTmp + dMuTmp*dMuTmp);
1850 dVm = (dMuTmp*dMuTmp + dLambdaTmp*(dLambdaTmp +
dVConst))/dVT;
1864 Mat3x3 RTmp( dCosP, -dSinP, 0.,
1876 if (dVT > std::numeric_limits<doublereal>::epsilon()
1877 && dVm > std::numeric_limits<doublereal>::epsilon())
1891 d = 2.*dCosChi2*dCosChi2;
1897 d = dl11*dl33 - dl31*dl13;
1910 int iv[] = { 0, 1, 0, -1, 0 };
1916 GetPos(XTmp, dXTmp, dPsiTmp);
1920 <<
"V rotore: " <<
VCraft << std::endl
1921 <<
"X punto: " << XTmp << std::endl
1922 <<
"Omega: " <<
dOmega << std::endl
1923 <<
"Velocita': " <<
dVelocity << std::endl
1924 <<
"Psi0: " <<
dPsi0 <<
" ("
1925 <<
dPsi0*180./
M_PI <<
" deg)" << std::endl
1926 <<
"Psi punto: " << dPsiTmp <<
" ("
1927 << dPsiTmp*180./
M_PI <<
" deg)" << std::endl
1928 <<
"Raggio: " << dRadius << std::endl
1929 <<
"r punto: " << dXTmp << std::endl
1930 <<
"mu: " <<
dMu << std::endl
1931 <<
"lambda: " <<
dLambda << std::endl
1934 <<
"UMean: " <<
dUMean << std::endl
1935 <<
"iv punto: " << IndV << std::endl;
1958 #if defined(USE_MULTITHREAD) && defined(MBDYN_X_MT_ASSRES)
1960 #endif // USE_MULTITHREAD && MBDYN_X_MT_ASSRES
virtual doublereal dGetAirDensity(const Vec3 &X) const
doublereal dHoverCorrection
doublereal dForwardFlightCorrection
virtual void ResetForce(void)
static const doublereal dM22
GradientExpression< UnaryExpr< FuncSin, Expr > > sin(const GradientExpression< Expr > &u)
virtual const Mat3x3 & GetRCurr(void) const
virtual const Vec3 & Force(void) const
virtual Elem::Type GetElemType(void) const =0
virtual const Vec3 & Moment(void) const
virtual Vec3 GetInducedVelocity(Elem::Type type, unsigned uLabel, unsigned uPnt, const Vec3 &X) const
virtual void PutRowIndex(integer iSubRow, integer iRow)=0
static const doublereal dM33
virtual const Vec3 & GetXCurr(void) const
static const doublereal dVTipTreshold
virtual void GetPos(const Vec3 &X, doublereal &dr, doublereal &dp) const
GradientExpression< UnaryExpr< FuncSqrt, Expr > > sqrt(const GradientExpression< Expr > &u)
virtual void PutCoef(integer iRow, const doublereal &dCoef)=0
virtual const Vec3 & GetXCurr(void) const
virtual void InitParam(bool bComputeMeanInducedVelocity=true)
GradientExpression< UnaryExpr< FuncCos, Expr > > cos(const GradientExpression< Expr > &u)
const StructNode * pRotor
virtual integer iGetFirstIndex(void) const
static const doublereal dM11
GradientExpression< UnaryExpr< FuncTan, Expr > > tan(const GradientExpression< Expr > &u)
unsigned int GetLabel(void) const
virtual void Resize(integer iNewSize)=0
const StructNode * pCraft