/*#F:This determines the pressure of the contents and the pressure at each inlet and outlet of the surge unit.*/ void MN_Xfer::EvalJoinPressures(long JoinMask) { switch (NetMethod()) { case NM_Probal: { const bool OldCode = false; if (OldCode) { if (NoProcessJoins()>=1) EvalJoinPressure(0, &m_PCtrl0, m_QFeed());//&QProd()); //if (NoProcessJoins()>=2) // EvalJoinPressure(1); } else { if (NoProcessJoins()>=1) EvalJoinPressure(0, &m_PCtrl0, m_QProd()); if (NoProcessJoins()>=2) EvalJoinPressure(1); } break; } //case SM_Inline: case NM_Dynamic: //if (m_PCtrl0.Method()) if (JoinMask&1) { int N=0; for (int i=0; i<NoProcLnkIOs(); i++) { if (Nd_Rmt(i)->FlowMode()==LFM_Xfer) N++; } if (NoProcLnkIOs()-N>=2) SetJoinPressure(0, JoinP(0), true, true); else { //m_PCtrl0.DoInputs //SetJoinPressure(0, AtmosPress(m_Datum)/* JoinP(0)*/, true, true); //if (HasModeNear(0, LFM_Xfer)) EvalJoinPressure(0, &m_PCtrl0); } //else } if (JoinMask&2 && NoProcessJoins()>1) { //if (HasModeNear(1, LFM_Xfer)) // EvalJoinPressure(0, &m_PCtrl0); //else SetJoinPressure(1, AtmosPress(m_Datum)/* JoinP(0)*/, true, true); } //MdlNode::EvalJoinPressures(JoinMask); break; } };
void MN_BstRes::EvalJoinPressures(long JoinMask) { if (NoFlwIOs()>0) if (NetMethod()==NM_Probal) { for (int j=0; j<NoJoins(); j++) { //double Pm=MeasureJoinPressure(j); //SetJoinPressure(j, Pm); SetJoinPressure(j, dPout); } } else MdlNode::EvalJoinPressures(JoinMask); }
void CElectroCell::EvalJoinPressures(long JoinMask) { switch (NetMethod()) { case NM_Probal: { for (int j=0; j<NoProcessJoins(); j++) { double P = PBPress();//AtmosPress(IODatum_Term(j)); SetJoinPressure(j, P); } break; } case NM_Dynamic: MN_Surge::EvalJoinPressures(JoinMask); break; } }