Example #1
0
"""
Created on Thu Mar 15 09:36:15 2018

All species for the biodiesel production section of the lipid cane baseline biorefinery are defined here in the Species object, biodiesel_species.

@author: Yoel Rene Cortes-Pena
"""
from biosteam import Species
from biosteam.compounds import Chemical, Substance
from .lipid import lipid

__all__ = ['biodiesel_species']

# %% Make species

sp = Species('Methanol', 'Glycerol', 'Water')
sp.Lipid = lipid  # Triolein
sp.Biodiesel = Chemical('methyl oleate')
# sp.FreeLipid = Chemical('oleic acid')

# %% Enthalpy of formations
sp.Lipid.Hf = -2193.7 * 1000  # https://webbook.nist.gov/cgi/cbook.cgi?ID=C122327&Mask=2
#sp.free_lipid.Hfm = -764.80 * 1000
sp.Biodiesel.Hf = -727.64 * 1000
sp.Glycerol.Hf = -669.6 * 1000

# %% Missing properties

sp.Lipid.Tb = 879.9  # Boiling point of Triolein
sp.Lipid.dipole = 0.1
sp.Biodiesel.dipole = 0
# -*- coding: utf-8 -*-
"""
Created on Sat Mar 10 16:26:31 2018

All species for the oil and sugar separation (pretreatment) section of the lipid cane baseline biorefinery are defined here in the Species object, pretreatment_species.

@author: Yoel Rene Cortes-Pena
"""
from biosteam import Species
from biosteam.compounds import Substance
from .ethanol import ethanol_species
from .biodiesel import lipid

__all__ = ['pretreatment_species']

sp = Species()
for name in ('Ash', 'Cellulose', 'Flocculant', 'Hemicellulose', 'Lignin',
             'Solids'):
    setattr(sp, name, Substance(name, rho=1540))

sp.Lipid = lipid
sp.Lipid.ID = 'Lipid'
sp.CaO = Substance('CaO', MW=56.0774, rho=1540)
sp.setprops(sp.IDs, 'Hf', 0)
sp.setprops(sp.IDs, 'T_ref', 298.15)

# %% Heat capacities

# References
# https://www.sciencedirect.com/science/article/pii/0032386182901252
# https://link.springer.com/article/10.1007%2Fs10853-013-7815-6
                                      BoilerTurbogenerator, \
                                      ChilledWaterPackage, \
                                      ProcessWaterCenter
from biosteam import System, Stream, find, Species
from biosteam.units import Junction, Splitter
from biosteam.biorefineries.lipidcane.utils import set_lipid_fraction
import warnings

warnings.filterwarnings('ignore')

__all__ = ('lipidcane_sys', 'lipidcane_tea', 'area_500', 'area_600', 'BT')

# %% Facilities
Stream.species = pretreatment_species
emission = Stream('emission')
water = Species('Water',)
stream = find.stream

# Stream.default_ID_number = 500

BT = BoilerTurbogenerator('BT',
                          ins=U202-0, # Bagasse from conveyor belt
                          outs=emission,
                          boiler_efficiency=0.80,
                          turbogenerator_efficiency=0.85)

Stream.default_ID_number = 600

Stream.species = water
CT = CoolingTower('CT')
process_water_streams = (stream.biodiesel_wash_water,
__all__ = ['ethanol_species']

#%% Set up species

Water = Chemical('Water')
CO2 = Gas('CO2')
Ethanol = Chemical('Ethanol')
_glucosoe = Chemical('Glucose')
glucose = StaticChemical('Glucose')
sucrose = StaticChemical('Sucrose')
dry_yeast = Substance('DryYeast', 'Yeast', MW=1)
phosphoric_acid = Substance('H3PO4', '7664-38-2', MW=97.994, rho=10**8)
Octane = Chemical('Octane')
ethanol_species = sp = Species.tospecies(
    (CO2, Ethanol, Water, glucose, sucrose, phosphoric_acid, Octane,
     dry_yeast))

#%% Cp Gluclose & sucrose

# # Asadi, 2005, Tables, Beet-Sugar Handbook, John Wiley & Sons, Inc (2005), pp.  779-801
# # http://onlinelibrary.wiley.com/store/10.1002/9780471790990.oth1/asset/oth1.pdf;jsessionid=1B4B5D3655477F46D578541BE0E4CED2.f03t01?v=1&t=jdewgnrl&s=477661e0dfe5c058191f8f1907d2f63bdaca3e59

# # Use heat capacity at T = 60, and saturated with sugar
# sucrose.Cp = glucose.Cp = ((2540/4184 - 0.20)*4184 /0.8) * 180.156/1000**2  # J/mol/K
# sucrose.Cpm = sucrose.Cp * sucrose.MW
# glucose.Cpm = glucose.Cp * glucose.MW
dry_yeast.Cp = dry_yeast.Cpm = 1.2

#%% Cp Phophoric_acid
Example #5
0
dry_yeast.Hvapm = 0

#%% Enthalpy of formation (all information from NIST)

# The heats of formation (kJ/kmol)
Ethanol.Hf = -277.690 * 1000
Water.Hf = -241.820 * 1000
CO2.Hf = -393.520 * 1000  # in gas
glucose.Hf = -1274 * 1000
sucrose.Hf = -2221.2 * 1000
Octane.Hf = -250 * 1000
phosphoric_acid.Hf = -1271.66 * 1000
dry_yeast.Hf = 0

# %% Dissolved compounds
dissolved = Species()
for name in ('Ash', 'Cellulose', 'Flocculant', 'Hemicellulose', 'Lignin',
             'Solids'):
    setattr(dissolved, name, Substance(name, rho=1540))

dissolved.CaO = Substance('CaO', MW=56.0774, rho=1540)
dissolved.setprops(dissolved.IDs, 'Hf', 0)
dissolved.setprops(dissolved.IDs, 'T_ref', 298.15)

# %% Heat capacities

# References
# https://www.sciencedirect.com/science/article/pii/0032386182901252
# https://link.springer.com/article/10.1007%2Fs10853-013-7815-6

sugarcane_species = sp = Species.tospecies((CO2, Ethanol, Water, glucose,
Example #6
0
# -*- coding: utf-8 -*-
"""
Created on Tue Mar 26 14:11:33 2019

@author: yoelr
"""
__all__ = [
    'pretreatment_species', 'biodiesel_species', 'ethanol_species',
    'lipidcane_species'
]

from biosteam import Species
from .pretreatment import pretreatment_species
from .biodiesel import biodiesel_species
from .ethanol import ethanol_species

lipidcane_species = Species.tospecies(
    [*pretreatment_species, *biodiesel_species, *ethanol_species])