BioSTEAMDevelopmentGroup / Bioindustrial-Park

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

Request for molecular sieve #76

Closed zasddsgg closed 8 months ago

zasddsgg commented 1 year ago

Hello, I have created a new question according to your suggestion. Could I bother you help me for the following questions. Thanks a lot. Wish you a good day.

a) Where does the heat duty of molecular sieve process in BioSTEAM come from? b) Molecular sieve source code mentioned (https://github.com/BioSTEAMDevelopmentGroup/biosteam/blob/master/biosteam/units/molecular_sieve.py): **‘‘‘ def _design(self): self.design_results['Flow rate'] = flow = self._outs[1].F_mass

Refers to the mass flow rate of second outlet stream of molecular sieve

    if self.approx_duty:
        T = self.outs[0].T
        self.add_heat_utility(1429.65 * flow, T)
        self.add_heat_utility(-55.51 * flow, T)

’’’ May I ask why you estimated the heat duty of molecular sieve? How did you get 1429.65 and -55.51? c) According to the corn stover 2011 report (Humbird), on page 124, QH506 and QH509 correspond to H303 and H304 in the source code of BioSTEAM ethanol systems, so they do not belong to the heat duty of molecular sieve process. The net heat duty of QH507 is 0 because 514 stream in pdf are used to heat 517 stream. So the heat consumption in molecular sieve process only comes from QH503 in pdf. According to the data provided by pdf, the mass flow rate of the second outlet of the molecular sieve (514 stream) is 21808 kg/h, and the heat duty of H503 is 2.565Gcal/h, but because H503 is exothermy, it should be -2.565Gcal/h. So -2.5654.18610^6 kJ/h/21808 kg/h= -492.35 So it seems that the heat utility of molecular sieve should be calculated using the following code? ‘‘‘ def _design(self): self.design_results['Flow rate'] = flow = self._outs[1].F_mass if self.approx_duty: T = self.outs[0].T self.add_heat_utility(-492.35 * flow, T)

no self.add_heat_utility(1429.65 * flow, T)

  #  because no steam requirement in the molecular sieve process

’’’ d) Molecular sieve source code mentioned: ‘‘‘ @cost('Flow rate', 'Column', kW=151, BM=1.8, cost=2601000, CE=521.9, S=22687, n=0.6) class MolecularSieve(Splitter): ’’’ The data on page 124 of corn stover 2011 report (Humbird) is kW=151, S=29213 (mass flow of 511A stream), which seems different from 22687 in the source code? e)* Molecular sieve source code mentioned: ‘‘‘ def init(self, ID='', ins=None, outs=(), , order=None, split, P=101325, approx_duty=True): Splitter.init(self, ID, ins, outs, order=order, split=split) self.P = 101325 self.approx_duty = approx_duty

def _run(self):
    Splitter._run(self)
    for i in self.outs: i.P = self.P

’’’ The code shows that the pressure of all outlet of the molecular sieve process is 1 atm, but the stream (521 stream) flowing back into the distillation column on page 124 of corn stover 2011 report (Humbird) is 1.7 atm? f) Source code of ethanol systems mentioned (https://github.com/BioSTEAMDevelopmentGroup/Bioindustrial-Park/blob/master/biorefineries/ethanol/systems.py): ‘‘‘ H304 = bst.HXutility(IDs.get('Ethanol condenser', 'H304'), 'S149', V=0, T=340.) ’’’ The code indicates that the ethanol stream after molecular sieve is cooled to 340-273.15=66.85 degrees, while the corn stover 2011 report (Humbird) cool to 38 degrees (515 stream) on page 124? g) Is the binary interaction parameter only used to get the activity coefficient? Is bivariate interaction parameters used to compute activity coefficients and then activity coefficients used to compute phase equilibria automatically in BioSTEAM? h) For“If any chemical does not have interaction parameters because it is not in the database, you'll get a warning whenever the VLE algorithm runs”you mentioned, if I use bst.nbtutorial(), even with the above warning information, will it be filtered out by bst.nbtutorial()? i) As long as there is no warn, does that mean that the binary interaction parameters are complete? j) Do all chemicals in BioSTEAM library have binary interaction parameters and activity coefficients? For all chemicals in BioSTEAM library, is bivariate interaction parameter estimated by UNIFAC and activity coefficient estimated by bivariate interaction parameter when running bivariate rectification column and viewing phase diagram? Or are the binary interaction parameters and activity coefficients of some chemicals inherent in the BioSTEAM database? k) Does "activity coefficients are always taken into account" mean that for the operation of binary distillation towers and the view of phase diagrams, are the binary interaction parameters and activity coefficients of all components (both key and non-key) taken into account by default? Or is it only to consider the binary interaction parameters and activity coefficients of the key components by default? l) For any two substances, is it more appropriate to look at the phase diagram and run the binary distillation column with binary interaction parameters than without? m) As long as information can be found in chemical.Dortmund, does that mean that there are binary interaction parameters of this chemical? n) I use Water.show(), it shows that NIST: , did it matter? o) Are the following two lines of code the same? “from biorefineries import cornstover as cs’’ “from biorefineries import cellulosic,cs = cellulosic.Biorefinery('corn stover ethanol') ’’ p) Is it better to set the pressure of beer column to 2atm? Now the pressure set at 2.1atm is the pressure at the bottom of the tower. q) For all the newly built process, can the ethanol system be directly called without modifying its parameters due to the different feed components from the pdf report or BioSTEAM? For example, the feed pressure of beer column is 6atm (for all the newly built process, the feed pressure is set to 6atm through P301?) and the pressure of the tower is 2 atm? r) For "The values for k and dT are adjusted to better meet utility requirements in the humbird model, I think this may need to be readjusted’’, what does it mean for “I think this may need to be readjusted”? Can I adjust k and dT myself while building a new process? s) For “Regarding the impact of beer column pressure on utility requirement, the heat integration reduces the impact of higher pressures so that results on the reboiler are similar”,does heat integration refer to beer_column_heat_integration=True(https://github.com/BioSTEAMDevelopmentGroup/Bioindustrial-Park/blob/master/biorefineries/ethanol/systems.py)? t) For the parameters of ethanol purification system, do only tower pressure come from the corn stover model? Did all the other parameters (except tower pressure) come from the sugarcane and corn models? u) Could I consult you is the pressure of P302 consistent with that of P301 because the pressure of the two inlet flows of HXprocess should be kept close? If the bottom flow of the tower is 2atm, is it ok to exchange heat with the feed stream (the pressure of the feed stream is 6 atm)? v) When viewing the phase diagram of A and B through the following code, is the binary interaction parameters of A and B and the activity coefficient taken into account by default in the phase diagram? ‘‘‘ import thermosteam as tmo import matplotlib.pyplot as plt tmo.settings.set_thermo(['A', 'B']) # is it also ok without this line? eq = tmo.equilibrium eq.plot_vle_binary_phase_envelope(['A', 'B'], P=101325) plt.show() ’’’

yoelcortes commented 8 months ago

If you believe corrections can be made to the biorefinery models, please make a pull request and provide details about how your changes affect the results.

All your questions on activity coefficients can be answered with the following: BioSTEAM uses Dortmund UNIFAC interaction parameters to estimate activity coefficients. Please read up more on UNIFAC if you wish to understand more.

You can adjust any and all unit operation attributes after loading the biorefinery.

Most questions here are duplicates from other issues and have already been answered. Please do not repeat questions. Also, please post only related questions in one issue and limit the number of questions up to 2-3 per issue. This will help significantly for directing others to relevant issues.

Thanks!