|
| Dynamic_control_valve (unsigned int uL, const DofOwner *pD, HydraulicFluid *hf, const PressureNode *p1, const PressureNode *p2, const PressureNode *p3, const PressureNode *p4, 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) |
|
| ~Dynamic_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 226 of file valve.h.
Implements Elem.
Definition at line 712 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, FullSubMatrixHandler::PutCoef(), FullSubMatrixHandler::PutColIndex(), FullSubMatrixHandler::PutRowIndex(), FullSubMatrixHandler::ResizeReset(), s, VariableSubMatrixHandler::SetFull(), sp, grad::sqrt(), v, valve_diameter, and width.
717 DEBUGCOUT(
"Entering Control_valve::AssJac()" << std::endl);
752 s = XCurr(iFirstIndex+1);
753 v = XCurr(iFirstIndex+2);
760 if (jumpPres12 < 1.e8*std::numeric_limits<doublereal>::epsilon()) {
761 jumpPres12 = 1.e8*std::numeric_limits<doublereal>::epsilon();
763 if (jumpPres13 < 1.e8*std::numeric_limits<doublereal>::epsilon()) {
764 jumpPres13 = 1.e8*std::numeric_limits<doublereal>::epsilon();
766 if (jumpPres24 < 1.e8*std::numeric_limits<doublereal>::epsilon()) {
767 jumpPres24 = 1.e8*std::numeric_limits<doublereal>::epsilon();
769 if (jumpPres34 < 1.e8*std::numeric_limits<doublereal>::epsilon()) {
770 jumpPres34 = 1.e8*std::numeric_limits<doublereal>::epsilon();
void PutColIndex(integer iSubCol, integer iCol)
const PressureNode * pNode1
FullSubMatrixHandler & SetFull(void)
const PressureNode * pNode4
doublereal valve_diameter
void PutCoef(integer iRow, integer iCol, const doublereal &dCoef)
GradientExpression< UnaryExpr< FuncFabs, Expr > > fabs(const GradientExpression< Expr > &u)
const PressureNode * pNode2
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)
virtual void ResizeReset(integer, integer)
void PutRowIndex(integer iSubRow, integer iRow)
const PressureNode * pNode3
virtual integer iGetFirstIndex(void) const
virtual integer iGetFirstColIndex(void) const
Implements Elem.
Definition at line 864 of file valve.cc.
References A1, A2, A3, A4, c1, c2, c3, c_acc, c_spost, c_vel, Cd, cf1, cf2, cf3, copysign(), DEBUGCOUT, deltaP, DriveCaller::dGet(), HydraulicFluid::dGetDensity(), ScalarAlgebraicNode::dGetX(), grad::fabs(), flow1, flow2, flow3, flow4, HydraulicElem::HF, DofOwnerOwner::iGetFirstIndex(), Node::iGetFirstRowIndex(), loss_area, DriveOwner::pGetDriveCaller(), pNode1, pNode2, pNode3, pNode4, SubVectorHandler::PutItem(), VectorHandler::Resize(), s, s_max, sp, grad::sqrt(), v, valve_density, valve_diameter, vp, and width.
869 DEBUGCOUT(
"Entering Dynamic_control_valve::AssRes()" << std::endl);
887 s = XCurr(iFirstIndex+1);
888 v = XCurr(iFirstIndex+2);
889 sp = XPrimeCurr(iFirstIndex+1);
890 vp = XPrimeCurr(iFirstIndex+2);
906 A1 = area_min+deltaA;
908 A3 = area_min+deltaA;
912 A2 = area_min-deltaA;
914 A4 = area_min-deltaA;
998 DEBUGCOUT(
"s_max : " << s_max << std::endl);
1005 DEBUGCOUT(
"smorzatore: " << C << std::endl);
1007 DEBUGCOUT(
"density: " << density << std::endl);
1009 DEBUGCOUT(
"Area_max: " << area_max << std::endl);
1010 DEBUGCOUT(
"Width: " << width << std::endl);
1011 DEBUGCOUT(
"Loss_area: " << loss_area << std::endl);
1022 DEBUGCOUT(
"PORTATE AI VARI NODI (positive se entranti)"<< std::endl);
1023 DEBUGCOUT(
"-Res_1 (portata nodo1): " << -Res_1 << std::endl);
1024 DEBUGCOUT(
"-Res_2 (portata nodo2): " << -Res_2 << std::endl);
1025 DEBUGCOUT(
"-Res_3 (portata nodo3): " << -Res_3 << std::endl);
1026 DEBUGCOUT(
"-Res_4 (portata nodo4): " << -Res_4 << std::endl);
1027 DEBUGCOUT(
"-Res_5 eq.dinamica : " << -Res_5 << std::endl);
1028 DEBUGCOUT(
"-Res_6 sp-v : " << -Res_6 << std::endl);
1031 WorkVec.
PutItem(1, iNode1RowIndex, Res_1);
1032 WorkVec.
PutItem(2, iNode2RowIndex, Res_2);
1033 WorkVec.
PutItem(3, iNode3RowIndex, Res_3);
1034 WorkVec.
PutItem(4, iNode4RowIndex, Res_4);
1035 WorkVec.
PutItem(5, iFirstIndex+1, Res_5);
1036 WorkVec.
PutItem(6, iFirstIndex+2, Res_6);
const PressureNode * pNode1
const PressureNode * pNode4
doublereal valve_diameter
GradientExpression< UnaryExpr< FuncFabs, Expr > > fabs(const GradientExpression< Expr > &u)
virtual void PutItem(integer iSubRow, integer iRow, const doublereal &dCoef)
const PressureNode * pNode2
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)
DriveCaller * pGetDriveCaller(void) const
virtual doublereal dGet(const doublereal &dVar) const =0
const PressureNode * pNode3
virtual integer iGetFirstIndex(void) const
virtual void Resize(integer iNewSize)=0