-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New process models and units for WRRF plant-wide simulations #124
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'PrimaryClarifierBSM2' is the design of primary clarifier based on BSM2. While 'PrimaryClarifier' is the PC design we use in our centralized WRRFs.
The lower limit of check on center feed depth has been modified to 10% based on advised range of upflow velocity
Made several changes to secondary clarifier design, and added checks on calculated parameters based on MOP 8. Replicated few minor changes to PC as well.
Updates in design of SC: Area of clarifier either given by the user, or calculated from user defined influent TSS, influent flow, and SLR. A SLR is calculated based on simulation conditions, and the deviation is checked with design_SLR given by user.
Include the design and cost of concrete slab in both clarifiers. In secondary clarifier, the slab forms the bottom of the tank. In primary clarifier, the slab forms the conical portion of the tank.
Updated design of gravity thickener (based on MOP 8) Have made several changes accordingly. Primarily, the diameter of the tank is limited to 22 m, and a design SLR is used to determine the surface area. The surface area governs the diameter. Changes in incinerator are commented for now.
Added bare module factor for slab concrete. Also added specific citation for primary clarifier.
Updated thickener based on MOP-8.
blank comment
Added missing bare module factors to centrifuge.
Update design, cost, and default design parameters for centrifuge.
Started adding design components for aeration tank.
A dummy unit to account for the design and cost of treatment chain in ASP.
Assumed design Q_air (in m3/hr) for individual treatment chain as a user input.
Added a design recirculation flow, and a 'design_pump' function to facilitate the working of pump in treatment chain.
Minor adjustments with documentation and debugging, made while integrating the unit with a centralized WRRF.
Edits during debugging
Awesome! I hope I can take a look this weekend and merge them in, will aim to release new packages of QSDsan/EXPOsan as well, thanks!
…________________________________
From: Xinyi Joy Zhang ***@***.***>
Sent: Tuesday, October 15, 2024 4:59 PM
To: QSD-Group/QSDsan ***@***.***>
Cc: Yalin ***@***.***>; Review requested ***@***.***>
Subject: [QSD-Group/QSDsan] New process models and units for WRRF plant-wide simulations (PR #124)
Compatible with ***@***.***
________________________________
You can view, comment on, or merge this pull request online at:
#124
Commit Summary
* e5791a7<e5791a7> Merge branch 'metro' of https://github.com/QSD-Group/QSDsan into metro
* 02db58b<02db58b> update RO related calculation
* 91a042f<91a042f> No change
* ca1f607<ca1f607> Merge branch 'metro' of https://github.com/QSD-Group/QSDsan into metro
* 712544f<712544f> Added 'PrimaryClarifierBSM2'
* 59f62c9<59f62c9> Updated check in PC
* 4ec5df0<4ec5df0> Updated clarifier design and cost estimates
* ae1f913<ae1f913> Updated SC design
* ad1af10<ad1af10> Added concrete slab to clarifiers
* 2126e58<2126e58> Updated thickener (MOP-8)
* 7b4afd0<7b4afd0> Merge branch 'main' into metro
* c3cc0be<c3cc0be> remove not useful file
* cb8a746<cb8a746> fix bugs
* 8235506<8235506> Merge branch 'beta' of https://github.com/QSD-Group/QSDsan into metro
* 5e51dc6<5e51dc6> Merge branch 'beta' of https://github.com/QSD-Group/QSDsan into metro
* ba98dc7<ba98dc7> fix typo
* 729da06<729da06> fix typo
* a6c7a24<a6c7a24> Added citation for PC_BSM2
* 3b0d097<3b0d097> Updated thickener based on MOP-8
* b8fbe17<b8fbe17> Merge branch 'metro' of https://github.com/QSD-Group/QSDsan into metro
* 8415ce0<8415ce0> blank comment
* ed22bcf<ed22bcf> fix typos
* 38b82a7<38b82a7> Merge branch 'metro' of https://github.com/QSD-Group/QSDsan into metro
* 7695a1e<7695a1e> Merge branch 'metro' of https://github.com/QSD-Group/QSDsan into metro
* 88dd407<88dd407> Added BM factors to centrifuge
* 08b4ae1<08b4ae1> Design and cost of centrifuge
* d57a78d<d57a78d> Design and cost of tanks
* 787a4a5<787a4a5> Design and cost of ASP
* f699ac5<f699ac5> Added blower and pipe design
* b132edd<b132edd> Included pump design to treatment chain
* 4731a1c<4731a1c> Added cost and documentation for treatment chain
* 042dfe1<042dfe1> Minor adjustments in treatment chain
* 7f4dee0<7f4dee0> Debugging changes
* 363c452<363c452> Edits to debug the pumping cost in Treatment chain
* a2ca350<a2ca350> Minor edit
* 42507c8<42507c8> Merge branch 'main' of https://github.com/QSD-Group/QSDsan into metro
* 9a439ce<9a439ce> workaround to prevent negatives/better error prompting
* 4a59887<4a59887> very minor typo fix
* 7764343<7764343> Merge branch 'dev' into metro
* 349bcec<349bcec> Merge branch 'dev' into metro
* 105eb63<105eb63> Revert "Merge branch 'main' of https://github.com/QSD-Group/QSDsan into metro"
* 15a61f9<15a61f9> Revert "workaround to prevent negatives/better error prompting"
* 6e329a1<6e329a1> Revert "Revert "Merge branch 'main' of https://github.com/QSD-Group/QSDsan into metro""
* cccb4eb<cccb4eb> consolidate thickener parameter update
* a88287e<a88287e> debug CSTR design
* 29eff84<29eff84> Merge branch 'metro' of https://github.com/QSD-Group/QSDsan into metro
* 82832fd<82832fd> debug thickener
* 52cb8c4<52cb8c4> Update _clarifier.py
* c948da4<c948da4> Discarding scraper
* 5479df5<5479df5> Removed scraper, edited capital of centrifuge
* c2d5da0<c2d5da0> Scaling centrifuge motor power
* 6ee1c36<6ee1c36> Coded function to compile pumping power demand in WRRF
* 093ed31<093ed31> Scaling motor power linearly
* b2498bd<b2498bd> Change in default total static head
* 90f3585<90f3585> Corrected logic flow, and modified ANSI dictionary
* fe70818<fe70818> Update documentation (select_pipe)
* 61de934<61de934> Added thermo to wastestream
* 9ffb606<9ffb606> Added thermo to pump
* 9a6977e<9a6977e> Changing default value
* e11e3f6<e11e3f6> Added authorship
* 9374411<9374411> Added thermo to pumps in thickeners
* c08375b<c08375b> Function to determine GHG emission in secondary treatment
* 7043390<7043390> Revert "Function to determine GHG emission in secondary treatment"
* 682f55c<682f55c> Function to determine GHG emission in secondary treatment
* 41aed57<41aed57> Function to determine GHG emission during discharge
* 8b03d62<8b03d62> More flexible GHG emission functions
* 95e2032<95e2032> Function to calculate CO2 emissions due to electricity consumption
* 8c88799<8c88799> Added function to quantify GHG emission from sludge disposal
* 5ae2b18<5ae2b18> updated sludge disposal GHG function
* feb9f99<feb9f99> Added GHG function
* c670163<c670163> Merge branch 'main' into metro
* b4f8ff3<b4f8ff3> Optimized the code that calculates GHG emission from sludge disposal
* 491bb3b<491bb3b> Updated secondary treatment GHG
* a2d949d<a2d949d> Updated GHG emission function
* 68da59c<68da59c> Quantifying operational costs
* 026cc11<026cc11> Updated wwt_design functions
* d648db5<d648db5> Updated estimated range of sludge disposal costs
* 2c5fb7e<2c5fb7e> Updated GHG emissions from electricity
* 62e7311<62e7311> Updated sludge management costs
* 0800ffd<0800ffd> Accounted for methane emission from leftover sludge
* 603bff9<603bff9> Satisfy mass balance
* 3bb7e52<3bb7e52> Updated junction from bsm2
* 49aa0b4<49aa0b4> Null
* 8dd776c<8dd776c> Updated cost estimates due to unit
* ace59ab<ace59ab> Facilitating uncertainty analysis
* 18259f9<18259f9> Corrected typos in documentation
* 098018e<098018e> Adding file with initial conditions
* 5ce9fa5<5ce9fa5> Revert "Adding file with initial conditions"
* 029ceaa<029ceaa> ASM2d-ADM1
* 3579c8b<3579c8b> Charge balance in junction
* f559493<f559493> ASM2d-ADM1
* 6e8caaf<6e8caaf> ADM1-ASM2d junction
* 2d83249<2d83249> Update junction
* 2760d7f<2760d7f> ASM2d-mADM1 interface
* 759cf6a<759cf6a> Checks for N/P in PAO
* 49bfcb9<49bfcb9> Understanding charge balance
* 38c567c<38c567c> Changes to validate ASM2d-mADM1
* 010d5d2<010d5d2> ASM2dtomADM1
* 7531b13<7531b13> Added mADM1 junction class
* 656bf80<656bf80> mADM1 junction
* 47a78bb<47a78bb> TN balance check: ASM2d-mADM1
* 896c7ed<896c7ed> Update in mADM1 process
* db5bad8<db5bad8> Updated mADM1-ASM2d junction
* 8e5a7b0<8e5a7b0> Step 1 (mADM1-ASM2d)
* b01ea4b<b01ea4b> Step 1: mADM1-ASM2d
* 49d8745<49d8745> Step 1 (b) mADM1-ASM2d
* 601df97<601df97> mADM1-ASM2d interface
* cc417d6<cc417d6> Mapped soluble substrates: mADM1-ASM2d
* ced062b<ced062b> mADM1-ASM2d: Mapping of soluble inert
* 94b7936<94b7936> Charge balance: mADM1-ASM2d
* 6e3e99b<6e3e99b> Minor debugging
* 0a1540a<0a1540a> Important debugging changes
* 984a1b9<984a1b9> mADM1-ASM2d interface
* f11a41a<f11a41a> N balance: mADM1-ASM2d
* 5d91439<5d91439> Editing unnecessary part
* afbab65<afbab65> Update pKa used to calculate delta of S_IP
* 30eb0cb<30eb0cb> Removed unnecessary edits
* f5ac2ad<f5ac2ad> Updated constant: mADM1
* da5a12e<da5a12e> Modified Ks
* 9ee94cf<9ee94cf> Minor edit
* 8addf41<8addf41> Changed Step 2 (ASM2d-mADM1)
* 7f90521<7f90521> Step 5: mapping of X_I
* fcca157<fcca157> Revert "Step 5: mapping of X_I"
* e74b1c0<e74b1c0> Mapping XI
* 326fb0d<326fb0d> Mapping SI
* c2e7467<c2e7467> Substrate inhibition ADM1
* b692141<b692141> Correcting stoichiometry
* 63c25db<63c25db> Minor rewriting
* 23b5abd<23b5abd> Defined stoichiometry
* 40b9a2c<40b9a2c> Conserving C, N, and P
* e155857<e155857> Rate eqn in process description
* ef4d7b8<ef4d7b8> mini code cleanup for BSM2 primary clarifier
* 70456d4<70456d4> update `get_SRT` util func to deal with no biomass waste
* 4ffba69<4ffba69> Merge branch 'main' into metro
* 1001c57<1001c57> Merge branch 'main' of https://github.com/QSD-Group/QSDsan into metro-bsm2
* c305118<c305118> made PrimaryClarifierBSM2 dynamic w/ ODEs
* 2f97d21<2f97d21> Removing rate equations
* dc04664<dc04664> Merge branch 'metro' of https://github.com/QSD-Group/QSDsan into metro
* bfb6a60<bfb6a60> Merge pull request #121 from QSD-Group/metro-bsm2
* 6cac36a<6cac36a> Merge branch 'dev' into metro-bsm2
* 7cdb3de<7cdb3de> Update _anaerobic_reactor.py
* 0fb746a<0fb746a> Merge branch 'main' of https://github.com/QSD-Group/QSDsan into metro
* 03599d3<03599d3> temporarily disable BSM2 primary clarifier doctest
* 20dfe18<20dfe18> Merge branch 'metro-bsm2' of https://github.com/QSD-Group/QSDsan into metro-bsm2
* adac018<adac018> consolidate CSTR ODEs & minor speed-up
* 0e7abff<0e7abff> allow redefine WasteStream pH
* 1c474a4<1c474a4> updates downstream pH during dynamic simulation
* 6f5a518<6f5a518> minor bug fix
* 121c3c1<121c3c1> Update _clarifier.py
* fea7d31<fea7d31> minor bug fix
* f316d8a<f316d8a> maintain pH during SanUnit init
* 9af9b06<9af9b06> update thickener_factor in _run iterations
* 76260c4<76260c4> add S_h2 algebraic solver
* 9fb8659<9fb8659> enable DEA solving with AnaerobicCSTR
* 61cd5ec<61cd5ec> minor bug fix
* ceaf71d<ceaf71d> Merge branch 'metro-bsm2' into dev
* e8b92ae<e8b92ae> minor typo fix
* 35333be<35333be> merged changes from `metro-bsm2` & resolve bug
* 58accdf<58accdf> fix failed tests
* 013b59e<013b59e> enable dynamic `IdealClarifier`
* 1ac9fe6<1ac9fe6> clean up `PrimaryClarifier`
* 8e27f89<8e27f89> clean up `ADM1_p_extension`
* 2dc3ed8<2dc3ed8> debug `ASM2dtomADM1`
* 17158f6<17158f6> debug `mADM1toASM2d`
* 8d9070b<8d9070b> fix typo
* 76af338<76af338> minor bug fix
* bbccb55<bbccb55> A1 algorithm made separate subclasses
* b46e51c<b46e51c> restore older versions of mADM1-ASM2d interfaces
* dfa1cae<dfa1cae> Update _junction.py
* c2ca9a9<c2ca9a9> Update _junction.py
* 22224ec<22224ec> Update _junction.py
* e8c35a4<e8c35a4> fix tkn balance
* 26a323b<26a323b> fix bug in `IdealClarifier` and update doctest
* 70fc6e5<70fc6e5> Delete _junction_copy.py
* 715e379<715e379> PFR checkpoint
* 5562ef4<5562ef4> update `PFR`
* 2e12c9a<2e12c9a> Delete _pfr.py
* 5bcc76c<5bcc76c> update state headers for `PFR`, `AnaerobicCSTR`
* 07bc737<07bc737> minor bug fix
* 7c24331<7c24331> fix kLa setting in `PFR`
* bef8afd<bef8afd> minor fix of doctest
* 57954af<57954af> fix mADM1-ASM2d charge balances
* 8262234<8262234> debug algebraic dissolved H2 solver
* 12f5622<12f5622> default AnaerobicCSTR back to ODE for h2
* 95b33b2<95b33b2> add modified ASM2d
* 71901c0<71901c0> Update _asm2d.py
* 4802c5e<4802c5e> fix adm1p components
* cf204c8<cf204c8> fix `mASM2d`
* cdbcb17<cdbcb17> add new property
* f9a9efb<f9a9efb> mASM2d rate function
* a4a4ac6<a4a4ac6> ADM1p compatible with modified ASM2d
* 386b758<386b758> temporary removal of ADM1p doctest
* 25ed34f<25ed34f> enable Processes initiation with data frame
* d5316d9<d5316d9> consolidate common functions in process models
* cea2a3c<cea2a3c> debug `ADM1p`
* 2bd8487<2bd8487> `mASM2d`-`ADM1p` interface models
* 8c7ec7c<8c7ec7c> rename A1 interface models
* 081bf14<081bf14> debug ADM1p interface
* 48372d2<48372d2> minor update to adm1 pH solvers
* 5069456<5069456> minor bug fix
* 2815f3c<2815f3c> base gas stripping kLa on aeration kLa
* 8934171<8934171> debug gas stripping algorithm
* b4a4118<b4a4118> try alternative mmp kinetics
* 9a4da99<9a4da99> consistency
* abc0145<abc0145> Ca conservation in `mASM2d` and `ADM1p`
* d41a08c<d41a08c> consistent MMP model between ASM and ADM
* e12c69d<e12c69d> checkpoint
* 88d4069<88d4069> checkpoint
* 4801ca1<4801ca1> debug electron acceptor COD
* 3551072<3551072> debug ASM2d stoichiometry
* f44d0ff<f44d0ff> temporary disable mmp
* c785da2<c785da2> fix minor bug
* d54b975<d54b975> fix tests
* 9c9db81<9c9db81> minor bug fix
* c71c506<c71c506> debug mASM2d
* 0014758<0014758> more fail-proof modeling of aeration in CSTR
* c6da4a2<c6da4a2> set pH & minor fix to `PFR`
* 112b7df<112b7df> allow to set `maximum_nonsettleable_solids` in Takacs clarifier
* fbfb59a<fbfb59a> enable general pH control in `AnaerobicCSTR`
* 8b926bd<8b926bd> enable general pH control for AS process in `mASM2d`
* 72e69dd<72e69dd> debug `AnaerobicCSTR` pH control
* bc976c0<bc976c0> more fail-proof mmp rate functions
* 8745801<8745801> added default initial headspace gas concentrations
* 85f1200<85f1200> minor update
* a669658<a669658> more fail-proof rate functions
* f0809e2<f0809e2> minor bug fix
* 15c596e<15c596e> Merge branch 'main' into dev
* dcef80a<dcef80a> minor bug fix
* 16f9fe1<16f9fe1> improve stability
* 7a59ddb<7a59ddb> Create build-dev.yml
* 3da83c7<3da83c7> name fix
* ff1271f<ff1271f> clean up ASM2d-ADM1 interfaces
* 0b1eeda<0b1eeda> clean up ASM2d-mADM1 interfaces
* a92e72f<a92e72f> debug ideal clarifier
* 72d98d9<72d98d9> consistency in `ADM1p`
* 08f883c<08f883c> consume S_F, X_S if S_A gets negative in interface
* 1d599cf<1d599cf> dissolve minerals in interface if S_IC/S_IN/S_IP becomes negative
* 7463023<7463023> dissolve minerals in interface if S_IC/S_NH4/S_PO4 < 0
* 785286a<785286a> fix typo
* 85982e3<85982e3> clean up util functions
* 7198360<7198360> clean up `PrimaryClarifier._design()`
* d86c7f0<d86c7f0> Update `PrimaryClarifier._design_pump()`
* 7453eb4<7453eb4> clean up `PrimarycClarifier._cost()`
* c3a6c98<c3a6c98> minor bug fix
* 1889e10<1889e10> minor bug fix
* ba4eddf<ba4eddf> Update _sludge_treatment.py
* 500b58b<500b58b> minor bug fix
* 5e1f75b<5e1f75b> fix bug in MMP models
* a02354b<a02354b> clean up for merge
* bbbb965<bbbb965> Update _clarifier.py
File Changes
(30 files<https://github.com/QSD-Group/QSDsan/pull/124/files>)
* A .github/workflows/build-dev.yml<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-11abf9770a43ba0eeddd4da2a0c570d747761a2c49289241bf233203f8ee8955> (37)
* M qsdsan/_component.py<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-ec101f7362e990f64d3d61c28df703d202fd0a6dba93a6fb2aa9193511d6d137> (2)
* M qsdsan/_process.py<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-8213f95b1604d78ef841e4979b767fee4bf429a208ce3b273cf4a37fd830b3d2> (18)
* M qsdsan/_sanunit.py<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-3ad96781b58fb9c796c7c7155d8f7b5ead9af0d036c2b02f9d1e256d9141e4cb> (5)
* M qsdsan/_waste_stream.py<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-67f6f28b648547d0b7dd4a68adf24ab1bb9cf023d9fd60474d4069ae0e95d8f7> (169)
* A qsdsan/data/_masm2d.xlsx<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-36678f68ad719d39be83827f3dabe087e610d7f334ab87b2bf3a8a34aa4d8539> (0)
* A qsdsan/data/process_data/_adm1_p_extension.tsv<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-9a20a0fbe485c33c794c7fb87f452c48f5500b83449fbcc686dbb5fcdab8b719> (26)
* M qsdsan/data/process_data/_asm1.tsv<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-32d247c5306b3c51ec47869cb4113d713a229909ccfbb2c3c27208254a5fe9d9> (2)
* M qsdsan/data/process_data/_asm2d.tsv<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-923ad92c38a443a9cb2ab7b0d5416696f665feda7de58059ea550a9e3fa2b511> (8)
* A qsdsan/data/process_data/_masm2d.tsv<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-e7ca2306c1ba8c7e4cb51064b7818a7726786c6495e80b3908d8d93ab74e4f15> (20)
* A qsdsan/data/process_data/_mmp.tsv<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-4f2cd473408d1326f0056b41851401f200691b04d3aeedaeb5ac0d142c9dc98e> (8)
* M qsdsan/processes/__init__.py<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-2fa79ec97af84e35bba8d531d8a80250d76daa062883398ec146fbac9336098f> (51)
* M qsdsan/processes/_adm1.py<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-5cf2f856573b17bdcfe1891656fdc054cd313ceb9aa85e0b41345855df0ba046> (142)
* A qsdsan/processes/_adm1_p_extension.py<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-da8d5407a4040ed5903623b4e379a9e57dafff122f7bc5269f5992b00d0aee76> (1111)
* M qsdsan/processes/_aeration.py<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-35b2c155176fedbb8c3ee50f6a1a0a46c47adbfb303fe4914d641b739b7d6650> (4)
* M qsdsan/processes/_asm2d.py<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-5a634454eabb0427f6cd06e3f8f72c96cd111766a692fd121257a3df5ab9ce73> (792)
* M qsdsan/sanunits/__init__.py<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-29ab6f85b1a7a9c1065f5716878d7441e61fb0b29af503bff8a0719176e0ca6f> (21)
* M qsdsan/sanunits/_activated_sludge_process.py<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-4a37dd39f6f453617990f9fd120735e0e6238d875f345ed6841b0be5eb6678ab> (9)
* M qsdsan/sanunits/_anaerobic_reactor.py<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-8606e05e8e7a4199d2ca9d91821e6c97dc59d0c60f05edeeb88ccc5a42faba1a> (89)
* M qsdsan/sanunits/_clarifier.py<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-25ed858f85cad1c94e5b86d3c7cc3a913a74ed67c9948e5cc7f340c49a69a1b7> (1201)
* M qsdsan/sanunits/_junction.py<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-2dc20b174120503f67ef90d17655b7e01f0e02338c31ba44cd9c029b8354c1d2> (2308)
* A qsdsan/sanunits/_membrane_gas_extraction.py<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-d61ce13e5791f3fb0782884e663e95ae0e98a93dc05d77bbe569899ac2e78022> (566)
* M qsdsan/sanunits/_pumping.py<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-edd51724421c85841477cc6dbeebf6014b97db26a9428b947c5ab558b9a4a7d6> (2)
* A qsdsan/sanunits/_sludge_treatment.py<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-5e0f8a30fd42c02758c41fb35c4d4f4138586a1da35f1df087c73637acac430e> (722)
* M qsdsan/sanunits/_suspended_growth_bioreactor.py<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-f0b2e7a9ecdf34e29e9881c8e24d547081368ad778d541ec515a36263225f844> (760)
* M qsdsan/utils/cod.py<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-a52c2e4362e3aaeafb3bafed7cdbbdf0ceb91221928bf637030cffd218a5b393> (12)
* M qsdsan/utils/construction.py<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-6fd8ada76d81ff592c9463a2aea175174c0f40a1883c89b7c8b3b80b32c7db52> (22)
* M qsdsan/utils/wwt_design.py<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-7cce6a0503b6b783ba82a44b6a9c13dc51d1014250e366ffd833e7ebdf1e6f13> (704)
* M tests/test_component.py<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-b35cc8d48a3ea2ddde0c3bc9de0b0b768c567f9e8f532dc4ca1b260fe06e4ac8> (4)
* M tests/test_exposan.py<https://github.com/QSD-Group/QSDsan/pull/124/files#diff-18fa3535f1089072348d96ee9adcdaaba62197a1eb15bd49efadf5bdbe3da4c1> (2)
Patch Links:
* https://github.com/QSD-Group/QSDsan/pull/124.patch
* https://github.com/QSD-Group/QSDsan/pull/124.diff
—
Reply to this email directly, view it on GitHub<#124>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ALV5VLJCZXKNNXKKSSEYFMTZ3V62RAVCNFSM6AAAAABQAAERBKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGU4DSOJRGIYTGMI>.
You are receiving this because your review was requested.Message ID: ***@***.***>
|
yalinli2
approved these changes
Oct 16, 2024
I'm merging this in since local tests passed, there was some installation issue since I updated setup too soon... |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Compatible with EXPOsan@bsm2