void CSurface3D::MRU_Move2Head(CSurface3DPanel * E) { #if dbgSurfaces if (dbg3DMRU()) dbgpln("MRU_Move2Head :%-20s %08x %08x H:%08x T:%08x", Name(), E, E->m_pFrame, m_pMRUHead, m_pMRUTail); //m_MRUList.AddHead(E); #endif if (m_pMRUHead!=E) { MRU_Remove(E); if (m_pMRUHead) m_pMRUHead->m_pMRUNext=E; E->m_pMRUNext=NULL; E->m_pMRUPrev=m_pMRUHead; m_pMRUHead=E; if (m_pMRUTail==NULL) m_pMRUTail=E; m_nPanelCnt++; } #if dbgSurfaces if (dbg3DMRU()) dbgpln(" %-20s H:%08x T:%08x", "", m_pMRUHead, m_pMRUTail); #endif };
void CNetBlk::ShowSubNets(int N, int dbgShowConns) { int N1=(N>=0 ? N : 0); int N2=(N>=0 ? N+1 : NSubNets); for (int Sub = N1; Sub < N2; Sub++) SubNet[Sub]->ShowSubNet(dbgShowConns); Strng CS; int dun=0; JoinIter J(m_Joins); for (CJoinRec * p = J.First(); (p); p = J.Next()) { if (!p->m_pSubNet) { if (!dun) { dbgpln("--------------------------------"); dbgpln("SubN PQIx - UnAssigned"); if (p->m_pSubNet) dbgpln("Sub ??? Unknown"); } dbgpln("%4i %-12s %s(%i)", p->m_pSubNet ? p->m_pSubNet->m_SubNetNo : -1, p->Nd()->TypeString(CS), p->Nd()->FullObjTag(),p->iJoinArrayInx); dun=1; } } }
void CSubNetBlk::ShowSubNet(int dbgShowConns) { dbgpln("--------------------------------"); //dbgp("%i.%i - %s - ",pNet->NetNo, SubNetNo, SolnString(SolutionType())); dbgp("%i.%i - ",pNet->NetNo, m_SubNetNo); if (m_fLonely) dbgp("Lonely "); if (m_fUnDefined) dbgp("Undefined "); if (m_fIsolatedNet) dbgp("IsolatedNet "); if (m_fIsolatedNode) dbgp("IsolatedNode "); if (m_fFixed) dbgp("Fixed "); if (m_fNetWrk) dbgp("NetWrk "); dbgpln(""); GrpFlwIter G(m_Grps); for (CGrpFlwBlk * g=G.First(); g; g=G.Next()) ShowSubNetsL(g, dbgShowConns); dbgpln("..."); JoinIter T(m_Ties); for (CJoinRec * p = T.First(); (p); p = T.Next()) ShowSubNetsT(p, dbgShowConns); // dbgpln("..."); // JoinIter J(Joins); // for (CJoinRec * j = J.First(); (j); j = J.Next()) // ShowSubNetsJ(j, dbgShowConns); if (dbgShowConns) { } }
void CSurface2D::Dump() { dbgpln("Surface:%s", Name()); dbgpln("Usage : %10.5f%% [%i of %i]", Usage()*100, m_nDivsInited, m_nDivs); dbgpln("Worst : %10.5f%% @%i = %g", 100*m_WorstErrorV, m_WorstErrorX, Map2X(m_WorstErrorX, 0.5)); dbgpln("I:\tX\tY\tDiff"); for (int i=0; i<=m_nDivs; i++) { CSurface2DElement &E=m_Elements[Min((long)i, m_nDivs-1L)]; if (E.m_Inited) { for(int j=0; j<2; j++) { double di=j*0.5; double x1=Map2X(i,di); double y1=m_fnYO(E(di)); dbgpln("%5.1f:\t%15.8f\t%15.8f\t%15.8f\t%8.5e", i+di,x1,y1,y1-m_fnY(x1),100*FracErr(y1, m_fnY(x1))); } } else { //for(int j=0; j<2; j++) // { // double di=j*0.5; // dbgpln("%5.1f:\t%15.8f\t\t\t", i+di,Map2X(i,di)); // } } } };
void CSubNetBlk::ShowSubNetsL(CGrpFlwBlk * g, int dbgShowConns) { dbgp("%s%s ", g->m_iFlwPh_Act&FPh_Gasses ? "V":" ", g->m_iFlwPh_Act&FPh_Liquid? "L":" "); dbgp("%02i ", g->m_pSubNet->m_SubNetNo); dbgp(" %s", JoinTypeStr(g->m_LnkInx.Typ)); int Fxd=g->m_Src.m_pFBJn->GetFixed(); dbgp(" %s[%s]%s", (Fxd?"{":" "), g->m_Src.m_pNd->FullObjTag(),(Fxd?"}":" ")); JoinIter L(g->m_Lnks); for (CJoinRec * p = L.First(); p; p = L.Next()) { switch(p->Typ) { case JTyp_Link: case JTyp_Edge: case JTyp_FxdLnk: case JTyp_Lone: { dbgp("->"); Fxd=0; for (int c=0; c<p->NConns(); c++) if (p->IOFB(c,0)->GetFixed()) Fxd=1; dbgp("%s%s%s(%i)%s",(Fxd?"{":" "), SgnStr(p->Dirn), p->Nd()->FullObjTag(),p->iJoinArrayInx,(Fxd?"}":" ")); dbgp("%02i ", p->m_pSubNet->m_SubNetNo); } break; default: dbgpln(" %s%s(%i)", SgnStr(p->Dirn), p->Nd()->FullObjTag(),p->iJoinArrayInx); } } Fxd=g->m_Dst.m_pFBJn->GetFixed(); dbgp("->%s[%s]%s", (Fxd?"{":" "), g->m_Dst.m_pNd->FullObjTag(),(Fxd?"}":" ")); dbgpln(""); }
CSurface3DPanel *CSurface3D::MRU_RemoveTail() { CSurface3DPanel *T=m_pMRUTail; #if dbgSurfaces if (dbg3DMRU()) dbgpln("MRU_RemoveTail:%-20s %08x %08x H:%08x T:%08x", Name(), T, T->m_pFrame, m_pMRUHead, m_pMRUTail); #endif if (m_pMRUTail) { m_nPanelCnt--; if (m_pMRUTail==m_pMRUHead) { m_pMRUHead=NULL; m_pMRUTail=NULL; } else { if (m_pMRUTail->m_pMRUNext) m_pMRUTail->m_pMRUNext->m_pMRUPrev=NULL; m_pMRUTail=m_pMRUTail->m_pMRUNext; } } #if dbgSurfaces if (dbg3DMRU()) dbgpln(" %-20s H:%08x T:%08x", "", m_pMRUHead, m_pMRUTail); #endif return T; };
flag CODESolver::StepSizeOK_2() { if (m_ErrMax <= 1.0) { if (m_ErrMax < GrowLimit) { // rIC.m_TimeIncNext = rIC.m_TimeInc*Grow; // rIC.m_TimeIncNext = rIC.m_TimeInc*Grow *Min(1.0+0.25*log(GrowLimit/GTZ(ErrMax)), 2.0); // rIC.m_TimeIncNext = rIC.m_TimeInc*Grow*Min(1.0+0.10*log(GrowLimit/GTZ(ErrMax)), 2.0); rIC.m_TimeIncNext = rIC.m_TimeInc*(1.0+0.10*log(GrowLimit/GTZ(m_ErrMax))); rIC.m_TimeIncNext = Min(rIC.m_TimeIncNext, Min(rIC.m_TimeInc*2.0, rIC.m_TimeIncMx)); #if dbgODESolve if (dbgStepsNext()) dbgpln("NextStep:Grow Err:%11.5g dT:%8.5f > %8.5f",m_ErrMax,rIC.m_TimeInc,rIC.m_TimeIncNext); #endif } else if (m_ErrMax > OKShrinkLimit) { // rIC.m_TimeIncNext = rIC.m_TimeInc*OKShrink; rIC.m_TimeIncNext = rIC.m_TimeInc*(1.0+(1.0-OKShrink)*(m_ErrMax - OKShrinkLimit)/(1.0 - OKShrinkLimit)); #if dbgODESolve if (dbgStepsNext()) dbgpln("NextStep:Shrink Err:%11.5g dT:%8.5f < %8.5f",m_ErrMax,rIC.m_TimeInc,rIC.m_TimeIncNext); #endif } else { rIC.m_TimeIncNext = rIC.m_TimeInc; #if dbgODESolve if (dbgStepsNext()) dbgpln("NextStep:Hold Err:%11.5g dT: %8.5f",m_ErrMax,rIC.m_TimeInc); #endif } CODEDataBlock ODB(this); ODB.Set(eStateAdvance, -1, CODEDataBlock::Correct2, pODEBase); return 1; } double ndt = rIC.m_TimeInc*BADShrink /(1.0+Min(0.25*log(m_ErrMax), 1.0)); #if dbgODESolve if (dbgStepsNext()) dbgpln("NextStep:Redo Err:%11.5g dT:%8.5f @ %8.5f",m_ErrMax,rIC.m_TimeInc,ndt); #endif rIC.m_TimeIncRestart = ndt; fStepSizeTooSmall = (rIC.m_TimeInc < rIC.m_TimeIncMn);//MINSTEPSIZE); return 0; }
void CSlotConnect::Dump(LPCSTR Hd) { dbgp("%sConn %s %s %s %10s %4i %10s ",//%4i Cd:%4i %08x %08x %s", Hd, m_bValid?"OK":" ", m_bIsGet?"Get":" ", m_bIsSet?"Set":" ", SrcDstString(m_eSrc), m_lSrcIndex, SrcDstString(m_eDst)); if (m_eDst==eCSD_CdBlk) dbgpln("Cd:%4i %08x %08x %s", m_lCdBlk, m_pCdBlk, m_pCdBlkVar, m_sTag); else dbgpln("%4i%22s%s", m_lDstIndex, "", m_sTag); for (int i=0; i<m_Delay.m_OnRise.GetCount(); i++) dbgpln(" Rise Delay %8.2f @ %5i msecs", m_Delay.m_OnRise[i].m_Value.dblVal, m_Delay.m_OnRise[i].m_dwTime); for (int i=0; i<m_Delay.m_OnFall.GetCount(); i++) dbgpln(" Fall Delay %8.2f @ %5i msecs", m_Delay.m_OnFall[i].m_Value.dblVal, m_Delay.m_OnFall[i].m_dwTime); }
void CSurface3DFrame::Initialise(CSurface3D * p3D, long Level, double MinX, double MaxX, long NDivsX, double MinY, double MaxY, long NDivsY) { m_bInitDone=true; m_p3D=p3D; m_iLevel=Level; m_eDivision=C3D_DivNone; m_nDivsX=NDivsX; m_dXMin=MinX; m_dXMax=MaxX; m_dDivWidthX=1; m_nDivsY=NDivsY; m_dYMin=MinY; m_dYMax=MaxY; m_dDivWidthY=1; m_dDivWidthX=(m_dXMax-m_dXMin)/NDivsX; m_dDivWidthY=(m_dYMax-m_dYMin)/NDivsY; m_Frames=NULL; m_pPanel=NULL; #if dbgSurfaces if (dbgInitialise()) dbgpln("I:%18.9f > %18.9f | %18.9f > %18.9f %s[Lvl:%2i] [Cnt:%6i Calls:%8i]", MinX,MaxX,MinY,MaxY, (LPCTSTR)m_p3D->m_sName, m_iLevel, m_p3D->m_nFrameCnt, m_p3D->m_nCalls); #endif };
bool CSurface3DPanel::CheckFit(CSurface3DFrame *pFrame) { const double Pos[][2]= { {0.50, 0.33}, {0.50, 0.67}, {0.33, 0.50}, {0.67, 0.50}, {-1,0} }; double err=0.0; for (int i=0; Pos[i][0]>=0.0; i++) { double Fx=Pos[i][0]; double Fy=Pos[i][1]; double X=pFrame->Map2X(Fx); double Y=pFrame->Map2Y(Fy); double FVal=ValueFxFy(Fx, Fy); double Val=pFrame->m_p3D->m_fnZ(X, Y); double e=FracErr(FVal, Val); err=Max(err, e); #if dbgSurfaces if (dbgInitialise()) dbgpln("e:%18.9f %18.9f = %18.9f\n" " %18.9f %18.9f = %18.9f [%18.9f]: %12.4e %12.4e", X,Y,Val,Fx,Fy,FVal,FVal-Val,e, err); #endif } return err<pFrame->m_p3D->m_FitTolerance;//1.0e-4; };
CSurface3DElement & CSurface3DElement::GetElement(long Ix, long Iy) { long i=Index(Ix, Iy); CSurface3DElement *E=m_Elements[i]; if (E==NULL) { m_r3D.m_nElementAllocs++; E=new CSurface3DElement(m_r3D, this, i, m_iLevel+1); m_Elements[i]=E; if (m_r3D.m_nMRULen>=m_r3D.m_nMRULenMax) { CSurface3DElement *pLast=m_r3D.MRU_RemoveTail(); if (pLast) { pLast->m_pParent->m_Elements[pLast->m_lIndex]=NULL; delete pLast; } } else { m_r3D.m_nMRULen++; } if (m_r3D.m_nElementAllocs%ALLOCDBGCNT==0 || (GetTickCount()-m_r3D.m_dwLastTicks>60000)) { m_r3D.m_dwLastTicks=GetTickCount(); dbgpln("Surface:%20s has %7i elements %7i allocs %5i MRULen", m_r3D.Name(), m_r3D.m_nElementCnt, m_r3D.m_nElementAllocs, m_r3D.m_nMRULen); } } if (E->m_Elements==NULL) m_r3D.MRU_Move2Head(E); return *E; }
bool CSurface3DElement::Initialise(double MinX, double MaxX, long NDivsX, double MinY, double MaxY, long NDivsY) { m_bInitDone=true; m_nDivsX=NDivsX; m_dMinimumX=MinX; m_dMaximumX=MaxX; m_dDivWidthX=1; m_nDivsY=NDivsY; m_dMinimumY=MinY; m_dMaximumY=MaxY; m_dDivWidthY=1; m_dDivWidthX=(m_dMaximumX-m_dMinimumX)/NDivsX; m_dDivWidthY=(m_dMaximumY-m_dMinimumY)/NDivsY; m_bFitDone=false; m_bFitOK=false; m_bLOK=false; m_bROK=false; m_bTOK=false; m_bBOK=false; #if dbgSurfaces if (dbgInitialise()) dbgpln("I:%18.9f > %18.9f | %18.9f > %18.9f %s[Lvl:%2i] [Cnt:%6i Calls:%8i]", MinX,MaxX,MinY,MaxY, (LPCTSTR)m_r3D.m_sName, m_iLevel, m_r3D.m_nElementCnt, m_r3D.m_nCalls); #endif RemoveElements(); return true; };
void HydroCyclone::EvalJoinFlows(int JoinNo) { double QmVIn = 0.0, QmSIn = 0.0; for (int i=0; i<NoFlwIOs() && IOId_Self(i)==ioidFeed ; i++) if (IO_In(i)) { pSpConduit p=IOConduit(i); QmVIn += p->QMass(som_Liq); QmSIn += p->QMass(som_Sol); } dbgpln("Hydrocyclone to be sorted out Liquids not done"); long Failed = 0; double Passing=0; int nIn1=IOWithId_Self(ioidFeed); if (nIn1 >= 0) { pSQSzDist1 pSz; pSz=SQSzDist1::Ptr(IOConduit(nIn1)->Model()); Ore2Grit=pSz->GritsFraction(PartCrv, 0.0, ByePass2Grits); GritFlowRatio=(Ore2Grit*QmSIn)/GTZ(QmVIn + (1.0-Ore2Grit)*QmSIn); Joins[0].SetQm_QmRatio(Max(1.0e-6, GritFlowRatio)); } };
void MRngChkMngr::Dump() { POSITION Pos=m_List.GetHeadPosition(); while (Pos) { MRngChkCntxt &C=*m_List.GetNext(Pos); //dbgpln("MRngChkMngr::Dump %4i %08x %i %s", m_Iter, this, C.m_Iter, C.RngChkTag()); if (C.m_Iter==m_Iter) { //dbgpln("RngChk %s:%s", C.RngChkTag()); POSITION PosI=C.m_List.GetHeadPosition(); while (PosI) { MRngChkItem &I=*C.m_List.GetNext(PosI); dbgp(" %-20s %08x", I.m_Key.m_sCntxt, &I); if (I.m_GTMax) dbgp(" %-20s %.4f > %.4f", I.m_Key.m_sName, I.m_Value, I.m_MaxValue); if (I.m_LTMin) dbgp(" %-20s %.4f < %.4f", I.m_Key.m_sName, I.m_Value, I.m_MinValue); dbgpln(""); } } } };
void CEvBlk::Skip(DWORD DeltaID) { DeltaID--; if (DeltaID<=0x1F) { pData[pTS->iLen++] = (TS_SKIP_0 | (byte)DeltaID); } else if (DeltaID<=0x1FFF) { pData[pTS->iLen++] = (TS_SKIP_1 | ((byte)DeltaID & 0x1F)); pData[pTS->iLen++] = (byte)_lrotr(DeltaID, 5); } else if (DeltaID<=0x1FFFFF) { pData[pTS->iLen++] = (TS_SKIP_2 | ((byte)DeltaID & 0x1F)); *((WORD*)&pData[pTS->iLen]) = (WORD)_lrotr(DeltaID, 5); pTS->iLen += 2; } else if (DeltaID<=0x1FFFFFFF) { *((DWORD*)&pData[pTS->iLen]) = (DWORD)_lrotr(DeltaID, 5); pData[pTS->iLen++] = (TS_SKIP_3 | ((byte)DeltaID & 0x1F)); pTS->iLen += 3; } else { dbgpln("DeltaID in historian %d is to large !!!!!", DeltaID); VERIFY(FALSE); } }
void CSubNetBlk::ShowSubNetsJ(CJoinRec * p, int dbgShowConns) { dbgp("%s%s ", p->VFlowAllowed(m_bFullFlow) ? "V":" ", p->LFlowAllowed(m_bFullFlow) ? "L":" "); dbgp("%02i ", p->m_pSubNet->m_SubNetNo); dbgp(" %s", JoinTypeStr(p->Typ)); // dbgp("%s", p->fIsImpNd ? "I":" "); // dbgp("%s", p->fIsAccLnk? "A":" "); dbgp(" %s",SgnStr(p->Dirn)); dbgp(" %s%s%s%s %s", (p->fLonely ? "L" : p->fUnDefined ? "U" : " "), (p->fIsolatedNet ? (p->fIsoNetRef ? "I" : " ") : p->fIsolatedNode ? "i" : " "), (p->fIsFixedXfer ? "X" : (p->fInFixedNet ? "F" : " ")), (p->fIsFixedExtern ? "x" : " "), (p->fHasXBstHere? "B" : " "), (p->fUDFShut ? "S" : " ")); switch(p->Typ) { case JTyp_Tie: case JTyp_ImpNd: case JTyp_AccLnk: dbgp(" P "); if (p->nProdFracs>=2) { dbgp(" pf[%i]",p->nProdFracs); for (int pf=0; pf<p->nProdFracs; pf++) dbgp(" [%s:%g]",p->Nd_Rmt(p->ProdFracs[pf].iConnNo)->FullObjTag(),p->ProdFracs[pf].dProdFrac); } break; default : dbgp(" ? "); break; } dbgpln(" %s%s(%i)", SgnStr(p->Dirn), p->Nd()->FullObjTag(),p->iJoinArrayInx); }
void CSurface3D::MRU_Remove(CSurface3DPanel * E) { #if dbgSurfaces if (dbg3DMRU()) dbgpln("MRU_Remove :%-20s %08x %08x H:%08x T:%08x", Name(), E, E->m_pFrame, m_pMRUHead, m_pMRUTail); #endif if (E==m_pMRUTail) { m_nPanelCnt--; if (E==m_pMRUHead) { m_pMRUHead=NULL; m_pMRUTail=NULL; } else { if (m_pMRUTail->m_pMRUNext) m_pMRUTail->m_pMRUNext->m_pMRUPrev=NULL; m_pMRUTail=m_pMRUTail->m_pMRUNext; } } else if (E==m_pMRUHead) { m_nPanelCnt--; if (m_pMRUHead->m_pMRUPrev) m_pMRUHead->m_pMRUPrev->m_pMRUNext=NULL; m_pMRUHead=m_pMRUHead->m_pMRUPrev; } else { CSurface3DPanel * P=E->m_pMRUPrev; CSurface3DPanel * N=E->m_pMRUNext; if (P) { ASSERT(N!=NULL); m_nPanelCnt--; if (P) P->m_pMRUNext=N; if (N) N->m_pMRUPrev=P; } } #if dbgSurfaces if (dbg3DMRU()) dbgpln(" %-20s H:%08x T:%08x", "", m_pMRUHead, m_pMRUTail); #endif }
double CEC_FinalConc::ExtentActual(double ProdMoles) { SpMArray NewMoles; NewMoles=RB.Moles; CR_EqnControl::ApplyChanges(ProdMoles, NewMoles); RB.AdjustForSrcSnks(NewMoles); double M=NewMoles[m_Spc.m_SpcId]; double MW=SDB[m_Spc.m_SpcId].MoleWt(); double V=RB.VolWithLockup(som_Liq, NewMoles, Valid(m_dRqdTemp)?m_dRqdTemp:RB.EstFinalT(), RB.m_Press); double C; if (m_Spc.m_ReactTerm>=0) { C=(M*MW)/GTZ(V); } else if (m_Spc.m_ProdTerm>=0) { C=(M*MW)/GTZ(V); } else C=0.0; if (0) { if (1) dbgp("FinalConc:Actual: Prod:%14.8g Act:%14.8f Rqd:%14.8f %10.4f %10.4f|", ProdMoles, C, ExtentReqd(), M, V); else dbgp("FinalConc:Actual: %14.8f %14.8f %10.4f %10.4f %10.4f %10.4f %10.4f %10.4f|", ProdMoles, C, ExtentReqd(), M, MW, V, Valid(m_dRqdTemp)?m_dRqdTemp:RB.EstFinalT(), RB.m_Press); for (int i=0; i<SVSpcCount();i++) if (RB.Moles[i]>0.0 || NewMoles[i]>0) dbgp(" %10.6f", RB.Moles[i]); dbgpln(""); if (1) dbgp(" %14s %14s %14s %10s %10s|", "", "", "", "", "", "", "", ""); else dbgp(" %14s %14s %10s %10s %10s %10s %10s %10s|", "", "", "", "", "", "", "", ""); for (int i=0; i<SVSpcCount();i++) if (RB.Moles[i]>0.0 || NewMoles[i]>0) dbgp(" %10.6f", NewMoles[i]); dbgpln(""); } return C; };
void MDebug::PrintLn(LPCSTR pFmt, ...) { char Buff[2048]; va_list argptr; va_start(argptr, pFmt); vsprintf(Buff, pFmt, argptr); va_end(argptr); dbgpln("%s", Buff); };
void MN_Xfer::DumpDerivs() { dbgpln("--Xfr %-12s", FullObjTag()); for (int i = 0; i < NoFlwIOs(); i++) if (IO_In(i)) dbgpln(" In >> :[%14.6g][%14.6g]|[%14.6g] %14.6g %14.3fC %s", IOConduit(i)->QMass(som_SL), IOConduit(i)->QMass(som_Gas) , IOConduit(i)->msHz(), IOConduit(i)->totHf()/GTZ(IOConduit(i)->QMass(som_ALL)), K2C(IOConduit(i)->Temp()), Nd_Rmt(i)->FullObjTag()); for (i = 0; i < NoFlwIOs(); i++) if (IO_Out(i)) dbgpln(" Out << :[%14.6g][%14.6g]|[%14.6g] %14.6g %14.3fC %s", IOConduit(i)->QMass(som_SL), IOConduit(i)->QMass(som_Gas) , IOConduit(i)->msHz(), IOConduit(i)->totHf()/GTZ(IOConduit(i)->QMass(som_ALL)), K2C(IOConduit(i)->Temp()), Nd_Rmt(i)->FullObjTag()); }
double CEC_FracExt::ExtentActual(double ProdMoles) { double EA=0; if (m_iXSpcId>=0) { if (RB.Version()==3) { double MolesUsed=0; if (m_iXReactTerm>=0) MolesUsed=Eq.m_dMlXfer*Eq.Reactant[m_iXReactTerm].NoOfMoles; else if (m_iXProdTerm>=0) MolesUsed=Eq.m_dMlXfer*Eq.Product[m_iXProdTerm].NoOfMoles; else { ASSERT_ALWAYS(0, "FracExt not setup", __FILE__, __LINE__); } if (RB.Moles_BS[m_iXSpcId]>=ZeroLimit) EA=MolesUsed/RB.Moles_BS[m_iXSpcId]; else EA=ExtentReqd(); } } if (0) { dbgp("Extent :Actual: Prod:%14.8g Act:%14.8f Rqd:%14.8f|", ProdMoles, EA, ExtentReqd()); //for (int i=0; i<SVSpcCount();i++) // if (RB.Moles[i]>0.0 || NewMoles[i]>0) // dbgp(" %10.6f", RB.Moles[i]); dbgpln(""); //dbgp(" %14s %14s %14s|", "", "", "", "", "", "", "", ""); //for (int i=0; i<SVSpcCount();i++) // if (RB.Moles[i]>0.0 || NewMoles[i]>0) // dbgp(" %10.6f", NewMoles[i]); //dbgpln(""); } if (0) { dbgp("FracExt:Actual: %10.4f %10.4f %10.4f ", ProdMoles, EA, ExtentReqd()); dbgpln(""); } return EA; };
/*#F:Outputs the vector contents (format acording to options) to the debug file.*/ void CIArray::dbgDump( pchar Desc, //Optional text description, default = '' flag Horizontal) //Optional, default = True { dbgp("%s:[%d]", Desc, GetSize()); if (Horizontal) { for (long i=0; i<Min(50,GetSize()); i++) dbgp("%11.3g ", m_pData[i]); if (GetSize()>5) dbgp("..."); dbgpln(""); } else { dbgpln(""); for (long i=0; i<GetSize(); i++) dbgpln("%4d: %11.3g", i, m_pData[i]); } }
void CLink::SendStateValue() { //dbgpln("SendDisplayValue %4i %s", m_lSlot, m_bVisible?"Visible":"Hidden"); //if (m_bVisible && gs_SlotMngr.m_bMonitorOn) { BOOL OK=theApp.PostThreadMessage(WMU_UPDATEONELINKSTATE, m_lLink, StateLong()); if (!OK) dbgpln("SendDisplayValue Failed %4i", m_lLink); } }
void MRngChkCntxt::AddRngChkMsg(LPCSTR Name, TaggedObject * pSrc, LPCSTR Msg) { MRngChkItem * pItem = FindItem(Name, pSrc->FullObjTag()); bool IsNew = pItem->m_Iter != gs_RngChecks.m_Iter; if (IsNew) { pItem->m_iCnv = 0; pItem->m_IsMsg = true; pItem->m_LTMin = false; pItem->m_GTMax = false; pItem->m_Iter = gs_RngChecks.m_Iter; pItem->m_sMsg = Msg; if (m_Iter!=gs_RngChecks.m_Iter) { if (m_pObject) { m_pObject->ClrCI(1); for (int i=0; i<m_ValidCount; i++) m_pObject->ClrCI(FirstRngChkCI+i); } m_ValidCount = 1; } else m_ValidCount++; m_Iter=gs_RngChecks.m_Iter; if (m_pObject) { if (sm_iCndRngChks>=CRC_Basic) { m_pObject->SetCI(1); if (sm_iCndRngChks>=CRC_All) { if (IsNew && m_ValidCount<=MaxRngChksPerNode) { pItem->FormatDisplay(0); Strng S; S.Set("Wr\t %s", pItem->m_sDisplay); m_pObject->SetCI(FirstRngChkCI+m_ValidCount-1, "%s", S); } } } } dbgpln("MRngChkMngr::AddRngChkMsg() %4i %08x %-30s %-20s %-20s %s", m_Iter, this, pItem->m_Key.m_sCntxt, pItem->m_Key.m_sName, Name, Msg); } };
void CLink::SendDisplayValue() { //dbgpln("CLink::SendDisplayValue %4i %s", m_lLink, m_bVisible?"Visible":"Hidden"); if (m_bVisible && gs_SlotMngr.m_bMonitorOn) { BOOL OK=theApp.PostThreadMessage(WMU_UPDATEONELINK, m_lLink, (long)new CLinkValue(*this)); if (!OK) dbgpln("SendDisplayValue Failed %4i", m_lLink); } }
void CBlockEvaluator::AddBlk(CBlockEvalBase *p, int DefSeqNo) { if (p) { p->m_pBlkStateSemantics=this; p->SetOnOffValLst(p->StateSemanticsOn() ? &m_OnOffStateValLst : &m_OnOffValLst); p->SetDefBlkSeqNo(DefSeqNo); m_Blks[m_nBlocks++]=p; if (0) dbgpln("AddBlk %3i %s %s", m_nBlocks, p->StateSemanticsOn()?"On":" ", m_pNd->FullObjTag()); } };
void CMyServer::Status(const char* pszFormat, ...) { #if dbgDde if (dbgDDE()) { char buf[2048]; va_list arglist; va_start(arglist, pszFormat); vsprintf(buf, pszFormat, arglist); va_end(arglist); dbgpln("DDE:%s", buf); } #endif }
flag CDdeExec::EO_WriteSubsData(CXMsgLst &XM, flag FirstBlock, flag LastBlock) { //dbgp("SubsData:Wrt "); while (XM.MsgAvail()) { CXM_ObjectData *pX = XM.ObjectData(); CPkDataItem * pPItem = pX->FirstItem(); int iIndex = pX->Index; Dde.Lock(); if (iIndex<SubsData.GetSize()) { CDdeAdviseBlk *p = SubsData[iIndex]; //dbgp(" %i", iIndex); //if (p->pItem && pPItem->Value() && IsData(pPItem->Value()->Type())) if (p->pItem && pPItem->Contains(PDI_Value) && IsData(pPItem->Value()->Type())) { //dbgp(" %s", (LPCTSTR)p->pItem->m_strName); // Fetch On First Pass //if (pPItem->Contains(PDI_CnvInfo) && p->sCnvTxt.Length() > 0) CCnvIndex iCnv = p->pItem->iCnvIndex; if (p->sCnvTxt.Length()>0 && (iCnv)==0) p->sValue.Set("#Conversion not expected"); else { if (p->sCnvTxt() && Cnvs[iCnv]->Find(p->sCnvTxt())==NULL) p->sValue.Set("#Unknown conversion '%s's", p->sCnvTxt()); else p->sValue = pPItem->Value()->GetString("%i", "%g", iCnv, p->sCnvTxt()); } StatsCnt[0]++; PostThreadMessage(dwThreadId, wm_SyscadDdeCommand, MAKEWPARAM(DDE_POSTADVISE, (WORD)iIndex), (LPARAM)p); } else { dbgp("Skipping DDE Data subscription change"); if (p->pItem) dbgp(" %s", (LPCTSTR)p->pItem->m_strName); dbgpln(""); } } Dde.Release(); } //dbgpln(""); CScdDDEManager::pTheMngr->UpdateStatusWnd((WPARAM)SUB_UPDATE_EOWRITE); return True; }
void CBlockEvaluator::RemBlk(CBlockEvalBase *p) { if (p) { for (int i=0; i<m_nBlocks; i++) { if (m_Blks[i]==p) { m_nBlocks--; for (int j=i; j<m_nBlocks; j++) m_Blks[j]=m_Blks[j+1]; if (0) dbgpln("RemBlk %3i %s", m_nBlocks, m_pNd->FullObjTag()); break; } } } }
double CEC_MLFinalFrac::ExtentActual(double ProdMoles) { SpMArray NewMoles; NewMoles=RB.Moles; CR_EqnControl::ApplyChanges(ProdMoles, NewMoles); RB.AdjustForSrcSnks(NewMoles); double F; if (m_Spc.m_ReactTerm>=0 || m_Spc.m_ProdTerm>=0) F=(NewMoles[m_Spc.m_SpcId])/GTZ(NewMoles.Mass(m_AsTotal ? som_ALL : SDB[m_Spc.m_SpcId].m_OccMsk)); else F=0.0; if (0) dbgpln("FinalPhaseFrac:Actual: %14.8f %14.8f |", ProdMoles, F, ExtentReqd()); return F; };