예제 #1
0
파일: M_XFER.CPP 프로젝트: abcweizhuo/Test3
/*#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;
    }
  };
예제 #2
0
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);
}
예제 #3
0
파일: ECELL.CPP 프로젝트: abcweizhuo/Test3
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;
    }
  }