|
| Pressure_flow_control_valve (unsigned int uL, const DofOwner *pD, HydraulicFluid *hf, const PressureNode *p1, const PressureNode *p2, const PressureNode *p3, const PressureNode *p4, const PressureNode *p5, const PressureNode *p6, const DriveCaller *pDC, doublereal s0, doublereal s_mx, doublereal W, doublereal Loss_A, doublereal Valve_d, doublereal Valve_rho, doublereal cs, doublereal cv, doublereal ca, flag fOut) |
|
| ~Pressure_flow_control_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) |
|
| DriveOwner (const DriveCaller *pDC=0) |
|
| DriveOwner (const DriveOwner &drive) |
|
virtual | ~DriveOwner (void) |
|
void | Set (const DriveCaller *pDC) |
|
DriveCaller * | pGetDriveCaller (void) const |
|
doublereal | dGet (const doublereal &dVar) const |
|
doublereal | dGet (void) const |
|
bool | bIsDifferentiable (void) const |
|
doublereal | dGetP (const doublereal &dVar) const |
|
doublereal | dGetP (void) const |
|
Definition at line 324 of file valve.h.
Implements Elem.
Definition at line 1154 of file valve.cc.
References A1, A2, A3, A4, c1, c2, c3, Cd, cf1, cf2, cf3, copysign(), DEBUGCOUT, deltaP, HydraulicFluid::dGetDensity(), ScalarAlgebraicNode::dGetX(), grad::fabs(), HydraulicElem::HF, Node::iGetFirstColIndex(), DofOwnerOwner::iGetFirstIndex(), Node::iGetFirstRowIndex(), pNode1, pNode2, pNode3, pNode4, pNode5, pNode6, FullSubMatrixHandler::PutCoef(), FullSubMatrixHandler::PutColIndex(), FullSubMatrixHandler::PutRowIndex(), FullSubMatrixHandler::ResizeReset(), s, VariableSubMatrixHandler::SetFull(), sp, grad::sqrt(), v, valve_area, valve_diameter, and width.
1159 DEBUGCOUT(
"Entering Control_valve::AssJac()" << std::endl);
1204 s = XCurr(iFirstIndex+1);
1205 v = XCurr(iFirstIndex+2);
1212 if (jumpPres12 < 1.e8*std::numeric_limits<doublereal>::epsilon()) {
1213 jumpPres12 = 1.e8*std::numeric_limits<doublereal>::epsilon();
1215 if (jumpPres13 < 1.e8*std::numeric_limits<doublereal>::epsilon()) {
1216 jumpPres13 = 1.e8*std::numeric_limits<doublereal>::epsilon();
1218 if (jumpPres24 < 1.e8*std::numeric_limits<doublereal>::epsilon()) {
1219 jumpPres24 = 1.e8*std::numeric_limits<doublereal>::epsilon();
1221 if (jumpPres34 < 1.e8*std::numeric_limits<doublereal>::epsilon()) {
1222 jumpPres34 = 1.e8*std::numeric_limits<doublereal>::epsilon();
void PutColIndex(integer iSubCol, integer iCol)
FullSubMatrixHandler & SetFull(void)
const PressureNode * pNode1
const PressureNode * pNode4
const PressureNode * pNode3
void PutCoef(integer iRow, integer iCol, const doublereal &dCoef)
const PressureNode * pNode6
GradientExpression< UnaryExpr< FuncFabs, Expr > > fabs(const GradientExpression< Expr > &u)
doublereal valve_diameter
virtual doublereal dGetDensity(void) const =0
virtual const doublereal & dGetX(void) const
const PressureNode * pNode5
doublereal copysign(doublereal x, doublereal y)
virtual integer iGetFirstRowIndex(void) const
GradientExpression< UnaryExpr< FuncSqrt, Expr > > sqrt(const GradientExpression< Expr > &u)
virtual void ResizeReset(integer, integer)
void PutRowIndex(integer iSubRow, integer iRow)
virtual integer iGetFirstIndex(void) const
const PressureNode * pNode2
virtual integer iGetFirstColIndex(void) const
Implements Elem.
Definition at line 1312 of file valve.cc.
References A1, A2, A3, A4, c1, c2, c3, Cd, cf1, cf2, cf3, copysign(), DEBUGCOUT, deltaP, DriveCaller::dGet(), HydraulicFluid::dGetDensity(), ScalarAlgebraicNode::dGetX(), grad::fabs(), flow1, flow2, flow3, flow4, flow5, flow6, HydraulicElem::HF, DofOwnerOwner::iGetFirstIndex(), Node::iGetFirstRowIndex(), loss_area, DriveOwner::pGetDriveCaller(), pNode1, pNode2, pNode3, pNode4, pNode5, pNode6, SubVectorHandler::PutItem(), VectorHandler::Resize(), s, s_max, sp, grad::sqrt(), v, valve_area, valve_density, valve_diameter, vp, and width.
1317 DEBUGCOUT(
"Entering Pressure_flow_control_valve::AssRes()" << std::endl);
1339 s = XCurr(iFirstIndex+1);
1340 v = XCurr(iFirstIndex+2);
1341 sp = XPrimeCurr(iFirstIndex+1);
1342 vp = XPrimeCurr(iFirstIndex+2);
1359 A1 = area_min+deltaA;
1361 A3 = area_min+deltaA;
1365 A2 = area_min-deltaA;
1367 A4 = area_min-deltaA;
1380 #warning "????????????? Res_6 = -Res_6 ?"
1411 DEBUGCOUT(
"s_max : " << s_max << std::endl);
1419 DEBUGCOUT(
"smorzatore: " << C << std::endl);
1421 DEBUGCOUT(
"density: " << density << std::endl);
1423 DEBUGCOUT(
"Area_max: " << area_max << std::endl);
1424 DEBUGCOUT(
"Width: " << width << std::endl);
1425 DEBUGCOUT(
"Loss_area: " << loss_area << std::endl);
1436 DEBUGCOUT(
"PORTATE AI VARI NODI (positive se entranti)"<< std::endl);
1437 DEBUGCOUT(
"-Res_1 (portata nodo1): " << -Res_1 << std::endl);
1438 DEBUGCOUT(
"-Res_2 (portata nodo2): " << -Res_2 << std::endl);
1439 DEBUGCOUT(
"-Res_3 (portata nodo3): " << -Res_3 << std::endl);
1440 DEBUGCOUT(
"-Res_4 (portata nodo4): " << -Res_4 << std::endl);
1441 DEBUGCOUT(
"-Res_5 (portata nodo3): " << -Res_5 << std::endl);
1442 DEBUGCOUT(
"-Res_6 (portata nodo4): " << -Res_6 << std::endl);
1443 DEBUGCOUT(
"-Res_6 eq dinamica : " << -Res_7 << std::endl);
1444 DEBUGCOUT(
"-Res_7 sp-v : " << -Res_8 << std::endl);
1447 WorkVec.
PutItem(1, iNode1RowIndex, Res_1);
1448 WorkVec.
PutItem(2, iNode2RowIndex, Res_2);
1449 WorkVec.
PutItem(3, iNode3RowIndex, Res_3);
1450 WorkVec.
PutItem(4, iNode4RowIndex, Res_4);
1451 WorkVec.
PutItem(5, iNode5RowIndex, Res_5);
1452 WorkVec.
PutItem(6, iNode6RowIndex, Res_6);
1453 WorkVec.
PutItem(7, iFirstIndex+1, Res_7);
1454 WorkVec.
PutItem(8, iFirstIndex+2, Res_8);
const PressureNode * pNode1
const PressureNode * pNode4
const PressureNode * pNode3
const PressureNode * pNode6
GradientExpression< UnaryExpr< FuncFabs, Expr > > fabs(const GradientExpression< Expr > &u)
virtual void PutItem(integer iSubRow, integer iRow, const doublereal &dCoef)
doublereal valve_diameter
virtual doublereal dGetDensity(void) const =0
virtual const doublereal & dGetX(void) const
const PressureNode * pNode5
doublereal copysign(doublereal x, doublereal y)
virtual integer iGetFirstRowIndex(void) const
GradientExpression< UnaryExpr< FuncSqrt, Expr > > sqrt(const GradientExpression< Expr > &u)
DriveCaller * pGetDriveCaller(void) const
virtual doublereal dGet(const doublereal &dVar) const =0
virtual integer iGetFirstIndex(void) const
const PressureNode * pNode2
virtual void Resize(integer iNewSize)=0