A "splitter" w/ different particulate concentrations at inlet/outlets. More...
Public Member Functions | |
def | __init__ (self, active_vol=9500, SWD=3.5) |
Constructor for final_clarifier. More... | |
def | set_as_SRT_controller (self, setting=False) |
Set the current splitter as an Solids Retention Time controller. More... | |
def | discharge (self) |
Pass the total flow and blended components to the downstreams. More... | |
def | set_capture_rate (self, capture_rate=0.95) |
Set the percent solids capture for the final clarifier. More... | |
Public Member Functions inherited from PooPyLab.unit_procs.streams.splitter | |
def | __init__ (self) |
Constructor for "splitter". | |
def | set_flow_data_src (self, branch='Main', flow_ds=flow_data_src.TBD) |
Set the flow data source of the branch specified by the user. More... | |
def | get_flow_data_src (self) |
Return the flow data source tags of all three branches. | |
def | assign_initial_guess (self, init_guess_lst) |
Assign the intial guess to the unit before simulation. More... | |
def | is_converged (self, limit=1E-6) |
Return the convergence status of the unit. More... | |
def | get_type (self) |
Return the type string of the process unit. More... | |
def | has_sidestream (self) |
Return whether the unit has a sidestream. More... | |
def | add_upstream (self, discharger, upst_branch='Main') |
Add the discharger's branch to inlet. More... | |
def | has_discharger (self) |
Return whether the unit's inlet has been connected. More... | |
def | get_upstream (self) |
Return the _inlet {} of the unit. More... | |
def | totalize_inflow (self) |
Combine the individual flows specified in the self._inlet into one. More... | |
def | blend_inlet_comps (self) |
Calculate the flow weighted average model component concentrations. More... | |
def | update_combined_input (self) |
Update both total inflow and blended concentrations (model components). | |
def | remove_upstream (self, discharger) |
Remove an existing discharger from inlet. More... | |
def | set_downstream_main (self, rcvr) |
Define the main outlet by specifying the receiving process unit. | |
def | main_outlet_connected (self) |
Return whether the mainstream outlet is connected. More... | |
def | get_downstream_main (self) |
Return the process unit connected at the mainstream outlet. More... | |
def | set_mainstream_flow_by_upstream (self, f=True) |
Set whether the mainstream flow = (total inflow - side outflow). | |
def | set_mainstream_flow (self, flow=0) |
Define the mainstream outlet flow. More... | |
def | get_main_outflow (self) |
Return the mainstream outflow. More... | |
def | get_main_outlet_concs (self) |
Return a copy of the mainstream outlet concentrations. More... | |
def | set_downstream_side (self, rcvr) |
Define the downstream side outlet's connection. More... | |
def | side_outlet_connected (self) |
Return True if the main outlet is connected, False if not. More... | |
def | get_downstream_side (self) |
Return the process unit connected to the side outlet. More... | |
def | set_sidestream_flow (self, flow=0) |
Define the flow rate for the sidestream. More... | |
def | sidestream_flow_defined (self) |
Return whether the sidestream flow rate has been defined. More... | |
def | get_side_outflow (self) |
Return the sidestream outlet flow rate. More... | |
def | get_side_outlet_concs (self) |
Return a copy of the sidestream outlet concentrations. More... | |
def | set_flow (self, dschgr, flow) |
Specify the flow from the discharger. More... | |
def | get_TSS (self, br='Main') |
Return the Total Suspended Solids of the specified branch. | |
def | get_VSS (self, br='Main') |
Return the Volatile Suspended Solids of the specified branch. | |
def | get_COD (self, br='Main') |
Return the Chemical Oxygen Demand (total) of the specified branch. | |
def | get_sCOD (self, br='Main') |
Return the soluble COD of the specified branch. | |
def | get_pCOD (self, br='Main') |
Return the particultate COD of the specified branch. | |
def | get_TN (self, br='Main') |
Return the total nitrogen of the specified branch. More... | |
def | get_orgN (self, br='Main') |
Return the organic nitrogen of the specified branch. | |
def | get_inorgN (self, br='Main') |
Return the inorganic nitrogen of the specified branch. | |
def | get_pN (self, br='Main') |
Return the particulate nitrogen of the specified branch. | |
def | get_sN (self, br='Main') |
Return the soluble nitrogen of the specified branch. | |
def | is_SRT_controller (self) |
Return whether a splitter is an SRT controller. | |
Private Member Functions | |
def | _valid_under_TSS (self, uf_TSS) |
Check whether the underflow TSS is realistic. More... | |
def | _settle_solids (self, particulate_index=[7, 8, 9, 10, 11, 12]) |
Split the incoming solids into the main- and sidestream outlets. More... | |
Private Attributes | |
__name__ | |
_type | |
_active_vol | |
clarifier active volume, bottom cone volume excluded, m3 | |
_swd | |
side water depth of the active volume, m | |
_area | |
plan section area, m2 | |
_upstream_set_mo_flow | |
_capture_rate | |
user defined solids capture rate, fraction less than 1.0; | |
_under_TSS | |
underflow solids, mg/L | |
_prev_mo_comps | |
_prev_so_comps | |
_mo_comps | |
_so_comps | |
Static Private Attributes | |
int | __id |
A "splitter" w/ different particulate concentrations at inlet/outlets.
In order to keep the PooPyLab package simple and focused on the biological processes, the final clarifier is assumed to be an ideal one. No detail solids settling model is implemented, as least for now.
However, surface overflow rate, solids loading rate, and HRT will be checked and warnings will be given to user if they are out of normal ranges. Simulation will not proceed until all parameters are within proper ranges. TODO: Add actual solids sedimentation model.
By default, the mainstream and sidestream outlets are overflow and underflow, respectively, of the final clarifier.
def PooPyLab.unit_procs.physchem.final_clarifier.__init__ | ( | self, | |
active_vol = 9500 , |
|||
SWD = 3.5 |
|||
) |
Constructor for final_clarifier.
The "final_clarifier" is modeled as an ideal solids-liquid separation process that capture the solids from the inlet into the underflow as per the user given capture rate. Essentially, the "final_clarifier" is a "splitter" with different particulate concentrations among its three branches, while those concentrations will be identical for all the branches of an ideal "splitter".
active_vol | active clarifier volume excluding storage cone, m3; |
SWD | side water depth, m. |
def PooPyLab.unit_procs.physchem.final_clarifier.set_as_SRT_controller | ( | self, | |
setting = False |
|||
) |
Set the current splitter as an Solids Retention Time controller.
This function is bypassed for "final_clarifier".
Reimplemented from PooPyLab.unit_procs.streams.splitter.
def PooPyLab.unit_procs.physchem.final_clarifier.discharge | ( | self | ) |
Pass the total flow and blended components to the downstreams.
This function is re-implemented for "final_clarifier" because of the need to settle the solids (particulate) and concentrate them at the sidestream (underflow). The function first calls _branch_flow_helper() to set the flows for inlet, mainstream outlet, and sidestream outlet, then calls _settle_solids() to fractions the particulate components according to the branch flows and user set percent solids capture.
Reimplemented from PooPyLab.unit_procs.streams.splitter.
def PooPyLab.unit_procs.physchem.final_clarifier.set_capture_rate | ( | self, | |
capture_rate = 0.95 |
|||
) |
Set the percent solids capture for the final clarifier.
This function is valid only when the "final_clarifier" is treated as a perfect solids-liquid separation without actual modeling of the settling process (for simplicity purpose at this stage). Future update of PooPyLab will include settling model to determine how much solids can be captured based on the configuration of the clarifier.
capture_rate | fraction of total inlet solids captured (< 1.0). |
|
private |
Check whether the underflow TSS is realistic.
uf_TSS | current underflow TSS, mg/L. |
See
|
private |
Split the incoming solids into the main- and sidestream outlets.
This function first calculate the updated inlet TSS concentration.
Then based on the capture rate, split the inlet TSS to the mainstream and sidestream outlets, as if the "final_clarifier" behaved exactly like a "splitter".
The fractions of each particulate model components in inlet TSS is then calculated. These fractions is then applied to the main- and sidestream outlet TSS to back calculate the corresponding particulate model components for that branch.
The soluble model components are identical for all three branches.
particulate_index | list of index for particulate model components. |