/// <summary> /// calc methane yield [m^3 CH4 / kgVS] /// /// http://www.bioconverter.com/technology/primer.htm#Methane%20Yield%20%28m3%20CH4%20/%20kg%20VS%20added%29 /// /// if methane yield is high, everything is ok, if it is too low /// maybe decrease substrate feed, digester could be overburdened /// /// </summary> /// <param name="x">ADM state vector</param> /// <param name="pQ">Q : m^3/d : total feed into the digester</param> /// <param name="pVS">VS : % TS : volatile solids content of feed</param> /// <param name="pTS">TS : % FM : total solids content of feed</param> /// <param name="prho">rho : kg/m^3 : density of feed</param> /// <returns></returns> public physValue calcCH4Yield(double[] x, physValue pQ, physValue pVS, physValue pTS, physValue prho) { physValue Qgas_h2, Qgas_ch4; ADMstate.calcBiogasOfADMstate(x, Vliq, T, out Qgas_h2, out Qgas_ch4); physValue Q = pQ.convertUnit("m^3/d"); physValue VS = pVS.convertUnit("% TS"); physValue TS = pTS.convertUnit("% FM"); physValue rho = prho.convertUnit("kg/m^3"); VS = substrate.convertFrom_TS_To_FM(VS, TS); // VS [% FM] * [100 % / % FM] * m^3/d * kg/m^3 = VS kg/d physValue VS_kg = VS.convertUnit("100 %") * Q * rho; if (VS_kg.Value == 0) { return(new physValue(0, "m^3/kg")); } // m^3/d / kgVS/d= m^3/kgVS // Einheit ist: m^3/kg physValue CH4Yield = Qgas_ch4 / VS_kg; return(CH4Yield); }
/// <summary> /// calc methane production rate [m^3/m^3/day] /// /// http://www.bioconverter.com/technology/primer.htm#Methane%20Production%20Rate /// /// http://www.bioconverter.com/technology/primer.htm#Methane%20Production%20Rate%20%28m3/m3-day%29 /// /// </summary> /// <param name="x">ADM state vector</param> /// <returns></returns> public physValue calcCH4ProductionRate(double[] x) { physValue Qgas_h2, Qgas_ch4; ADMstate.calcBiogasOfADMstate(x, Vliq, T, out Qgas_h2, out Qgas_ch4); Qgas_ch4 = Qgas_ch4.convertUnit("m^3/d"); _Vliq = Vliq.convertUnit("m^3"); if (Vliq.Value == 0) { return(new physValue(0, "1/d")); } // m^3/d/m^3= 1/d physValue CH4ProductionRate = Qgas_ch4 / Vliq; return(CH4ProductionRate); }