IOBuffer HttpResponse::serialize_to_buffer()
{
    return IOBuffer(serialize_to_string());
}
Example #2
0
void HydroCyclone::EvalProducts()
  {
  if (GSM.Enabled())
    {
    if (NJoins()>0)
      switch (SolveMode())
        {
        case PBMODE:
        case SSMODE:
          if (NJoins()>=1)
            Xfer_EvalProducts(0, Joins[0].Pressure(), NULL, NULL, NULL, GSM(), NULL);
          break;
        case DYNMODE:
          for (int j=0; j<NJoins(); j++)
            Xfer_EvalProducts(j, Joins[j].Pressure(), NULL, NULL, NULL, GSM(), NULL);
          break;
        }
    }
  else
    {
    Feed.QZero();
    Feed.SetPress(Std_P);
    double  Liq_in=0.0, Solids_in=0.0;
    for (int i = 0; i < NoFlwIOs(); i++)
      if (IO_In(i))
        {
        Solids_in+=IOConduit(i)->QMass(som_Sol);
        Liq_in+=IOConduit(i)->QMass(som_Liq);
        Feed.QAddF(*IOConduit(i), som_ALL, 1.0);
        }

    int ioFines=IOWithId_Self(ioidFines);
    int ioGrits=IOWithId_Self(ioidGrits);

    if (ioFines>=0 && IO_Out(ioFines))// && ioGrits>=0 && IO_Out(ioGrits))
      {
      double QmOre2Grit=Solids_in*Ore2Grit;
      double QmOre2Fine=Solids_in-QmOre2Grit;
      double QmLiq2Grit=Liq_in*Liq2Grit;
      double QmLiq2Fine=Liq_in-QmLiq2Grit;

      SpConduit & Fines = *IOConduit(ioFines);
      SpConduit & Grits = *IOBuffer(ioGrits);

      Fines.QSetM(Feed, som_Liq, QmLiq2Fine, IOP_Self(ioFines));
      Fines.QAddM(Feed, som_Sol, QmOre2Fine);
      Grits.QSetM(Feed, som_Liq, QmLiq2Grit, IOP_Self(ioGrits));
      Grits.QAddM(Feed, som_Sol, QmOre2Grit);

      if (SQSzDist1::Ptr(Feed.Model(), False))
        {
        SQSzDist1 &SzFeed=*SQSzDist1::Ptr(Feed.Model());
        SQSzDist1 &SzFine=*SQSzDist1::Ptr(Fines.Model());
        SQSzDist1 &SzGrit=*SQSzDist1::Ptr(Grits.Model());

        SzFine.SetFinesFraction(PartCrv, 0.0, ByePass2Grits);
        SzGrit.SetGritsFraction(PartCrv, 0.0, ByePass2Grits);
        }
      }
    }
  }