/// <summary> /// Returns true if myDigesters contains the given id /// </summary> /// <param name="myDigesters"></param> /// <param name="id">digester id</param> /// <returns>true if myDigesters contains id, else false</returns> public static bool contains(digesters myDigesters, string id) { foreach (digester myDigester in myDigesters) { if (myDigester.id == id) { return(true); } } return(false); }
/// <summary> /// TODO!!! /// /// Verstehe die funktion nicht, da x von einem Fermenter kommt, aber ich über anzahl fermenter /// in Anlage iteriere. komisch! /// </summary> /// <param name="x"></param> /// <param name="Digesters"></param> /// <param name="Qgas_h2"></param> /// <param name="Qgas_ch4"></param> /// <param name="Qgas_co2"></param> /// <param name="Qgas"></param> public static void calcBiogasCompositionOfADMstate(double[] x, digesters Digesters, out physValue[] Qgas_h2, out physValue[] Qgas_ch4, out physValue[] Qgas_co2, out physValue[] Qgas) { // number of digesters int n_digester = Digesters.Count; // TODO: geht so nicht, Qgas muss ein 2dim array sein, das beliebig viele gase und nicht // nur die 3 enthalten kann Qgas_h2 = new physValue[n_digester]; Qgas_ch4 = new physValue[n_digester]; Qgas_co2 = new physValue[n_digester]; Qgas = new physValue[n_digester]; // int idigester = 0; foreach (digester Digester in Digesters) { physValue Vliq = Digester.Vliq; physValue T = Digester.T; // calcBiogasOfADMstate(x, Vliq, T, out Qgas_h2[idigester], out Qgas_ch4[idigester], out Qgas_co2[idigester], out Qgas[idigester]); // normalize // TODO - es gibt auch methoden in der BioGas klasse if (Qgas[idigester].Value != 0) { Qgas_h2[idigester] = Qgas_h2[idigester] / Qgas[idigester]; Qgas_ch4[idigester] = Qgas_ch4[idigester] / Qgas[idigester]; Qgas_co2[idigester] = Qgas_co2[idigester] / Qgas[idigester]; } // convert from "100 %" to "%" Qgas_h2[idigester] = Qgas_h2[idigester].convertUnit("%"); Qgas_ch4[idigester] = Qgas_ch4[idigester].convertUnit("%"); Qgas_co2[idigester] = Qgas_co2[idigester].convertUnit("%"); // idigester++; } }