|
| | Pressure_valve (unsigned int uL, const DofOwner *pD, HydraulicFluid *hf, const PressureNode *p1, const PressureNode *p2, doublereal A_dia, doublereal mv, doublereal A_max, doublereal s_mx, doublereal K, doublereal F0, doublereal w, doublereal cs, doublereal cv, doublereal ca, flag fOut) |
| |
| | ~Pressure_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 431 of file valve.h.
Implements Elem.
Definition at line 1562 of file valve.cc.
References area_diaf, area_max, c1, c2, c3, cf1, cf2, cf3, copysign(), DEBUGCOUT, HydraulicFluid::dGetDensity(), ScalarAlgebraicNode::dGetX(), grad::fabs(), HydraulicElem::HF, Node::iGetFirstColIndex(), DofOwnerOwner::iGetFirstIndex(), Node::iGetFirstRowIndex(), Kappa, mass, pNode1, pNode2, grad::pow(), FullSubMatrixHandler::PutCoef(), FullSubMatrixHandler::PutColIndex(), FullSubMatrixHandler::PutRowIndex(), FullSubMatrixHandler::Resize(), s, VariableSubMatrixHandler::SetFull(), grad::sqrt(), v, and width.
1567 DEBUGCOUT(
"Entering Pressure_valve::AssJac()" << std::endl);
1593 s = XCurr(iFirstIndex+1);
1594 v = XCurr(iFirstIndex+2);
1600 if (jumpPres < 1.e8*std::numeric_limits<doublereal>::epsilon()) {
1601 jumpPres = 1.e8*std::numeric_limits<doublereal>::epsilon();
1627 Jac11 = -density*
width*
s*Cd/
sqrt(2*jumpPres/density)/density;
void PutColIndex(integer iSubCol, integer iCol)
GradientExpression< BinaryExpr< FuncPow, LhsExpr, RhsExpr > > pow(const GradientExpression< LhsExpr > &u, const GradientExpression< RhsExpr > &v)
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
GradientExpression< UnaryExpr< FuncSqrt, Expr > > sqrt(const GradientExpression< Expr > &u)
const PressureNode * pNode1
void PutRowIndex(integer iSubRow, integer iRow)
virtual integer iGetFirstIndex(void) const
virtual integer iGetFirstColIndex(void) const
Implements Elem.
Definition at line 1674 of file valve.cc.
References area_diaf, area_max, c1, c2, c3, c4, c_acc, c_spost, c_vel, cf1, cf2, cf3, cf4, copysign(), DEBUGCOUT, HydraulicFluid::dGetDensity(), ScalarAlgebraicNode::dGetX(), grad::fabs(), flow1, flow2, force0, HydraulicElem::HF, DofOwnerOwner::iGetFirstIndex(), Node::iGetFirstRowIndex(), Kappa, mass, pNode1, pNode2, grad::pow(), SubVectorHandler::PutItem(), VectorHandler::Resize(), s, s_max, sp, grad::sqrt(), v, vp, and width.
1690 s = XCurr(iFirstIndex+1);
1691 v = XCurr(iFirstIndex+2);
1692 sp = XPrimeCurr(iFirstIndex+1);
1693 vp = XPrimeCurr(iFirstIndex+2);
1771 DEBUGCOUT(
"jumpPres: " << jumpPres << std::endl);
1772 DEBUGCOUT(
"density: " << density << std::endl);
1795 DEBUGCOUT(
"PORTATE AI VARI NODI (positive se entranti)" << std::endl);
1796 DEBUGCOUT(
"-Res_1 (portata nodo1): " << -Res_1 << std::endl);
1797 DEBUGCOUT(
"-Res_2 (portata nodo2): " << -Res_2 << std::endl);
1798 DEBUGCOUT(
"Res_3: " << Res_3 << std::endl);
1799 DEBUGCOUT(
"Res_4: " << Res_4 << std::endl);
1802 WorkVec.
PutItem(1, iNode1RowIndex, Res_1);
1803 WorkVec.
PutItem(2, iNode2RowIndex, Res_2);
1804 WorkVec.
PutItem(3, iFirstIndex+1, Res_3);
1805 WorkVec.
PutItem(4, iFirstIndex+2, Res_4);
GradientExpression< BinaryExpr< FuncPow, LhsExpr, RhsExpr > > pow(const GradientExpression< LhsExpr > &u, const GradientExpression< RhsExpr > &v)
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
GradientExpression< UnaryExpr< FuncSqrt, Expr > > sqrt(const GradientExpression< Expr > &u)
const PressureNode * pNode1
virtual integer iGetFirstIndex(void) const
virtual void Resize(integer iNewSize)=0