Example #1
0
	void CSeperator_EfficiencyCurve::BuildDataFields(MDataDefn &DB)
	
	{ 
     DB.ObjectBegin("TS_EffCurve", "EffCurve");


	 DB.Text("Efficiency Curve");
	 //DB.StructBegin("TS_Top", "Top" );
	 DB.StructBegin("Top");
	 DB.Double("Alpha"			, "", &m_dTopAlpha	       , MF_PARAMETER ,  MC_None);
	 DB.Double("Beta"			, "", &m_dTopBeta	       , MF_PARAMETER ,  MC_None);
	 DB.Double("BetaStar"		, "", &m_dTopBetaStar	   , MF_RESULT ,  MC_None);
	 DB.Double("D50"			, "", &m_dTopD50	       , MF_PARAMETER ,  MC_L("mm"));
	 DB.Double("C"				, "", &m_dTopC			   , MF_PARAMETER ,  MC_None);
	 DB.Double("WaterSplitToUS"	, "", &m_dTopWaterSplitToUS, MF_PARAMETER ,  MC_Frac("%"));
	 DB.StructEnd();

	 //DB.StructBegin("TS_Bottom", "Bottom" );
 	 DB.StructBegin("Bottom" );
	 DB.Double("Alpha"			, "", &m_dBottomAlpha	       , MF_PARAMETER ,  MC_None);
	 DB.Double("Beta"			, "", &m_dBottomBeta	       , MF_PARAMETER ,  MC_None);
	 DB.Double("BetaStar"		, "", &m_dBottomBetaStar	   , MF_RESULT ,     MC_None);
	 DB.Double("D50"			    , "", &m_dBottomD50		   , MF_PARAMETER ,  MC_L("mm"));
	 DB.Double("C"				, "", &m_dBottomC			   , MF_PARAMETER ,  MC_None);
	 DB.Double("WaterSplitToUS"	, "", &m_dBottomWaterSplitToUS , MF_PARAMETER ,  MC_Frac("%"));
	 DB.StructEnd();

	//
	// Outputs
	//
	DB.Page("Top Deck Partition");
    CString Tg;
    for (int i=(m_TopEu.GetSize()-1); i>=0; i--)
    {
      Tg.Format("Top.I%02d", i);
      DB.Double((char*)(const char*)Tg, "", &m_TopEu[i], MF_RESULT, MC_Frac("%"));
    }
    DB.Page("Bottom Deck Partition");
    for (int i=(m_BottomEu.GetSize()-1); i>=0; i--)
    {
      Tg.Format("Bottom.I%02d", i);
      DB.Double((char*)(const char*)Tg, "", &m_BottomEu[i], MF_RESULT, MC_Frac("%"));
    }
	DB.ObjectEnd();

	}
Example #2
0
void CLimnStream::BuildDataFields()
  { 
  //DD.Double();
  DD.Page("Limn", false);
  DD.Text("");
  if (Usage==SPMU_Flow)
    {
    DD.Text("Calculated Values ...");

    DD.Double("OreSolidsFlow",                   "", idx_OreSolidsFlow      , MF_RESULT, MC_Qm("t/h")); 
    DD.Double(gs_DWCfg.PassSizePercentsText(0),  "", idx_PassingSize0       , MF_RESULT, MC_L("mm")); 
    DD.Double(gs_DWCfg.PassSizePercentsText(1),  "", idx_PassingSize1       , MF_RESULT, MC_L("mm")); 
    DD.Double(gs_DWCfg.PassSizePercentsText(2),  "", idx_PassingSize2       , MF_RESULT, MC_L("mm")); 
    DD.Double("MeanSG",                          "", idx_MeanSG             , MF_RESULT, MC_Rho("t/m^3")); 
    DD.Double("MeanSize",                        "", idx_MeanSize           , MF_RESULT, MC_L("mm")); 
    DD.Double("WaterFlow",                       "", idx_WaterFlow          , MF_RESULT, MC_Qm("t/h")); 
    DD.Double("SolidsFrac",                      "", idx_SolidsFrac         , MF_RESULT, MC_Frac("%")); 
    DD.Double("PulpSG",                          "", idx_PulpSG             , MF_RESULT, MC_Rho("t/m^3")); 
    DD.Double("FeSiFlow",                        "", idx_FeSiFlow           , MF_RESULT, MC_Qm("t/h")); 
    DD.Double("DiamondFlow",                     "", idx_DiamondFlow        , MF_RESULT, MC_Qm("Carat/h")); 
    DD.Double("DiamondAssay",                    "", idx_DiamondAssay       , MF_RESULT, MC_Assay("Carat/100t")); 
    DD.Double("LiberatedFlow",                   "", idx_LiberatedFlow      , MF_RESULT, MC_Qm("Carat/h")); 
    DD.Double("RelativeDiamonds",                "", idx_RelativeDiamonds   , MF_RESULT, MC_Frac("%")); 
    DD.Double("LiberatedFraction",               "", idx_LiberatedFraction  , MF_RESULT, MC_Frac("%")); 
    DD.Double("RelativeRevenue",                 "", idx_RelativeRevenue    , MF_RESULT, MC_Frac("%")); 
    DD.Double("Revenue",                         "", idx_Revenue            , MF_RESULT, MC_MoneyFlow("R/h")); 
    DD.CheckBox("MarkAsBase",                    "", idx_BaseMark           , MF_PARAMETER); 
    DD.String("BaseTag",                         "", idx_BaseTag            , MF_RESULT); 

    DD.Double("BaseDiamondFlow",                 "", idx_BaseDiamondFlow    , MF_RESULT, MC_Qm("Carat/h")); 
    DD.Double("BaseRevenue",                     "", idx_BaseRevenue        , MF_RESULT, MC_MoneyFlow("R/h")); 

    }    
  //Relative Carats
  //% Liberated  
  //Relative Revenue  
  //Rand / hr  



  if (Usage==SPMU_Flow)
    {
    DD.Text("");
    DD.Text("Copy to Clipboard ...");
    DD.Button("Summary",                  "", idx_CopySummary);
    DD.Button("Data as Mass",             "", idx_CopyMass);
    DD.Button("Data as Fractional",       "", idx_CopyFractional);
    }

  if (Usage==SPMU_Image)
    {
    DD.Text("");
    DD.Text("Options ...");
    DD.CheckBox("Calculator",             "",  idx_Calculate, MF_PARAMETER|MF_SET_ON_CHANGE);
    if (m_bCalculate && m_pFeed)
      {
      static MDDValueLst DDSource[]=
        {
          {0,  "CSV"},
          {1,  "XLS"},
          {0}
        };

      DD.Long("Source",     "",  idx_Source, MF_PARAMETER, DDSource);
      DD.String("SrcName",  "",  idx_SrcName, MF_PARAMETER);
      DD.Button("SrcLoad",  "",  idx_SrcLoad, MF_PARAMETER);

      DD.Page("...", true);
      DD.ObjectBegin("LimnDW_Fd",  "OreSizeFeed",  gs_DWCfg.nOreSizes()       );
      CString Tg;
      for (int i=0; i<gs_DWCfg.nOreSizes(); i++)
        {
        Tg.Format("Ore%s",gs_DWCfg.OreSizeText(i));
        DD.Double(Tg, "", &m_pFeed->m_OreSizeFeed[i], gs_DWCfg.nOreSizes()-1?MF_PARAMETER:0, MC_Frac("%"));
        }
      DD.ObjectEnd();
      DD.ObjectBegin("LimnDW_Fd",  "DmdSizeFeed",  gs_DWCfg.nDiamondSizes()   );
      for (int i=0; i<gs_DWCfg.nDiamondSizes(); i++)
        {
        Tg.Format("Dmd%s",gs_DWCfg.DiamondSizeText(i));
        DD.Double(Tg, "", &m_pFeed->m_DmdSizeFeed[i], i<gs_DWCfg.nDiamondSizes()-1?MF_PARAMETER:0, MC_Frac("%"));
        }
      DD.ObjectEnd();
      DD.ObjectBegin("LimnDW_Fd",  "DmdSGFeed",    gs_DWCfg.nSGs()            );
      for (int i=0; i<gs_DWCfg.nSGs(); i++)
        {
        Tg.Format("SG-%s",gs_DWCfg.SGTextShort(i));
        DD.Double(Tg, "", &m_pFeed->m_DmdSGFeed[i], i<gs_DWCfg.nSGs()-1?MF_PARAMETER:0, MC_Frac("%"));
        }
      DD.ObjectEnd();
      }
    }
  };