|
| Dynamic_pipe (unsigned int uL, const DofOwner *pD, HydraulicFluid *hf, const PressureNode *p1, const PressureNode *p2, doublereal Dh, doublereal A, doublereal L, flag transition, doublereal q0, flag fOut) |
|
| ~Dynamic_pipe (void) |
|
virtual HydraulicElem::Type | GetHydraulicType (void) const |
|
virtual std::ostream & | Restart (std::ostream &out) const |
|
virtual unsigned int | iGetNumDof (void) const |
|
virtual DofOrder::Order | GetDofType (unsigned int i) const |
|
virtual void | WorkSpaceDim (integer *piNumRows, integer *piNumCols) const |
|
VariableSubMatrixHandler & | AssJac (VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr) |
|
SubVectorHandler & | AssRes (SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr) |
|
virtual void | AfterConvergence (const VectorHandler &X, const VectorHandler &XP) |
|
virtual void | Output (OutputHandler &OH) const |
|
virtual void | SetValue (DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph=0) |
|
virtual void | GetConnectedNodes (std::vector< const Node * > &connectedNodes) 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 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) |
|
| 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)) |
|
| HydraulicElem (unsigned int uL, const DofOwner *pDO, HydraulicFluid *hf, flag fOut) |
|
virtual | ~HydraulicElem (void) |
|
virtual Elem::Type | GetElemType (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 |
|
virtual void | SetInitialValue (VectorHandler &X) |
|
Definition at line 117 of file pipe.h.
Implements Elem.
Definition at line 532 of file pipe.cc.
References a, area, c, DEBUGCOUT, densityDPres, HydraulicFluid::dGetDensity(), HydraulicFluid::dGetDensityDPres(), HydraulicFluid::dGetRe(), ScalarAlgebraicNode::dGetX(), diameter, fa, grad::fabs(), HydraulicElem::HF, Node::iGetFirstColIndex(), DofOwnerOwner::iGetFirstIndex(), Node::iGetFirstRowIndex(), klam, length, HydraulicFluid::LOWER, pNode1, pNode2, grad::pow(), FullSubMatrixHandler::PutCoef(), FullSubMatrixHandler::PutColIndex(), FullSubMatrixHandler::PutRowIndex(), Re, FullSubMatrixHandler::ResizeReset(), VariableSubMatrixHandler::SetFull(), turbulent, HydraulicFluid::UPPER, and viscosity.
537 DEBUGCOUT(
"Entering Pipe::AssJac()" << std::endl);
538 DEBUGCOUT(
"Valore di dblepsilon INIZIO:" << std::numeric_limits<doublereal>::epsilon() << std::endl);
593 lack54 = dCoef*(-2.*
klam/densityS);
594 lack55 = dCoef*(2.*
klam/densityE);
600 DEBUGCOUT(
"AssJac() sono turbolento" << std::endl);
604 lack54 = -dCoef*(
fa*kappa2/densityS)*
fabs(-q2+2.*q1);
605 lack55 = dCoef*(
fa*kappa2/densityE)*
fabs(2.*q2-q1);
614 DEBUGCOUT(
"AssJac() sono in transizione" << std::endl);
622 DEBUGCOUT(
"Sono in transizione lam->turb" << std::endl);
626 lack54 = dCoef*(-2.*
klam/densityS);
627 lack55 = dCoef*(+2.*
klam/densityE);
643 DEBUGCOUT(
"JAC fa1: " << fa1 << std::endl);
644 DEBUGCOUT(
"JAC fa2: " << fa2 << std::endl);
654 DEBUGCOUT(
"Sono in transizione turb->lam" << std::endl);
661 lack54 = -dCoef*(
fa*kappa2/densityS)*
fabs(-q2+2.*q1);
662 lack55 = dCoef*(
fa*kappa2/densityE)*
fabs(2.*q2-q1);
668 DEBUGCOUT(
"Jac turb->lam: TRATTO DI INTERPOLAZIONE"<< std::endl);
684 DEBUGCOUT(
"JAC fa1: " << fa1 << std::endl);
685 DEBUGCOUT(
"JAC fa2: " << fa2 << std::endl);
699 DEBUGCOUT(
"JAC p1: " << p1 << std::endl);
700 DEBUGCOUT(
"JAC p2: " << p2 << std::endl);
701 DEBUGCOUT(
"JAC q1: " << q1 << std::endl);
702 DEBUGCOUT(
"JAC q2: " << q2 << std::endl);
705 DEBUGCOUT(
"JAC q1p: " << q1p << std::endl);
706 DEBUGCOUT(
"JAC q2p: " << q2p << std::endl);
711 DEBUGCOUT(
"JAC Jac14: " << Jac14 << std::endl);
712 DEBUGCOUT(
"JAC Jac25: " << Jac25 << std::endl);
713 DEBUGCOUT(
"JAC Jac31: " << Jac31 << std::endl);
714 DEBUGCOUT(
"JAC Jac32: " << Jac32 << std::endl);
715 DEBUGCOUT(
"JAC Jac33: " << Jac33 << std::endl);
716 DEBUGCOUT(
"JAC Jac43: " << Jac43 << std::endl);
717 DEBUGCOUT(
"JAC Jac44: " << Jac44 << std::endl);
718 DEBUGCOUT(
"JAC Jac45: " << Jac45 << std::endl);
719 DEBUGCOUT(
"JAC Jac51: " << Jac51 << std::endl);
720 DEBUGCOUT(
"JAC Jac52: " << Jac52 << std::endl);
721 DEBUGCOUT(
"JAC Jac54: " << Jac54 << std::endl);
722 DEBUGCOUT(
"JAC Jac55: " << Jac55 << std::endl);
const PressureNode * pNode1
void PutColIndex(integer iSubCol, integer iCol)
GradientExpression< BinaryExpr< FuncPow, LhsExpr, RhsExpr > > pow(const GradientExpression< LhsExpr > &u, const GradientExpression< RhsExpr > &v)
virtual doublereal dGetRe(Re which)
FullSubMatrixHandler & SetFull(void)
virtual doublereal dGetDensityDPres(void) const =0
void PutCoef(integer iRow, integer iCol, const doublereal &dCoef)
GradientExpression< UnaryExpr< FuncFabs, Expr > > fabs(const GradientExpression< Expr > &u)
virtual doublereal dGetDensity(void) const =0
virtual const doublereal & dGetX(void) const
virtual integer iGetFirstRowIndex(void) const
const PressureNode * pNode2
virtual void ResizeReset(integer, integer)
static std::stack< cleanup * > c
void PutRowIndex(integer iSubRow, integer iRow)
static const doublereal a
virtual integer iGetFirstIndex(void) const
virtual integer iGetFirstColIndex(void) const
Implements Elem.
Definition at line 743 of file pipe.cc.
References a, area, c, copysign(), DEBUGCOUT, densityDPres, densityEn, densityMe, densitySt, HydraulicFluid::dGetDensity(), HydraulicFluid::dGetDensityDPres(), HydraulicFluid::dGetRe(), HydraulicFluid::dGetViscosity(), ScalarAlgebraicNode::dGetX(), diameter, grad::fabs(), flow1, flow2, HydraulicElem::HF, DofOwnerOwner::iGetFirstIndex(), Node::iGetFirstRowIndex(), klam, ktrb, length, HydraulicFluid::LOWER, pNode1, pNode2, grad::pow(), pp, SubVectorHandler::PutItem(), Re, VectorHandler::Resize(), grad::sqrt(), turbulent, HydraulicFluid::UPPER, VelE, VelM, VelS, and viscosity.
748 DEBUGCOUT(
"Entering Dynamic_pipe::AssRes()" << std::endl);
801 DEBUGCOUT(
"SONO IN LAMINARE" << std::endl);
803 lack = -
klam*(Qx1/densityx1+Qx2/densityx2);
807 DEBUGCOUT(
"SONO IN TURBOLENTO" << std::endl);
814 DEBUGCOUT(
"SONO IN TURBOLENTO lack: " << lack << std::endl);
815 DEBUGCOUT(
"SONO IN TURBOLENTO Qx1: " << Qx1 << std::endl);
816 DEBUGCOUT(
"SONO IN TURBOLENTO Qx2: " << Qx2 << std::endl);
823 DEBUGCOUT(
"SONO IN TRANSIZIONE" << std::endl);
831 DEBUGCOUT(
"SONO IN TRANSIZIONE lam->turb" << std::endl);
835 lack = -
klam*(Qx1/densityx1+Qx2/densityx2);
837 DEBUGCOUT(
"RES lam->turb: TRATTO 64/RE" << std::endl);
841 DEBUGCOUT(
"RES lam->turb: TRATTO DI INTERPOLAZIONE"<< std::endl);
858 DEBUGCOUT(
"RES lam->turb fax1: " << fax1 << std::endl);
859 DEBUGCOUT(
"RES lam->turb fax2: " << fax2 << std::endl);
861 lack = -kappa3*(fax1*
copysign(Qx1*Qx1, Qx1)/densityx1
862 +fax2*
copysign(Qx2*Qx2, Qx2)/densityx2);
869 DEBUGCOUT(
"SONO IN TRANSIZIONE turb->lam" << std::endl);
881 DEBUGCOUT(
"RES turb->lam:TRATTO DI INTERPOLAZIONE" << std::endl);
896 DEBUGCOUT(
"RES turb->lam fax1: " << fax1 << std::endl);
897 DEBUGCOUT(
"RES turb->lam fax2: " << fax2 << std::endl);
901 lack = -kappa3*(fax1*
copysign(Qx1*Qx1, Qx1)/densityx1
902 +fax2*
copysign(Qx2*Qx2, Qx2)/densityx2);
909 VelM = ((-q1+q2)/2.)/(
area*densityM);
915 DEBUGCOUT(
"RES densityS: " << densityS << std::endl);
916 DEBUGCOUT(
"RES densityM: " << densityM << std::endl);
917 DEBUGCOUT(
"RES densityE: " << densityE << std::endl);
918 DEBUGCOUT(
"RES p1 : " << p1 << std::endl);
919 DEBUGCOUT(
"RES p2 : " << p2 << std::endl);
920 DEBUGCOUT(
"RES pr : " << pr << std::endl);
921 DEBUGCOUT(
"RES prp: " << prp << std::endl);
922 DEBUGCOUT(
"RES q1: " << q1 << std::endl);
923 DEBUGCOUT(
"RES q2: " << q2 << std::endl);
924 DEBUGCOUT(
"RES q1p: " << q1p << std::endl);
925 DEBUGCOUT(
"RES q2p: " << q2p << std::endl);
931 DEBUGCOUT(
"***********************************************"<< std::endl);
935 DEBUGCOUT(
" se positiva il fluido va dal nodo 1 al nodo 2 " << std::endl);
936 DEBUGCOUT(
"***********************************************"<< std::endl);
937 DEBUGCOUT(
"RES Res_1: " << Res_1 << std::endl);
938 DEBUGCOUT(
"RES Res_2: " << Res_2 << std::endl);
939 DEBUGCOUT(
"RES Res_3: " << Res_3 << std::endl);
940 DEBUGCOUT(
"RES Res_4: " << Res_4 << std::endl);
941 DEBUGCOUT(
"RES Res_5: " << Res_5 << std::endl);
944 WorkVec.
PutItem(1, iNode1RowIndex, Res_1);
945 WorkVec.
PutItem(2, iNode2RowIndex, Res_2);
946 WorkVec.
PutItem(3, iFirstIndex+1, Res_3);
947 WorkVec.
PutItem(4, iFirstIndex+2, Res_4);
948 WorkVec.
PutItem(5, iFirstIndex+3, Res_5);
const PressureNode * pNode1
GradientExpression< BinaryExpr< FuncPow, LhsExpr, RhsExpr > > pow(const GradientExpression< LhsExpr > &u, const GradientExpression< RhsExpr > &v)
virtual doublereal dGetRe(Re which)
virtual doublereal dGetDensityDPres(void) const =0
GradientExpression< UnaryExpr< FuncFabs, Expr > > fabs(const GradientExpression< Expr > &u)
virtual void PutItem(integer iSubRow, integer iRow, const doublereal &dCoef)
virtual doublereal dGetDensity(void) const =0
virtual const doublereal & dGetX(void) const
doublereal copysign(doublereal x, doublereal y)
virtual integer iGetFirstRowIndex(void) const
virtual doublereal dGetViscosity(void) const =0
const PressureNode * pNode2
GradientExpression< UnaryExpr< FuncSqrt, Expr > > sqrt(const GradientExpression< Expr > &u)
static std::stack< cleanup * > c
static const doublereal a
virtual integer iGetFirstIndex(void) const
virtual void Resize(integer iNewSize)=0