BioSTEAMDevelopmentGroup / Bioindustrial-Park

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

Request for phase selection in BioSTEAM #66

Closed zasddsgg closed 1 year ago

zasddsgg commented 1 year ago

Hello, I have learned how to calculate enthalpy for different cases and the code for enthalpy calculation (https://github.com/BioSTEAMDevelopmentGroup/thermosteam/blob/master/thermosteam/free_energy.py). Could I consult you some questions about phase selection of chemicals in BioSTEAM. Thank you for your help. a) For Cp of Lignocellulosic component, 1.364 J/g/K is set. Could I consult you the source of this data? b) For HMF and AmmoniumAcetate, Hf appears to be 0, but the Hf of HMF in the NREL report is -79774.53 cal/mol and that of AmmoniumAcetate is -147163 cal/mol (page 112) c) For NH3, the default reference phase is gas. If I want to view Cp_average of NH3(l)(liquid state NH3) from 298.15K to 373.91K. Is Cn.l.T dependent_property_Integral (298.15, 373.91)/(373.91-298.15) right? For Acetate, with the reference phase as liquid, can Cn.s.T dependent_property_integral(Tref, T)/( T - Tref) be used to check the Cp_average of Acetate(s) (solid state Acetate) (whether Tm is less than or greater than Tref, Tm is less than T or greater than T)? For SuccinicAcid, phase_ref='s', can SuccinicAcid.Cn l.T_dependent_property_integral(298.15, 373.91)/(373.91-298.15) be used to check the average heat capacity of liquid SuccinicAcid (SuccinicAcid(l)) from 298.15K to 373.91K? d) I set only Acetate→Acetic acid in R201, but the Hnet of R201 seems not to be 0 (Already use the latest bioindustrial park), Acetate is the Acetic acid of replication in chemicals.py, so shouldn't Hnet be 0? e) Could I confirm with you whether my understanding is correct. For reaction Acetate→Acetic acid, the default reference phase for Acetate and Acetic acid is' l '. If I want to check the Hnet of Acetate (s) transformation into Acetic acid (l), namely Acetic acid.Hf + Acetic acid.H('l', T, P) - Acetate.Hf - Acetate.H('s,T, P). For Acetate.H('s,T, P), BioSTEAM will automatically select the formula of def Solid_Enthalpy_Ref_Liquid in free_energy.py, namely H_ref - H_int_Tm_to_T_ref_l - Hfus + Cn_s.T_dependent_property_integral(Tm, T) to calculate Acetate.H('s,T, P). For Acetate.Hf, even calculating the Hnet of solid Acetate to liquid Acetic acid, the Hf for Acetate in the default reference phase is still used (for Acetate, the default reference phase was liquid), so Hf of liquid Acetate (not Hf of solid Acetate) is used in Hnet calculation of Acetate (s)→ Acetic acid(l). f) If I want to view Hnet of Acetate (s)→ acetic acid (l) in R201, do I need to add any modifications or change Hf in addition to setting Acetate to solid state? g) For Acetate(l)→Acetic acid(l), “Acetyl groups in the hemicellulose are liberated as acetic acid”, is described in page 19 of the report. So shouldn't Acetate from the solid ingredients convert into Acetic acid, i.e. Acetate(s)→Acetic acid(l)? h) For Acetate→Acetic acid, Acetate(l)→Acetic acid(l) is adopted, while Acetate(s)→Acetic acid(l) is not used. Is it because the heat of solution of Acetate(s), namely the heat of dissolving the solid acetate into the solution was neglected. So the Acetate in the solution, namely acetate (l) was used to substitute Acetate(s) for transformation of Acetyl groups to acetic acid. i) For Sucrose -> HMF + Glucose + 2H2O, the phase of Sucrose and Glucose is also solid, but it actually seems to be a Sucrose in solution to Glucose in solution. Is it because the heat of solution for Sucrose and Glucose is ignored. So the Hnet is calculated by the Sucrose and Glucose of solid state instead of the Sucrose and Glucose in solution. j) For gases like NH3, CO2, and O2 that are dissolved in solution, when calculate the Hnet of the corresponding reaction, is it right to calculate the Hnet of the corresponding reaction using NH3(g), CO2(g), and O2(g) (use NH3(g), CO2(g), and O2(g) to replace NH3, CO2, and O2 that are dissolved in solution)? Is the enthalpy of NH3(g) the same as the enthalpy of NH3 that dissolved in solution. k) For a reaction in solution, is it ok to replace the chemical reaction in solution (the reaction of a dissolved substance) with corresponding solid or liquid or gaseous state chemical’s reaction. For the Hnet calculated by the above way, compared to the Hnet of reaction of the corresponding dissolved substance in the solution, is the only difference between these two Hnet the heat of solution of corresponding substance. Thank you for your help. Wish you a good day.

yoelcortes commented 1 year ago

@zasddsgg, OK, cool

a) I added references to the doc. The values come from here: https://link.springer.com/article/10.1007/s10853-013-7815-6 https://www.sciencedirect.com/science/article/pii/0032386182901252 b) Good catch! I updated it. Please note that Hf you listed are for ideal gas state (not the reference phase). c) Sounds right. d) Heat of reaction is zero for that reaction (Acetate -> Acetic acid). You may have temperature change, phase change, or other reactions going on. e) BioSTEAM performs the correct calculation regardless of reference states. You can confirm this manually if you like. f, g, and h) Acetate is a liquid, not a solid. Bonds are broken to release the acetyl group. The heats related to this process is complicated, but also not significant compared to other reactions. i) Again, BioSTEAM cannot calculate heats of solution (yet), please refer to my previous answers to your questions. j) NH3, CO2, and O2 in solution are actually liquids (not gases). k) That entirely depends on the reaction and the latent heats.

Thanks,

zasddsgg commented 1 year ago

Thanks for your help. I still have some confusions for the following questions. Could I consult you for that? Thanks a lot. a) The default reference phase for AmmoniumAcetate appears to be solid state (phase_ref='s'), but Hf set (-154701) in chemics. py appears to be ΔHf (L) in the report, should it be set to ΔHf (s) i.e. 147163? The default reference phase state for GLUCOLIG seems to be solid (phase_ref='s'), but the Hf set in Chemics. py is -233200, which seems to be ΔHf (L) in the report, should it be set to ΔHf (S)? The default reference phase state for XYLAN seems to be liquid (phase_ref='l'), but the Hf set (-761906.4) in Chemics. py seems to be ΔHf (S) in the report, should it be set to ΔHf (L)? For Tar’s Hf, BioSTEAM is -1043700, but it appears to be -182100*4.184=-761906.4 in the report, and Humbird's Aspen model is actually running at -762415.99. b) If I set only one reaction in reactor, and the feed temperature and the outlet stream temperature are equal, and no phase transition occurs, then is the Hnet of reactor the reaction heat of that only one reaction? I understand so, the feed temperature and the outlet stream temperature are equal, and when no phase transition occurs, it is the reaction heat that leads to the generation of Hnet. c) In BioSTEAM, for the components dissolved in solution, such as acetate, NH3, CO2, O2, for the simulation of the reaction, is the liquid state of these components, such as acetate (l), NH3(l), CO2(l), O2(l), used to simulate the reaction in reactor? d) For cellulose, hemicellulose, and lignin, since they cannot be dissolved in solution, was these components modeled as a solid component in reaction? But for cellulose, hemicellulose, and lignin, it appears that the reaction was modeled as liquid in BioSTEAM. e) For cellulose oligomers and hemicellulose oligomers, it seems that the solid-state component is used to model the reaction. Is it because these components are insoluble in solution, so the solid-state component was used to model the reaction? If so, for Sucrose -> HMF + Glucose + 2H2O, Sucrose and Glucose seems to be dissolved ingredients in solution. So why they were model as solid state? Shouldn't it be a matter of ignoring the solubility heats of Sucrose and Glucose, and then modeling them as Sucrose(l) and Glucose(l)? f) For Cp_average: Why is 1.364 also assumed for monosaccharides? The paper “Explaining the heat capacity of wood constituents by molecular vibrations” seems not to mention monosaccharides, such as Glucose,Mannose,Xylose. Tabel 1 in the paper Studies on heat capacity of cellulose and lignin by differential scanning calorimetry seems to mention the Cp of Amorphous D-glucose is 2.222 and the Cp of c~ D-glucose anhydride crystal is 1.351. Oligomers and dissolved lignin do not seem to be mentioned either, such as GlucoseOligomer,MannoseOligomer,XyloseOligomer. So why 1.364 are assumed for these components? For the following components, the Cp_average between BioSTEAM and Aspen seems a little big. GlucoseOligomer,MannoseOligomer,Glucose,Mannose, BioSTEAM is 245.73, Aspen is 502.58 XyloseOligomer,Xylose,BioSTEAM is 204.78,Aspen is 476.67. SolubleLignin, BioSTEAM is 207.53,Aspen is 269.79 Sucrose,BioSTEAM is 466.89,Aspen is 444.23 Tar,BioSTEAM is 204.78,Aspen is 174.45 HMF, BioSTEAM is 195.13,Aspen is 230.13 Furfural,BioSTEAM is 167.02,Aspen is 155.44 AceticAcid,BioSTEAM is 137.40,Aspen is 80.50 Acetate,BioSTEAM is 137.40,Aspen is 121.18

For Hf: Glucan(l), Mannan(l) and Galactan(l) adopt ΔHf (S) in report, but since it is l, shouldn't ΔHf (L) be used? GlucoseOligomer(s), MannoseOligomer(s), GalactoseOligomer(s), adopt ΔHf (L) in the report. But it seems that Cp_average(s) was used in BioSTEAM. Should Cp_average(l) also be used for Hnet (consistent with ΔHf (L))? Because the Cp_average of GlucoseOligomer(l), MannoseOligomer(l) and GalactoseOligomer(l) in Aspen is 502.58, while the Cp_average(s) for BioSTEAM was 245.73.

For the following components, the Hf between BioSTEAM and Aspen seems a little big. For Glucose,BioSTEAM is -1271100,while Aspen is -1275724.52 For SolubleLignin,BioSTEAM is -452909.63,Aspen is -454838.91 For Sucrose(s), BioSTEAM is -2221200.0, Aspen is -2011859.74 For Furfural(l),BioSTEAM is -201600.0,Aspen is -199559 For AceticAcid(l),BioSTEAM is -483580.0,Aspen is -457113.49 For Acetate(l),BioSTEAM is -483580.0,Aspen is -456328 g) The above difference between Cp_average and Hf seems to ultimately lead to a difference in reaction Hnet. Taking Xylan→Furfural+2H2O as an example, T= 373.91K, temperature variation is 373.91-298.15=75.76, and XYLAN reaction is 6.16kmol. BioSTEAM: Cp_average_Xylan=180.20, Cp_average_Furfural= 167.02, Cp_averageH2O= 75.50 Hf Xylan= -761906.4, Hf Furfural= -201600.0, Hf H2O= -285825.0 Hnet is [2(-285825.0+75.5075.76) +(-201600.0+167.0275.76)-(-761906.4+180.2075.76)]6.16= -5558.52 kJ/h Aspen: Cp_average_Xylan= 174.45, Cp_average_Furfural= 155.44, Cp_averageH2O= 77.70 Hf Xylan= -761906.4, Hf Furfural= -199559, Hf H2O= -285800 Hnet is [2(-285800+77.7075.76) +(-199559+155.4475.76)-(-761906.4+174.4575.76)] 6.16=6654.69 kJ/h The result is a large gap in Hnet, even one exothermic and one endothermic.

Thank you for your help. Wish you a good day.

yoelcortes commented 1 year ago

Answers are in #67