Compare commits

..

1 Commits

View File

@@ -30,6 +30,13 @@ class Settler {
}
}
/**
* Mass balance model.
*
* - assumes complete seperation of solids and effluent
* - assumes known solids concentration given by sensor or set manually
* - assumes primacy of recirculation flow, with leftover sludge being designated as waste sludge
*/
_mbModel() {
// constrain flow to prevent negatives
const F_s = Math.min((this.F_in * this.Cs_in[12]) / this.C_TS, this.F_in);
@@ -64,19 +71,24 @@ class Settler {
}
return [
{ topic: "Fluent", payload: { inlet: 0, F: F_eff, C: Cs_eff } },
{ topic: "Fluent", payload: { inlet: 1, F: F_so, C: Cs_s } },
{ topic: "Fluent", payload: { inlet: 2, F: F_sr, C: Cs_s } }
{ topic: "Fluent", payload: { inlet: 0, F: F_eff, C: Cs_eff } }, // Effluent
{ topic: "Fluent", payload: { inlet: 1, F: F_so, C: Cs_s } }, // Sludge sink
{ topic: "Fluent", payload: { inlet: 2, F: F_sr, C: Cs_s } } // Sludge recirculation
];
}
/**
* Takacs model (Not implemented)
*
* More mechanistic model
*/
_tModel() {
this.logger.error("Not implemented yet.");
return [
{ topic: "Fluent", payload: { inlet: 0, F: null, C: null } },
{ topic: "Fluent", payload: { inlet: 1, F: null, C: null } },
{ topic: "Fluent", payload: { inlet: 2, F: null, C: null } }
{ topic: "Fluent", payload: { inlet: 0, F: null, C: null } }, // Effluent
{ topic: "Fluent", payload: { inlet: 1, F: null, C: null } }, // Sludge sink
{ topic: "Fluent", payload: { inlet: 2, F: null, C: null } } // Sludge recirculation
];
}