Ejemplo n.º 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();

	}
Ejemplo n.º 2
0
	mi_A[6] =	0.066;
	mi_A[7] =   0.053;
	mi_A[8] =   0.043;
	mi_A[9] =   0.035;
	mi_A[10] =  0.028;
	mi_A[11] =  0.022;
	mi_A[12] =  0.018;
	mi_A[13] =  0.015;
	mi_A[14] =  0.012;
	mi_A[15] =  0.01;
	mi_A[16] =  0.008;
	mi_A[17] =  0.006;
	mi_A[18] =  0.004;
	mi_A[19] =  0.003;
	mi_A[20] =  0.002;
	mi_A[21] =  0.0015;
	mi_A[22] =  0.0010;
	mi_A[23] =  0.0005;

	}

//====================================================================================

	void CMill_Ball::BuildDataFields(MDataDefn &DB)
	
	{ 
    DB.ObjectBegin("TS_Ball", "Ball");
	DB.Page("Ball Mill Parameters");
	DB.Text("Simulated Mill");
	// NUMBER OF PARALLEL MILLS
    DB.Long("NMills",        "", &mi_NParrallelMills , MF_PARAMETER );	

	//DIAMETER (INSIDE LINERS, METRES) OF MILL BEING SIMULATED.
    DB.Double("Dsim",        "", &mi_DiameterSim	, MF_PARAMETER ,  MC_L);

	// LENGTH (INSIDE LINERS, METRES) OF MILL BEING SIMULATED.
    DB.Double("Lsim",        "", &mi_LengthSim	, MF_PARAMETER ,  MC_L);

	// FRACTION CRITICAL SPEED OF MILL BEING SIMULATED.
    DB.Double("CSsim",        "", &mi_FracCriticalSpeedSim	, MF_PARAMETER ,  MC_Frac);

	// LOAD FRACTION (SEE ABOVE) OF MILL BEING SIMULATED.
    DB.Double("LFsim",        "", &mi_FracLoadSim	, MF_PARAMETER ,  MC_Frac);

	// WORK INDEX OF ORE FED TO MILL BEING SIMULATED.
    DB.Double("WIsim",        "", & mi_WorkIndexSim	, MF_PARAMETER , MC_WI ); // Units??

	//  Simulated Mill Ball Top Size
    DB.Double("BallSizesim",  "", & mi_BallTopSizeSim	, MF_PARAMETER ,  MC_L );


	// MODEL PARAMETERS
	//  ~~~~~~~~~~~~~~~~
	DB.Text("Original Mill");
	// MILL DIAMETER (INSIDE LINERS, METRES) OF MILL FROM
	//         WHICH MODEL PARAMETERS ARE DERIVED.
    DB.Double("Dfit",        "", &mi_DiameterDerived	, MF_PARAMETER ,  MC_L);

	// FRACTION OF CRITICAL SPEED OF MILL FROM WHICH MODEL
	//                 PARAMETERS ARE DERIVED.
    DB.Double("CSfit",        "", &mi_FracCriticalSpeedDerived	, MF_PARAMETER ,  MC_Frac);

	// LOAD FRACTION (I.E. FRACTION OF MILL OCCUPIED BY
	//         STATIONARY LOAD, INCLUDING VOIDS) OF MILL FROM
	//         WHICH MODEL PARAMETERS ARE DERIVED.
    DB.Double("LFfit",        "", &mi_FracLoadDerived	, MF_PARAMETER ,  MC_Frac);

	//  ORE WORK INDEX OF MILL FROM WHICH MODEL PARAMETERS ARE
	//                 DERIVED.
    DB.Double("WIfit",        "", & mi_WorkIndexDerived	, MF_PARAMETER , MC_WI); // Units??

    DB.Double("BreakageRateFactor",        "", & mi_K	, MF_PARAMETER );


	//  Mill Ball Top Size
    DB.Double("BallSizefit",  "", & mi_BallTopSizeDerived	, MF_PARAMETER ,  MC_L );

	DB.Page("Rate/Discharge Function");
    DB.Long("NSplineKnots",  "", &mi_NumSplineKnots , MF_PARAMETER );	
	if (mi_NumSplineKnots<3) mi_NumSplineKnots = 3;
	if (mi_NumSplineKnots > 30) mi_NumSplineKnots = 30;
	DB.Text("Size - Enter in units of um");
	DB.Text("Size");
	for (int i = 0; i < (mi_NumSplineKnots+1); i++)
	{
		char buff[20];
		sprintf(buff,"K%d_Size",i);
		DB.Double( buff ,  "", &mi_KnotSize[i]	, MF_PARAMETER ,  MC_L );
	}
	DB.Text("Ln R/D* (meas)");
	for (int i = 0; i < (mi_NumSplineKnots+1); i++)
	{
		char buff[20];
		sprintf(buff,"K%d_LnRDm",i);
		DB.Double( buff ,  "", &mi_KnotLnRDStar[i]	, MF_PARAMETER );

	}
	DB.Text("Ln R/D* (calc)");
	for (int i = 0; i < (mi_NumSplineKnots+1); i++)
	{
		char buff[20];
		sprintf(buff,"K%d_LnRDc",i);
		DB.Double( buff ,  "", &mo_KnotLnRDStar[i]	, MF_RESULT );
	}

	DB.Page("Appearance Data");
	for (int i = 0; i < 31; i++)
	{
		char buff[20];
		sprintf(buff,"A%d",i);