-
Notifications
You must be signed in to change notification settings - Fork 29
03 Design
Many wastewater treatment plants (WWTPs) consists of primary, secondary, and tertiary treatment processes. The unit processes are connected by pipes and/or channels. Upstream units discharge their effluent (water) to the receiving units for further treatment. Water flows may be splitted or combined at some point of the conveyance network as required by the treatment requirements. Observing from a high level, a WWTP looks like a collections of swimming pools (reactors/tanks/basins) with bubbly brown water, connected by pipes and channels.
In a simulation software like PooPyLab, the focus is on the treatment kinetics instead of the hydraulics of the conveyance system. Therefore, the detailed modeling of headloss, pump sizes, valve positions, etc. are not part of PooPyLab as of now. Treatment process units are linked via "pipe" objects that are used as generic hydraulic connectors. Flow splitters can be used to redistribute the flows from upstreams. And it is assumed that there is no biochemical reactions happening in the pipes even they may look very long. The actual hydraulic design will have to be performed separately by the engineers.
Conceptually, a WWTP may be represented by a process flow diagram (PFD) like below:
Example Process Flow Diagram:
inlet--p1->react(AX)--p2->react(OX)--p3-->splt1--p4->fc--p5->outlet
^ ^ | |
| | | p6
| | | |
| +-----IR(p9)---------------- V |
| V
+<-------RAS(p7)----splt2*<---------------+
|
+------p8---> waste(WAS)
where p1...p9 are pipes;
splt1/splt2 are flow splitters;
fc is a final clarifier;
react(AX)/react(OX) are reactors;
IR == Internal Recirculation;
RAS == Returned Activated Sludge; and
WAS == Waste Activated Sludge
The above example PFD shows three major categories of unit processes in a WWTP: streams, biological reactors, and physical-chemical processes.
The wiki provides some high level thoughts/plans for designing the process unit classes. Please refer to the brownbook for details in the implementations of classes, global functions, and other components of PooPyLab.