|  | 
|  | Flow_valve (unsigned int uL, const DofOwner *pD, HydraulicFluid *hf, const PressureNode *p1, const PressureNode *p2, const PressureNode *p3, doublereal A_dia, doublereal mv, doublereal A_pipe, doublereal A_max, doublereal K, doublereal F0, doublereal w, doublereal s_mx, doublereal cs, doublereal cv, doublereal ca, flag fOut) | 
|  | 
|  | ~Flow_valve (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 | 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) | 
|  | 
| 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 516 of file valve.h.
 
Implements Elem.
Definition at line 1916 of file valve.cc.
References area_diaf, area_max, area_pipe, c1, c2, c3, cf1, cf2, cf3, copysign(), DEBUGCOUT, HydraulicFluid::dGetDensity(), ScalarAlgebraicNode::dGetX(), grad::fabs(), h, HydraulicElem::HF, Node::iGetFirstColIndex(), DofOwnerOwner::iGetFirstIndex(), Node::iGetFirstRowIndex(), Kappa, mass, pNode1, pNode2, pNode3, grad::pow(), FullSubMatrixHandler::PutCoef(), FullSubMatrixHandler::PutColIndex(), FullSubMatrixHandler::PutRowIndex(), FullSubMatrixHandler::Resize(), s, VariableSubMatrixHandler::SetFull(), grad::sqrt(), v, and width.
 1921    DEBUGCOUT(
"Entering  Flow_valve::AssJac()" << std::endl);
 
 1949    s = XCurr(iFirstIndex+1);  
 
 1950    v = XCurr(iFirstIndex+2);  
 
 1959    if (jumpPres12 < 1.e8*std::numeric_limits<doublereal>::epsilon()) {
 
 1960       jumpPres12 = 1.e8*std::numeric_limits<doublereal>::epsilon();
 
 1962    if (jumpPres23 < 1.e8*std::numeric_limits<doublereal>::epsilon()) {
 
 1963       jumpPres23 = 1.e8*std::numeric_limits<doublereal>::epsilon();
 
 1965    if (jumpPres13 < 1.e8*std::numeric_limits<doublereal>::epsilon()) {
 
 1966       jumpPres13 = 1.e8*std::numeric_limits<doublereal>::epsilon();
 
 1996    DEBUGCOUT(
"Valore di p1: " << p1 << std::endl);
 
 1997    DEBUGCOUT(
"Valore di p2: " << p2 << std::endl);
 
 1998    DEBUGCOUT(
"Valore di p3: " << p3 << std::endl);
 
 1999    DEBUGCOUT(
"Valore di s: " << 
s << std::endl);
 
 2046    DEBUGCOUT(
"Jac smorzatore " << 
h*density << std::endl);
 
 2047    DEBUGCOUT(
"Jac smorzatore Jac45old1 " << Jac45old1 << std::endl);
 
 2048    DEBUGCOUT(
"Jac smorzatore Jac45old2 " << Jac45old2 << std::endl);
 
 2049    DEBUGCOUT(
"Jac smorzatore Jac45     " << Jac45 << std::endl);
 
 2051    DEBUGCOUT(
"Jac11: " << Jac11 << std::endl);
 
 2052    DEBUGCOUT(
"Jac12: " << Jac12 << std::endl);
 
 2053    DEBUGCOUT(
"Jac13: " << Jac13 << std::endl);
 
 2054    DEBUGCOUT(
"Jac14: " << Jac14 << std::endl);
 
 2055    DEBUGCOUT(
"Jac15: " << Jac15 << std::endl);
 
 2056    DEBUGCOUT(
"Jac21: " << Jac21 << std::endl);
 
 2057    DEBUGCOUT(
"Jac22: " << Jac22 << std::endl);
 
 2058    DEBUGCOUT(
"Jac23: " << Jac23 << std::endl);
 
 2059    DEBUGCOUT(
"Jac24: " << Jac24 << std::endl);
 
 2060    DEBUGCOUT(
"Jac25: " << Jac25 << std::endl);
 
 2061    DEBUGCOUT(
"Jac31: " << Jac31 << std::endl);
 
 2062    DEBUGCOUT(
"Jac32: " << Jac32 << std::endl);
 
 2063    DEBUGCOUT(
"Jac33: " << Jac33 << std::endl);
 
 2064    DEBUGCOUT(
"Jac34: " << Jac34 << std::endl);
 
 2065    DEBUGCOUT(
"Jac35: " << Jac35 << std::endl);
 
 2066    DEBUGCOUT(
"Jac41: " << Jac41 << std::endl);
 
 2067    DEBUGCOUT(
"Jac42: " << Jac42 << std::endl);
 
 2068    DEBUGCOUT(
"Jac43: " << Jac43 << std::endl);
 
 2069    DEBUGCOUT(
"Jac44: " << Jac44 << std::endl);
 
 2070    DEBUGCOUT(
"Jac45: " << Jac45 << std::endl);
 
 2071    DEBUGCOUT(
"Jac51: " << Jac51 << std::endl);
 
 2072    DEBUGCOUT(
"Jac52: " << Jac52 << std::endl);
 
 2073    DEBUGCOUT(
"Jac53: " << Jac53 << std::endl);
 
 2074    DEBUGCOUT(
"Jac54: " << Jac54 << std::endl);
 
 2075    DEBUGCOUT(
"Jac55: " << Jac55 << std::endl);
 
void PutColIndex(integer iSubCol, integer iCol)
GradientExpression< BinaryExpr< FuncPow, LhsExpr, RhsExpr > > pow(const GradientExpression< LhsExpr > &u, const GradientExpression< RhsExpr > &v)
const PressureNode * pNode1
FullSubMatrixHandler & SetFull(void)
const PressureNode * pNode2
void Resize(integer iNewRow, integer iNewCol)
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 
doublereal copysign(doublereal x, doublereal y)
virtual integer iGetFirstRowIndex(void) const 
const PressureNode * pNode3
GradientExpression< UnaryExpr< FuncSqrt, Expr > > sqrt(const GradientExpression< Expr > &u)
void PutRowIndex(integer iSubRow, integer iRow)
virtual integer iGetFirstIndex(void) const 
virtual integer iGetFirstColIndex(void) const 
 
 
 
Implements Elem.
Definition at line 2108 of file valve.cc.
References area_diaf, area_max, area_pipe, c1, c2, c3, c4, c_acc, c_spost, c_vel, cf1, cf2, cf3, cf4, copysign(), DEBUGCOUT, HydraulicFluid::dGetDensity(), ScalarAlgebraicNode::dGetX(), grad::fabs(), flow1, flow2, flow3, force0, h, HydraulicElem::HF, DofOwnerOwner::iGetFirstIndex(), Node::iGetFirstRowIndex(), Kappa, mass, pNode1, pNode2, pNode3, grad::pow(), SubVectorHandler::PutItem(), VectorHandler::Resize(), s, s_max, sp, grad::sqrt(), v, vp, and width.
 2113    DEBUGCOUT(
"Entering Flow_valve::AssRes()" << std::endl);
 
 2126    s = XCurr(iFirstIndex+1);        
 
 2127    v = XCurr(iFirstIndex+2);        
 
 2128    sp = XPrimeCurr(iFirstIndex+1);  
 
 2129    vp = XPrimeCurr(iFirstIndex+2);  
 
 2215    DEBUGCOUT(
"Res_4:         " <<  Res_4 << std::endl);
 
 2216    DEBUGCOUT(
"Res_4old:      " <<  Res_4old << std::endl);
 
 2224    DEBUGCOUT(
"jumpPres12:    " << jumpPres12  << std::endl);
 
 2225    DEBUGCOUT(
"jumpPres23:    " << jumpPres23  << std::endl);
 
 2226    DEBUGCOUT(
"jumpPres13:    " << jumpPres13  << std::endl);
 
 2227    DEBUGCOUT(
"density:       " << density << std::endl);
 
 2249    DEBUGCOUT(
"PORTATE AI VARI NODI (positive se entranti)" << std::endl);
 
 2250    DEBUGCOUT(
"-Res_1 (portata nodo1): " << -Res_1 << std::endl); 
 
 2251    DEBUGCOUT(
"-Res_2 (portata nodo2): " << -Res_2 << std::endl); 
 
 2252    DEBUGCOUT(
"-Res_3:(portata nodo3): " << -Res_3 << std::endl); 
 
 2253    DEBUGCOUT(
"-Res_4:                 " << -Res_4 << std::endl); 
 
 2254    DEBUGCOUT(
"-Res_5:                 " << -Res_5 << std::endl); 
 
 2257    WorkVec.
PutItem(1, iNode1RowIndex, Res_1);
 
 2258    WorkVec.
PutItem(2, iNode2RowIndex, Res_2);         
 
 2259    WorkVec.
PutItem(3, iNode3RowIndex, Res_3);
 
 2260    WorkVec.
PutItem(4, iFirstIndex+1, Res_4);    
 
 2261    WorkVec.
PutItem(5, iFirstIndex+2, Res_5);    
 
GradientExpression< BinaryExpr< FuncPow, LhsExpr, RhsExpr > > pow(const GradientExpression< LhsExpr > &u, const GradientExpression< RhsExpr > &v)
const PressureNode * pNode1
const PressureNode * pNode2
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 
const PressureNode * pNode3
GradientExpression< UnaryExpr< FuncSqrt, Expr > > sqrt(const GradientExpression< Expr > &u)
virtual integer iGetFirstIndex(void) const 
virtual void Resize(integer iNewSize)=0