/// <summary> /// Returns the hashcode for this instance. /// </summary> /// /// <returns>A 32-bit signed integer hash code.</returns> /// public override int GetHashCode( ) { return (V00.GetHashCode( ) + V01.GetHashCode( ) + V02.GetHashCode( ) + V10.GetHashCode( ) + V11.GetHashCode( ) + V12.GetHashCode( ) + V20.GetHashCode( ) + V21.GetHashCode( ) + V22.GetHashCode( )); }
public override byte[] Serialize() { List <byte> s = new List <byte>(); // serialize V0 s.Add((byte)((V0 == null) ? 0 : 1)); if (V0 != null) { s.AddRange(BitConverter.GetBytes((bool)V0)); } // serialize V1 s.Add((byte)((V1 == null) ? 0 : 1)); if (V1 != null) { s.AddRange(BitConverter.GetBytes((char)V1)); } // serialize V2 s.Add((byte)((V2 == null) ? 0 : 1)); if (V2 != null) { s.Add((byte)V2); } // serialize V3 s.Add((byte)((V3 == null) ? 0 : 1)); if (V3 != null) { s.Add((byte)V3); } // serialize V4 s.Add((byte)((V4 == null) ? 0 : 1)); if (V4 != null) { s.AddRange(BitConverter.GetBytes((short)V4)); } // serialize V5 s.Add((byte)((V5 == null) ? 0 : 1)); if (V5 != null) { s.AddRange(BitConverter.GetBytes((ushort)V5)); } // serialize V6 s.Add((byte)((V6 == null) ? 0 : 1)); if (V6 != null) { s.AddRange(BitConverter.GetBytes((int)V6)); } // serialize V7 s.Add((byte)((V7 == null) ? 0 : 1)); if (V7 != null) { s.AddRange(BitConverter.GetBytes((uint)V7)); } // serialize V8 s.Add((byte)((V8 == null) ? 0 : 1)); if (V8 != null) { s.AddRange(BitConverter.GetBytes((long)V8)); } // serialize V9 s.Add((byte)((V9 == null) ? 0 : 1)); if (V9 != null) { s.AddRange(BitConverter.GetBytes((ulong)V9)); } // serialize V10 s.Add((byte)((V10 == null) ? 0 : 1)); if (V10 != null) { s.AddRange(BitConverter.GetBytes((float)V10)); } // serialize V11 s.Add((byte)((V11 == null) ? 0 : 1)); if (V11 != null) { s.AddRange(BitConverter.GetBytes((double)V11)); } // serialize V12 s.Add((byte)((V12 == null) ? 0 : 1)); if (V12 != null) { List <byte> tmp15 = new List <byte>(); tmp15.AddRange(BitConverter.GetBytes((uint)V12.Count())); while (tmp15.Count > 0 && tmp15.Last() == 0) { tmp15.RemoveAt(tmp15.Count - 1); } s.Add((byte)tmp15.Count); s.AddRange(tmp15); s.AddRange(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(V12)); } // serialize V13 s.Add((byte)((V13 == null) ? 0 : 1)); if (V13 != null) { s.Add((byte)((sbyte)V13)); } // serialize V14 s.Add((byte)((V14 == null) ? 0 : 1)); if (V14 != null) { s.AddRange(V14.Serialize()); } // serialize V15 s.Add((byte)((V15 == null) ? 0 : 1)); if (V15 != null) { List <byte> tmp16 = new List <byte>(); tmp16.AddRange(BitConverter.GetBytes((uint)V15.Count())); while (tmp16.Count > 0 && tmp16.Last() == 0) { tmp16.RemoveAt(tmp16.Count - 1); } s.Add((byte)tmp16.Count); s.AddRange(tmp16); foreach (var tmp17 in V15) { s.Add((byte)((tmp17 == null) ? 0 : 1)); if (tmp17 != null) { s.AddRange(BitConverter.GetBytes((int)tmp17)); } } } // serialize V16 s.Add((byte)((V16 == null) ? 0 : 1)); if (V16 != null) { List <byte> tmp18 = new List <byte>(); tmp18.AddRange(BitConverter.GetBytes((uint)V16.Count())); while (tmp18.Count > 0 && tmp18.Last() == 0) { tmp18.RemoveAt(tmp18.Count - 1); } s.Add((byte)tmp18.Count); s.AddRange(tmp18); foreach (var tmp19 in V16) { s.Add((byte)((tmp19 == null) ? 0 : 1)); if (tmp19 != null) { List <byte> tmp20 = new List <byte>(); tmp20.AddRange(BitConverter.GetBytes((uint)tmp19.Count())); while (tmp20.Count > 0 && tmp20.Last() == 0) { tmp20.RemoveAt(tmp20.Count - 1); } s.Add((byte)tmp20.Count); s.AddRange(tmp20); foreach (var tmp21 in tmp19) { s.Add((byte)((tmp21 == null) ? 0 : 1)); if (tmp21 != null) { s.AddRange(BitConverter.GetBytes((char)tmp21)); } } } } } // serialize V17 s.Add((byte)((V17 == null) ? 0 : 1)); if (V17 != null) { List <byte> tmp22 = new List <byte>(); tmp22.AddRange(BitConverter.GetBytes((uint)V17.Count())); while (tmp22.Count > 0 && tmp22.Last() == 0) { tmp22.RemoveAt(tmp22.Count - 1); } s.Add((byte)tmp22.Count); s.AddRange(tmp22); foreach (var tmp23 in V17) { s.Add((byte)((tmp23.Key == null) ? 0 : 1)); if (tmp23.Key != null) { List <byte> tmp24 = new List <byte>(); tmp24.AddRange(BitConverter.GetBytes((uint)tmp23.Key.Count())); while (tmp24.Count > 0 && tmp24.Last() == 0) { tmp24.RemoveAt(tmp24.Count - 1); } s.Add((byte)tmp24.Count); s.AddRange(tmp24); s.AddRange(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(tmp23.Key)); } s.Add((byte)((tmp23.Value == null) ? 0 : 1)); if (tmp23.Value != null) { s.AddRange(BitConverter.GetBytes((int)tmp23.Value)); } } } // serialize V18 s.Add((byte)((V18 == null) ? 0 : 1)); if (V18 != null) { List <byte> tmp25 = new List <byte>(); tmp25.AddRange(BitConverter.GetBytes((uint)V18.Count())); while (tmp25.Count > 0 && tmp25.Last() == 0) { tmp25.RemoveAt(tmp25.Count - 1); } s.Add((byte)tmp25.Count); s.AddRange(tmp25); foreach (var tmp26 in V18) { s.Add((byte)((tmp26.Key == null) ? 0 : 1)); if (tmp26.Key != null) { s.AddRange(BitConverter.GetBytes((char)tmp26.Key)); } s.Add((byte)((tmp26.Value == null) ? 0 : 1)); if (tmp26.Value != null) { List <byte> tmp27 = new List <byte>(); tmp27.AddRange(BitConverter.GetBytes((uint)tmp26.Value.Count())); while (tmp27.Count > 0 && tmp27.Last() == 0) { tmp27.RemoveAt(tmp27.Count - 1); } s.Add((byte)tmp27.Count); s.AddRange(tmp27); foreach (var tmp28 in tmp26.Value) { s.Add((byte)((tmp28 == null) ? 0 : 1)); if (tmp28 != null) { List <byte> tmp29 = new List <byte>(); tmp29.AddRange(BitConverter.GetBytes((uint)tmp28.Count())); while (tmp29.Count > 0 && tmp29.Last() == 0) { tmp29.RemoveAt(tmp29.Count - 1); } s.Add((byte)tmp29.Count); s.AddRange(tmp29); foreach (var tmp30 in tmp28) { s.Add((byte)((tmp30.Key == null) ? 0 : 1)); if (tmp30.Key != null) { s.AddRange(BitConverter.GetBytes((double)tmp30.Key)); } s.Add((byte)((tmp30.Value == null) ? 0 : 1)); if (tmp30.Value != null) { s.Add((byte)((sbyte)tmp30.Value)); } } } } } } } // serialize V19 s.Add((byte)((V19 == null) ? 0 : 1)); if (V19 != null) { for (uint tmp31 = 0; tmp31 < 10; tmp31++) { s.Add((byte)((V19[tmp31] == null) ? 0 : 1)); if (V19[tmp31] != null) { s.Add((byte)V19[tmp31]); } } } // serialize V20 s.Add((byte)((V20 == null) ? 0 : 1)); if (V20 != null) { for (uint tmp32 = 0; tmp32 < 10; tmp32++) { for (uint tmp33 = 0; tmp33 < 20; tmp33++) { s.Add((byte)((V20[tmp32, tmp33] == null) ? 0 : 1)); if (V20[tmp32, tmp33] != null) { List <byte> tmp34 = new List <byte>(); tmp34.AddRange(BitConverter.GetBytes((uint)V20[tmp32, tmp33].Count())); while (tmp34.Count > 0 && tmp34.Last() == 0) { tmp34.RemoveAt(tmp34.Count - 1); } s.Add((byte)tmp34.Count); s.AddRange(tmp34); foreach (var tmp35 in V20[tmp32, tmp33]) { s.Add((byte)((tmp35 == null) ? 0 : 1)); if (tmp35 != null) { List <byte> tmp36 = new List <byte>(); tmp36.AddRange(BitConverter.GetBytes((uint)tmp35.Count())); while (tmp36.Count > 0 && tmp36.Last() == 0) { tmp36.RemoveAt(tmp36.Count - 1); } s.Add((byte)tmp36.Count); s.AddRange(tmp36); s.AddRange(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(tmp35)); } } } } } } // serialize V21 s.Add((byte)((V21 == null) ? 0 : 1)); if (V21 != null) { List <byte> tmp37 = new List <byte>(); tmp37.AddRange(BitConverter.GetBytes((uint)V21.Count())); while (tmp37.Count > 0 && tmp37.Last() == 0) { tmp37.RemoveAt(tmp37.Count - 1); } s.Add((byte)tmp37.Count); s.AddRange(tmp37); foreach (var tmp38 in V21) { s.Add((byte)((tmp38 == null) ? 0 : 1)); if (tmp38 != null) { for (uint tmp39 = 0; tmp39 < 4; tmp39++) { s.Add((byte)((tmp38[tmp39] == null) ? 0 : 1)); if (tmp38[tmp39] != null) { s.AddRange(tmp38[tmp39].Serialize()); } } } } } // serialize V22 s.Add((byte)((V22 == null) ? 0 : 1)); if (V22 != null) { List <byte> tmp40 = new List <byte>(); tmp40.AddRange(BitConverter.GetBytes((uint)V22.Count())); while (tmp40.Count > 0 && tmp40.Last() == 0) { tmp40.RemoveAt(tmp40.Count - 1); } s.Add((byte)tmp40.Count); s.AddRange(tmp40); foreach (var tmp41 in V22) { s.Add((byte)((tmp41.Key == null) ? 0 : 1)); if (tmp41.Key != null) { List <byte> tmp42 = new List <byte>(); tmp42.AddRange(BitConverter.GetBytes((uint)tmp41.Key.Count())); while (tmp42.Count > 0 && tmp42.Last() == 0) { tmp42.RemoveAt(tmp42.Count - 1); } s.Add((byte)tmp42.Count); s.AddRange(tmp42); s.AddRange(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(tmp41.Key)); } s.Add((byte)((tmp41.Value == null) ? 0 : 1)); if (tmp41.Value != null) { s.AddRange(tmp41.Value.Serialize()); } } } // serialize V23 s.Add((byte)((V23 == null) ? 0 : 1)); if (V23 != null) { for (uint tmp43 = 0; tmp43 < 5; tmp43++) { for (uint tmp44 = 0; tmp44 < 10; tmp44++) { s.Add((byte)((V23[tmp43, tmp44] == null) ? 0 : 1)); if (V23[tmp43, tmp44] != null) { s.AddRange(V23[tmp43, tmp44].Serialize()); } } } } return(s.ToArray()); }
public void AssembleModel() { // Connections ProcessWater.AssignConnection(Pipes[1], ProcessWater.Outlet, Pipes[1].Inlet); Pipes[1].AssignConnection(V01, Pipes[1].Outlet, V01.Inlet); V01.AssignConnection(Pipes[2], V01.Outlet, Pipes[2].Inlet); Pipes[2].AssignConnection(Pipes[3], Pipes[2].Outlet, Pipes[3].Inlet); Pipes[3].AssignConnection(Pipes[67], Pipes[3].Outlet, Pipes[67].Inlet); Pipes[67].AssignConnection(Pipes[4], Pipes[67].Outlet, Pipes[4].Inlet); Pipes[67].AssignConnection(Pipes[5], Pipes[67].Outlet, Pipes[5].Inlet); Pipes[67].AssignConnection(Pipes[66], Pipes[67].Outlet, Pipes[66].Inlet); // To the heater Pipes[3].AssignConnection(V02, Pipes[3].Outlet, V02.Inlet); V02.AssignConnection(Hoses[1], V02.Outlet, Hoses[1].Inlet); Hoses[1].AssignConnection(Drains[1], Hoses[1].Outlet, Drains[1].Inlet); Pipes[4].AssignConnection(V03, Pipes[4].Outlet, V03.Inlet); V03.AssignConnection(Hoses[2], V03.Outlet, Hoses[2].Inlet); Hoses[2].AssignConnection(Drains[2], Hoses[2].Outlet, Drains[2].Inlet); Pipes[5].AssignConnection(V04, Pipes[5].Outlet, V04.Inlet); V04.AssignConnection(Hoses[3], V04.Outlet, Hoses[3].Inlet); Hoses[3].AssignConnection(Drains[3], Hoses[3].Outlet, Drains[3].Inlet); Pipes[2].AssignConnection(Pipes[6], Pipes[2].Outlet, Pipes[6].Inlet); Pipes[6].AssignConnection(Pipes[7], Pipes[6].Outlet, Pipes[7].Inlet); Pipes[7].AssignConnection(V05, Pipes[7].Outlet, V05.Inlet); V05.AssignConnection(Pipes[8], V05.Outlet, Pipes[8].Inlet); Pipes[8].AssignConnection(DI1, Pipes[8].Outlet, DI1.Inlet); DI1.AssignConnection(Pipes[9], DI1.Outlet, Pipes[9].Inlet); Pipes[9].AssignConnection(V11, Pipes[9].Outlet, V11.Inlet); V11.AssignConnection(Pipes[12], V11.Outlet, Pipes[12].Inlet); Pipes[12].AssignConnection(Pipes[14], Pipes[12].Outlet, Pipes[14].Inlet); Pipes[6].AssignConnection(Pipes[10], Pipes[6].Outlet, Pipes[10].Inlet); Pipes[10].AssignConnection(V06, Pipes[10].Outlet, V06.Inlet); V06.AssignConnection(Pipes[11], V06.Outlet, Pipes[11].Inlet); Pipes[11].AssignConnection(Pipes[13], Pipes[11].Outlet, Pipes[13].Inlet); Pipes[13].AssignConnection(Pipes[14], Pipes[13].Outlet, Pipes[14].Inlet); Pipes[14].AssignConnection(Pipes[15], Pipes[14].Outlet, Pipes[15].Inlet); Pipes[15].AssignConnection(V12, Pipes[15].Outlet, V12.Inlet); V12.AssignConnection(Hoses[4], V12.Outlet, Hoses[4].Inlet); Hoses[4].AssignConnection(Drains[4], Hoses[4].Outlet, Drains[4].Inlet); // To the heater and CO2 column Pipes[66].AssignConnection(Pipes[65], Pipes[66].Outlet, Pipes[65].Inlet); Pipes[65].AssignConnection(Pipes[55], Pipes[65].Outlet, Pipes[55].Inlet); Pipes[55].AssignConnection(Pipes[52], Pipes[55].Outlet, Pipes[52].Inlet); // To the CO2 column Pipes[52].AssignConnection(V07, Pipes[52].Outlet, V07.Inlet); V07.AssignConnection(Pipes[53], V07.Outlet, Pipes[53].Inlet); Pipes[53].AssignConnection(Pipes[54], Pipes[53].Outlet, Pipes[54].Inlet); Pipes[54].AssignConnection(Pipes[171], Pipes[54].Outlet, Pipes[171].Inlet); Pipes[171].AssignConnection(C1, Pipes[171].Outlet, C1.Inlet); // From the reactor to the CO2 column RV1.AssignConnection(Hoses[5], RV1.GasOutlet, Hoses[5].Inlet); Hoses[5].AssignConnection(Pipes[29], Hoses[5].Outlet, Pipes[29].Inlet); Pipes[29].AssignConnection(V56, Pipes[29].Outlet, V56.Inlet); V56.AssignConnection(Pipes[28], V56.Outlet, Pipes[28].Inlet); Pipes[28].AssignConnection(Pipes[26], Pipes[28].Outlet, Pipes[26].Inlet); Pipes[26].AssignConnection(Pipes[25], Pipes[26].Outlet, Pipes[25].Inlet); Pipes[25].AssignConnection(PHE2, Pipes[25].Outlet, PHE2.Inlet); PHE2.AssignConnection(Pipes[20], PHE2.Outlet, Pipes[20].Inlet); Pipes[20].AssignConnection(Pipes[21], Pipes[20].Outlet, Pipes[21].Inlet); Pipes[21].AssignConnection(V57, Pipes[21].Outlet, V57.Inlet); V57.AssignConnection(Pipes[61], V57.Outlet, Pipes[61].Inlet); Pipes[61].AssignConnection(P3, Pipes[61].Outlet, P3.Inlet); P3.AssignConnection(Pipes[62], P3.Outlet, Pipes[62].Outlet); Pipes[62].AssignConnection(Pipes[63], Pipes[62].Outlet, Pipes[63].Inlet); Pipes[63].AssignConnection(Pipes[64], Pipes[63].Outlet, Pipes[64].Inlet); Pipes[64].AssignConnection(C1, Pipes[64].Outlet, C1.GasInlet); // CO2 Column - Internal circulation C1.AssignConnection(Pipes[68], C1.Outlet, Pipes[68].Inlet); Pipes[68].AssignConnection(Pipes[172], Pipes[68].Outlet, Pipes[172].Inlet); Pipes[172].AssignConnection(UT19_V01, Pipes[172].Outlet, UT19_V01.Inlet); Pipes[172].AssignConnection(Pipes[69], Pipes[172].Inlet, Pipes[69].Inlet); //Weird! Because of the flow UT19_V01.AssignConnection(Pipes[68], UT19_V01.Outlet, Pipes[68].Inlet); Pipes[68].AssignConnection(Pipes[69], Pipes[68].Outlet, Pipes[69].Inlet); Pipes[69].AssignConnection(UT19_V02, Pipes[69].Outlet, UT19_V02.Inlet); UT19_V02.AssignConnection(Pipes[70], UT19_V02.Outlet, Pipes[70].Inlet); Pipes[70].AssignConnection(UT19_P1, Pipes[70].Outlet, UT19_P1.Inlet); UT19_P1.AssignConnection(Pipes[71], UT19_P1.Outlet, Pipes[71].Inlet); Pipes[71].AssignConnection(Pipes[72], Pipes[71].Outlet, Pipes[72].Inlet); Pipes[72].AssignConnection(UT19_V04, Pipes[72].Outlet, UT19_V04.Inlet); UT19_V04.AssignConnection(Pipes[75], UT19_V04.Outlet, Pipes[75].Inlet); Pipes[75].AssignConnection(Pipes[76], Pipes[75].Outlet, Pipes[76].Inlet); Pipes[75].AssignConnection(Pipes[164], Pipes[75].Outlet, Pipes[164].Inlet); // To the sample point Pipes[164].AssignConnection(Pipes[165], Pipes[164].Outlet, Pipes[165].Inlet); // To the sample point Pipes[165].AssignConnection(UT19_V05, Pipes[165].Outlet, UT19_V05.Inlet); // To the sample point UT19_V05.AssignConnection(Drains[24], UT19_V05.Outlet, Drains[24].Inlet); // To the sample point Pipes[76].AssignConnection(C1, Pipes[76].Outlet, C1.Inlet2); Pipes[72].AssignConnection(Pipes[74], Pipes[72].Outlet, Pipes[74].Inlet); Pipes[74].AssignConnection(UT19_V03, Pipes[74].Outlet, UT19_V03.Inlet); UT19_V03.AssignConnection(Pipes[73], UT19_V03.Outlet, Pipes[73].Inlet); Pipes[73].AssignConnection(C1, Pipes[73].Outlet, C1.Inlet); C1.AssignConnection(Pipes[77], C1.GasOutlet, Pipes[77].Inlet); Pipes[77].AssignConnection(Pipes[78], Pipes[77].Outlet, Pipes[78].Inlet); Pipes[78].AssignConnection(Hoses[9], Pipes[78].Outlet, Hoses[9].Inlet); Hoses[9].AssignConnection(Vents[2], Hoses[9].Outlet, Vents[2].Inlet); // Exhaust // Water source to the reactor Pipes[14].AssignConnection(Pipes[163], Pipes[14].Outlet, Pipes[163].Inlet); Pipes[163].AssignConnection(Pipes[16], Pipes[163].Outlet, Pipes[16].Inlet); Pipes[16].AssignConnection(V14, Pipes[16].Outlet, V14.Inlet); V14.AssignConnection(Pipes[23], V14.Outlet, Pipes[23].Inlet); Pipes[23].AssignConnection(V23, Pipes[23].Outlet, V23.Inlet); V23.AssignConnection(Pipes[133], V23.Outlet, Pipes[133].Inlet); Pipes[133].AssignConnection(CV34, Pipes[133].Outlet, CV34.Inlet); CV34.AssignConnection(SV35, CV34.Outlet, SV35.Inlet); SV35.AssignConnection(Pipes[27], SV35.Outlet, Pipes[27].Inlet); Pipes[27].AssignConnection(Hoses[6], Pipes[27].Outlet, Hoses[6].Inlet); Hoses[6].AssignConnection(RV1, Hoses[6].Outlet, RV1.Inlet); // Diversion of water source to the reactor through the heat exchanger Pipes[16].AssignConnection(Pipes[17], Pipes[16].Outlet, Pipes[17].Inlet); Pipes[17].AssignConnection(V13, Pipes[17].Outlet, V13.Inlet); V13.AssignConnection(Pipes[18], V13.Outlet, Pipes[18].Inlet); Pipes[18].AssignConnection(Pipes[19], Pipes[18].Outlet, Pipes[19].Inlet); Pipes[19].AssignConnection(PHE2, Pipes[19].Outlet, PHE2.Inlet2); PHE2.AssignConnection(Pipes[22], PHE2.Outlet2, Pipes[22].Inlet); Pipes[22].AssignConnection(V21, Pipes[22].Outlet, V21.Inlet); V21.AssignConnection(Pipes[24], V21.Outlet, Pipes[24].Inlet); Pipes[24].AssignConnection(Pipes[23], Pipes[24].Outlet, Pipes[23].Inlet); // Feeder }