AMO-Tools-Suite  v.0.9.0
Set of tools for calculating energy efficiency in industrial equipment
All Classes Namespaces Files Functions Variables Enumerations Friends Macros Pages
WasteWater_Treatment.h
Go to the documentation of this file.
1 
13 #ifndef AMO_TOOLS_SUITE_WASTEWATER_TREATMENT_H
14 #define AMO_TOOLS_SUITE_WASTEWATER_TREATMENT_H
15 
16 #include <vector>
17 
19 {
20 public:
21  struct CalculationsTable
22  {
23  CalculationsTable(
24  double Se,
25  double HeterBio,
26  double CellDeb,
27  double InterVes,
28  double MLVSS,
29  double MLSS,
30  double BiomassProd,
31  double SludgeProd,
32  double SolidProd,
33  double Effluent,
34  double IntentWaste,
35  double OxygenRqd,
36  double FlowMgd,
37  double NRemoved,
38  double NRemovedMgl,
39  double NitO2Dem,
40  double O2Reqd,
41  double EffNH3N,
42  double EffNo3N,
43  double TotalO2Rqd,
44  double WAS,
45  double EstimatedEff,
46  double EstimRas,
47  double FmRatio,
48  double Diff_MLSS,
49  double SRT) : Se(Se),
50  HeterBio(HeterBio),
51  CellDeb(CellDeb),
52  InterVes(InterVes),
53  MLVSS(MLVSS),
54  MLSS(MLSS),
55  BiomassProd(BiomassProd),
56  SludgeProd(SludgeProd),
57  Effluent(Effluent),
58  IntentWaste(IntentWaste),
59  OxygenRqd(OxygenRqd),
60  FlowMgd(FlowMgd),
61  NRemoved(NRemoved),
62  NRemovedMgl(NRemovedMgl),
63  NitO2Dem(NitO2Dem),
64  O2Reqd(O2Reqd),
65  EffNH3N(EffNH3N),
66  EffNo3N(EffNo3N),
67  TotalO2Rqd(TotalO2Rqd),
68  WAS(WAS),
69  EstimatedEff(EstimatedEff),
70  EstimRas(EstimRas),
71  FmRatio(FmRatio),
72  Diff_MLSS(Diff_MLSS),
73  SRT(SRT)
74  {
75  }
76  CalculationsTable() = default;
77  double Se;
78  double HeterBio;
79  double CellDeb;
80  double InterVes;
81  double MLVSS;
82  double MLSS;
83  double BiomassProd;
84  double SludgeProd;
85  double SolidProd;
86  double Effluent;
87  double IntentWaste;
88  double OxygenRqd;
89  double FlowMgd;
90  double NRemoved;
91  double NRemovedMgl;
92  double NitO2Dem;
93  double O2Reqd;
94  double EffNH3N;
95  double EffNo3N;
96  double TotalO2Rqd;
97  double WAS;
98  double EstimatedEff;
99  double EstimRas;
100  double FmRatio;
101  double Diff_MLSS;
102  double SRT;
103 
104  std::vector<double> getArray() {
105  std::vector<double> array{
106  Se,
107  HeterBio,
108  CellDeb,
109  InterVes,
110  MLVSS,
111  MLSS,
112  BiomassProd,
113  SludgeProd,
114  SolidProd,
115  Effluent,
116  IntentWaste,
117  OxygenRqd,
118  FlowMgd,
119  NRemoved,
120  NRemovedMgl,
121  NitO2Dem,
122  O2Reqd,
123  EffNH3N,
124  EffNo3N,
125  TotalO2Rqd,
126  WAS,
127  EstimatedEff,
128  EstimRas,
129  FmRatio,
130  Diff_MLSS,
131  SRT
132  };
133  return array;
134  };
135  };
136 public:
137  struct Output
138  {
139  Output(
140  double TotalAverageDailyFlowRate,
141  double VolumeInService,
142  double InfluentBOD5Concentration,
143  double InfluentBOD5MassLoading,
144  double SecWWOxidNLoad,
145  double SecWWTSSLoad,
146  double FM_ratio,
147  double SolidsRetentionTime,
148  double MLSS,
149  double MLVSS,
150  double TSSSludgeProduction,
151  double TSSInActivatedSludgeEffluent,
152  double TotalOxygenRequirements,
153  double TotalOxygenReqWDenit,
154  double TotalOxygenSupplied,
155  double MixingIntensityInReactor,
156  double RASFlowRate,
157  double RASRecyclePercentage,
158  double WASFlowRate,
159  double RASTSSConcentration,
160  double TotalSludgeProduction,
161  double ReactorDetentionTime,
162  double VOLR,
163  double EffluentCBOD5,
164  double EffluentTSS,
165  double EffluentAmmonia_N,
166  double EffluentNO3_N,
167  double EffluentNO3_N_W_Denit,
168 
169  double AeEnergy,
170  double AeCost,
171  double FieldOTR,
172  std::vector<CalculationsTable> calculationsTable) : TotalAverageDailyFlowRate(TotalAverageDailyFlowRate),
173  VolumeInService(VolumeInService),
174  InfluentBOD5Concentration(InfluentBOD5Concentration),
175  InfluentBOD5MassLoading(InfluentBOD5MassLoading),
176  SecWWOxidNLoad(SecWWOxidNLoad),
177  SecWWTSSLoad(SecWWTSSLoad),
178  FM_ratio(FM_ratio),
179  SolidsRetentionTime(SolidsRetentionTime),
180  MLSS(MLSS),
181  MLVSS(MLVSS),
182  TSSSludgeProduction(TSSSludgeProduction),
183  TSSInActivatedSludgeEffluent(TSSInActivatedSludgeEffluent),
184  TotalOxygenRequirements(TotalOxygenRequirements),
185  TotalOxygenReqWDenit(TotalOxygenReqWDenit),
186  TotalOxygenSupplied(TotalOxygenSupplied),
187  MixingIntensityInReactor(MixingIntensityInReactor),
188  RASFlowRate(RASFlowRate),
189  RASRecyclePercentage(RASRecyclePercentage),
190  WASFlowRate(WASFlowRate),
191  RASTSSConcentration(RASTSSConcentration),
192  TotalSludgeProduction(TotalSludgeProduction),
193  ReactorDetentionTime(ReactorDetentionTime),
194  VOLR(VOLR),
195  EffluentCBOD5(EffluentCBOD5),
196  EffluentTSS(EffluentTSS),
197  EffluentAmmonia_N(EffluentAmmonia_N),
198  EffluentNO3_N(EffluentNO3_N),
199  EffluentNO3_N_W_Denit(EffluentNO3_N_W_Denit),
200  AeEnergy(AeEnergy),
201  AeCost(AeCost),
202  FieldOTR(FieldOTR),
203  calculationsTable(calculationsTable)
204  {
205  }
206  Output() = default;
207  double TotalAverageDailyFlowRate;
208  double VolumeInService;
209  double InfluentBOD5Concentration;
210  double InfluentBOD5MassLoading;
211  double SecWWOxidNLoad;
212  double SecWWTSSLoad;
213  double FM_ratio;
214  double SolidsRetentionTime;
215  double MLSS;
216  double MLVSS;
217  double TSSSludgeProduction;
218  double TSSInActivatedSludgeEffluent;
219  double TotalOxygenRequirements;
220  double TotalOxygenReqWDenit;
221  double TotalOxygenSupplied;
222  double MixingIntensityInReactor;
223  double RASFlowRate;
224  double RASRecyclePercentage;
225  double WASFlowRate;
226  double RASTSSConcentration;
227  double TotalSludgeProduction;
228  double ReactorDetentionTime;
229  double VOLR;
230  double EffluentCBOD5;
231  double EffluentTSS;
232  double EffluentAmmonia_N;
233  double EffluentNO3_N;
234  double EffluentNO3_N_W_Denit;
235 
236  double AeEnergy;
237  double AeCost;
238  double FieldOTR;
239  std::vector<CalculationsTable> calculationsTable;
240  };
241 
242 
275 public:
277  double Temperature,
278  double So,
279  double Volume,
280  double FlowRate,
281  double InertVSS,
282  double OxidizableN,
283  double Biomass,
284  double InfluentTSS,
285  double InertInOrgTSS,
286  double EffluentTSS,
287  double RASTSS,
288  double MLSSpar,
289  double FractionBiomass,
290  double BiomassYeild,
291  double HalfSaturation,
292  double MicrobialDecay,
293  double MaxUtilizationRate,
294  double MaxDays,
295  double TimeIncrement,
296  double OperatingDO,
297  double Alpha,
298  double Beta,
299  double SOTR,
300  double Aeration,
301  double Elevation,
302  double OperatingTime,
303  int TypeAerators,
304  double Speed,
305  double EnergyCostUnit)
306  : Temperature(Temperature),
307  So(So),
308  Volume(Volume),
309  FlowRate(FlowRate),
310  InertVSS(InertVSS),
311  OxidizableN(OxidizableN),
312  Biomass(Biomass),
313  InfluentTSS(InfluentTSS),
314  InertInOrgTSS(InertInOrgTSS),
315  EffluentTSS(EffluentTSS),
316  RASTSS(RASTSS),
317  MLSSpar(MLSSpar),
318  FractionBiomass(FractionBiomass),
319  BiomassYeild(BiomassYeild),
320  HalfSaturation(HalfSaturation),
321  MicrobialDecay(MicrobialDecay),
322  MaxUtilizationRate(MaxUtilizationRate),
323  MaxDays(MaxDays),
324  TimeIncrement(TimeIncrement),
325  OperatingDO(OperatingDO),
326  Alpha(Alpha),
327  Beta(Beta),
328  SOTR(SOTR),
329  Aeration(Aeration),
330  Elevation(Elevation),
331  OperatingTime(OperatingTime),
332  TypeAerators(TypeAerators),
333  Speed(Speed),
334  EnergyCostUnit(EnergyCostUnit){};
335 
336  Output calculate();
337 
338 private:
339  double Temperature;
340  double So;
341  double Volume;
342  double FlowRate;
343  double InertVSS;
344  double OxidizableN;
345  double Biomass;
346  double InfluentTSS;
347  double InertInOrgTSS;
348  double EffluentTSS;
349  double RASTSS;
350  double MLSSpar;
351  double FractionBiomass;
352  double BiomassYeild;
353  double HalfSaturation;
354  double MicrobialDecay;
355  double MaxUtilizationRate;
356  double MaxDays;
357  double TimeIncrement;
358 
359  double OperatingDO;
360  double Alpha;
361  double Beta;
362  double SOTR;
363  double Aeration;
364  double Elevation;
365  double OperatingTime;
366  int TypeAerators;
367  double Speed;
368  double EnergyCostUnit;
369 };
370 #endif //AMO_TOOLS_SUITE_WASTEWATER_TREATMENT_H
WasteWater_Treatment(double Temperature, double So, double Volume, double FlowRate, double InertVSS, double OxidizableN, double Biomass, double InfluentTSS, double InertInOrgTSS, double EffluentTSS, double RASTSS, double MLSSpar, double FractionBiomass, double BiomassYeild, double HalfSaturation, double MicrobialDecay, double MaxUtilizationRate, double MaxDays, double TimeIncrement, double OperatingDO, double Alpha, double Beta, double SOTR, double Aeration, double Elevation, double OperatingTime, int TypeAerators, double Speed, double EnergyCostUnit)