BioSTEAMDevelopmentGroup / Bioindustrial-Park

BioSTEAM's Premier Repository for Biorefinery Models and Results
MIT License
36 stars 17 forks source link

Consultation about operation cost of cellulosic_ethanol model #103

Open zasddsgg opened 4 months ago

zasddsgg commented 4 months ago

For the operation cost in the excel file of cellulosic_ethanol model, may I ask you the following questions. I use BioSTEAM 2.43.1.

a) Why is the cost of cooling water, chilled water, and low pressure steam for each unit in the Utilities worksheet 0? For cooling water, chilled water, low pressure steam, why is the flow sum of each unit 0? In contrast, why is the sum of the electricity of each unit not zero, and why is the cost of electricity not zero? Screenshot as follows: 1 2

b) For utility cost, why not use the sum from cells D30 to D62 in the utilities worksheet? The sum from cells D30 to D62 in the utilities worksheet is -1488.32 USD/hr, but it is actually -1097.59 USD/hr with the code print(tea.utility_cost/tea.operating_hours) Code and screenshot below:

from biorefineries import cellulosic
import biosteam as bst
from biorefineries.tea import create_cellulosic_ethanol_tea
cs = cellulosic.Biorefinery('corn stover ethanol')
tea=create_cellulosic_ethanol_tea(cs.cornstover_sys)
print(tea.utility_cost/tea.operating_hours) # output is -1097.59 USD/hr

2

c) The utility cost of Boiler turbogenerator and Process water center in Itemized costs worksheet seems different from the electricity cost of Boiler turbogenerator and Process water center in the utilities worksheet (I have converted them into USD/hr), but the other units are the same? Screenshot as follows: 3 4

d) Are the following two codes for checking Material cost of cellulosic_ethanol model both correct?

from biorefineries import cellulosic
import biosteam as bst
from biorefineries.tea import create_cellulosic_ethanol_tea
cs = cellulosic.Biorefinery('corn stover ethanol')
tea=create_cellulosic_ethanol_tea(cs.cornstover_sys)
list = [i for i in cs.cornstover_sys.feeds]
for i in range(29): # 29 is the number of the feeds
    print(list[i].cost) # view material cost of different feeds in cellulosic_ethanol model
material_cost = 0
for i in range(29):
    material_cost += list[i].cost
print(material_cost) # view material cost of cellulosic_ethanol model

Or

from biorefineries import cellulosic
import biosteam as bst
from biorefineries.tea import create_cellulosic_ethanol_tea
cs = cellulosic.Biorefinery('corn stover ethanol')
tea=create_cellulosic_ethanol_tea(cs.cornstover_sys)
print(tea.material_cost/tea.operating_hours)  # USD/hr
yoelcortes commented 4 months ago

@zasddsgg,

a) Electricity is sold in the cornstover biorefinery while the other utilities are produced on-site to meet the demand. The price of things like cooling/chilled water and steam does not matter (it could be anything and it would not affect economics)

b + c) Some unit operations like the boiler turbogenerator and process water center also have additional costs/credits outside of heating/cooling/electricity that are still considered as utilities. For example ash disposal for the boiler and make-up process water for the process water center. This is also why the some of the utility worksheet does not match the total utility cost. We will need to update the utility cost worksheet to include these special-case utilities. I created an issue to remind myself (https://github.com/BioSTEAMDevelopmentGroup/biosteam/issues/194).

d) There may be additional material costs / sales associated to streams with credits and fees (e.g., government incentives, carbon tax) . These are included in the VOC table. Use the following for material costs and sales including credits and fees:

from biorefineries import cellulosic
import biosteam as bst
from biorefineries.tea import create_cellulosic_ethanol_tea
cs = cellulosic.Biorefinery('corn stover ethanol')
tea=create_cellulosic_ethanol_tea(cs.cornstover_sys)
print(tea.material_cost/tea.operating_hours)  # USD/hr
print(tea.sales/tea.operating_hours)  # USD/hr

Thanks

zasddsgg commented 4 months ago

If I want to see detailed information about the composition of material_cost, utility_cost and sales, could I consult you which code can I use? Because when using voc_table, I need to provide product_IDs, but I don't know how to write product_ID.

Besides, is the following code for viewing the composition of material_cost and material_cost of cellulosic_ethanol model right?

from biorefineries import cellulosic
import biosteam as bst
from biorefineries.tea import create_cellulosic_ethanol_tea
cs = cellulosic.Biorefinery('corn stover ethanol')
tea=create_cellulosic_ethanol_tea(cs.cornstover_sys)
list = [i for i in cs.cornstover_sys.feeds]
for i in range(29): # 29 is the number of the feeds
    print(list[i].cost) # view the composition of material_cost
material_cost = 0
for i in range(29):
    material_cost += list[i].cost
print(material_cost) # view material cost of cellulosic_ethanol model