Exemplo n.º 1
0
        /// <summary>
        /// Measure Ntot content inside a digester
        ///
        /// type 5
        /// </summary>
        /// <param name="myPlant"></param>
        /// <param name="x">ADM state vector</param>
        /// <param name="param">not used - but OK</param>
        /// <param name="par">not used</param>
        /// <returns></returns>
        override protected physValue[] doMeasurement(biogas.plant myPlant, double[] x,
                                                     string param, params double[] par)
        {
            physValue[] values = new physValue[1];

            //
            // -1 sowieso, -2 wegen _2 bzw. _3
            string digester_id = id.Substring(("Ntot_").Length, id.Length - 2 - ("Ntot_").Length);

            // kmol N/m^3
            double Ntot = ADMstate.calcNtot(x, digester_id, myPlant);

            //
            // erstmal N nennen, damit convertUnit funktioniert
            values[0]        = new physValue("N", Ntot, "mol/l", "total nitrogen");
            values[0]        = values[0].convertUnit("g/l");
            values[0].Symbol = "Ntot";

            //

            return(values);
        }