-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2 from we3lab/add-license-1
Added wastewater treatment cost models
- Loading branch information
Showing
4 changed files
with
252 additions
and
1 deletion.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,4 +14,5 @@ Code/venv/ | |
|
||
# Compiled Pythyon Code Files # | ||
*.pyc | ||
*.xml | ||
*.xml | ||
.idea/coals_controls.iml |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
81 changes: 81 additions & 0 deletions
81
Code/function_dictionary_library/wastewater_treatment_cost_models.py
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
def chemical_precipitation_costs(wastewater_flowrate_m3_per_hour, n, i): | ||
wastewater_flowrate_gpd = wastewater_flowrate_m3_per_hour * 264.1721 * 24 # [gpd] There are 264 gallons per cubic meter and 24 hours per day | ||
|
||
capital_costs = 7040000 + (35.0 * wastewater_flowrate_gpd) # [$] | ||
o_and_m_costs = 230000 + (4.05 * wastewater_flowrate_gpd) # [$/yr] | ||
|
||
pv_of_o_and_m_costs = o_and_m_costs * (((1 + i) ** n) -1)/(i * ((1 + i) ** n)) | ||
net_present_costs = capital_costs + pv_of_o_and_m_costs | ||
|
||
return capital_costs, o_and_m_costs, pv_of_o_and_m_costs, net_present_costs | ||
|
||
|
||
def biological_treatment_costs(wastewater_flowrate_m3_per_hour, n, i): | ||
wastewater_flowrate_gpd = wastewater_flowrate_m3_per_hour * 264.1721 * 24 # [gpd] There are 264 gallons per cubic meter and 24 hours per day | ||
|
||
capital_costs = 3180000 + (9.74 * wastewater_flowrate_gpd) # [$] | ||
o_and_m_costs = 329000 + (0.803 * wastewater_flowrate_gpd) # [$/yr] | ||
|
||
pv_of_o_and_m_costs = o_and_m_costs * (((1 + i) ** n) -1)/(i * ((1 + i) ** n)) | ||
net_present_costs = capital_costs + pv_of_o_and_m_costs | ||
|
||
return capital_costs, o_and_m_costs, pv_of_o_and_m_costs, net_present_costs | ||
|
||
|
||
def thermal_evaporation_costs(wastewater_flowrate_m3_per_hour, n, i): | ||
wastewater_flowrate_gpd = wastewater_flowrate_m3_per_hour * 264.1721 * 24 # [gpd] There are 264 gallons per cubic meter and 24 hours per day | ||
|
||
capital_costs = 14400000 + (36.7 * wastewater_flowrate_gpd) # [$] | ||
o_and_m_costs = 1020000 + (5.81 * wastewater_flowrate_gpd) # [$/yr] | ||
|
||
pv_of_o_and_m_costs = o_and_m_costs * (((1 + i) ** n) -1)/(i * ((1 + i) ** n)) | ||
net_present_costs = capital_costs + pv_of_o_and_m_costs | ||
|
||
return capital_costs, o_and_m_costs, pv_of_o_and_m_costs, net_present_costs | ||
|
||
|
||
def pretreated_membrane_filtration_costs(wastewater_flowrate_m3_per_hour, n, i): | ||
wastewater_flowrate_gpd = wastewater_flowrate_m3_per_hour * 264.1721 * 24 # [gpd] There are 264 gallons per cubic meter and 24 hours per day | ||
|
||
capital_costs = 1650000 + (45.5 * wastewater_flowrate_gpd) # [$] | ||
o_and_m_costs = 451000 + (6.95 * wastewater_flowrate_gpd) # [$/yr] | ||
|
||
pv_of_o_and_m_costs = o_and_m_costs * (((1 + i) ** n) -1)/(i * ((1 + i) ** n)) | ||
net_present_costs = capital_costs + pv_of_o_and_m_costs | ||
|
||
return capital_costs, o_and_m_costs, pv_of_o_and_m_costs, net_present_costs | ||
|
||
|
||
def non_pretreated_membrane_filtration_costs(wastewater_flowrate_m3_per_hour, n, i): | ||
wastewater_flowrate_gpd = wastewater_flowrate_m3_per_hour * 264.1721 * 24 # [gpd] There are 264 gallons per cubic meter and 24 hours per day | ||
|
||
capital_costs = 1620000 + (39.9 * wastewater_flowrate_gpd) # [$] | ||
o_and_m_costs = 467000 + (6.00 * wastewater_flowrate_gpd) # [$/yr] | ||
|
||
pv_of_o_and_m_costs = o_and_m_costs * (((1 + i) ** n) -1)/(i * ((1 + i) ** n)) | ||
net_present_costs = capital_costs + pv_of_o_and_m_costs | ||
|
||
return capital_costs, o_and_m_costs, pv_of_o_and_m_costs, net_present_costs | ||
|
||
def zero_valent_iron_costs(wastewater_flowrate_m3_per_hour, n, i): | ||
"""This process cost model is based on the process published in Huang, Y. H., Peddi, P. K., Tang, C., Zeng, H., & | ||
Teng, X. (2013). Hybrid zero-valent iron processes for removing heavy metals and nitrate from | ||
flue-gas-desulfurization wastewater. Separation and Purification Technology, 118, 690-698. Their process is a series | ||
of chemical reactors, so we assume that capital costs follow the chemical precipitation process. Huang et al. also | ||
estimate O&M costs of ~$0.5/m^3 of water treated so we include this as the O&M cost estiamtes. | ||
""" | ||
|
||
wastewater_flowrate_gpd = wastewater_flowrate_m3_per_hour * 264.1721 * 24 # [gpd] There are 264 gallons per cubic meter and 24 hours per day | ||
|
||
capital_costs = 7040000 + (35.0 * wastewater_flowrate_gpd) # [$] | ||
|
||
o_and_m_chem_costs = 0.5 * wastewater_flowrate_m3_per_hour * 24 * 365 # [$/yr] | ||
pv_of_o_and_m_chem_costs = o_and_m_chem_costs * (((1 + i) ** n) -1)/(i * ((1 + i) ** n)) | ||
|
||
o_and_m_elec_costs = ((4 * 0.015) + 0.009 + 0.01 + 0.0095) * 0.05 * wastewater_flowrate_m3_per_hour * 24 * 365 # [$/yr] | ||
pv_of_o_and_m_elec_costs = o_and_m_elec_costs * (((1 + i) ** n) -1)/(i * ((1 + i) ** n)) | ||
|
||
net_present_costs = capital_costs + pv_of_o_and_m_chem_costs + pv_of_o_and_m_elec_costs | ||
|
||
return capital_costs, o_and_m_chem_costs, pv_of_o_and_m_chem_costs, o_and_m_elec_costs, pv_of_o_and_m_elec_costs, \ | ||
net_present_costs |
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