Package: calc-pe
calc_pecalc_pe computes the parasitic energy for CO2capture from CO2and N2isotherms.Installgit clone https://github.com/danieleongari/calc_pe.git
cd calc_pe
pip install .Input and run$ calc_pe Mg-MOF74 coal -rho 914.88 -cp 896 -process TPSA -datapath ./tests/Seecalc_pe --helpfor the input description.Usecalc_pe --logfor printing the debug log file.NB:The isotherm data should be put in the{datapath}/{structure_name}folder.The temperature at which the isotherm data is calculated is automatically
read from the filename{datapath}/{structure_name}/{adsorbate_name}/{temperature}.csv.Isotherms are fitted usingpyiast.InterpolatorIsothermwithfill_value = uptake.max(). Therefore, the isotherm should be well
saturated, because for higher pressures the loading is extrapolated as the
maximum uptake.The heat of adsorption (HoA) needs to be provided in kJ/mol for all the
loading pressures of the isotherm. It is needed to shift the original isotherm
to a new temperature using the Classius-Clapyeron equation. Note that the HoA
is defined here with a NEGATIVE value.You can provide density and cp as single value filescp.csvandrho.csv:
see the tests as example.For testing the minimal inputs are:$ cd tests/
$ calc_pe Mg-MOF74 coal
$ calc_pe HKUST-1 coalOutputIn the output, the program prints:Mg-MOF74: PE(MJ/kg)= 0.867: Pd(bar)= 0.01 Td(K)= 333.0 EL(-) = 0.235 Q(MJ/kg)= 0.124 Wcomp(MJ/kg)= 0.743 WCv(kg/m3)= 114.655 WCg(kg/kg)= 0.193 pur(-)= 0.967Name of the adsorbentPE(MJ/kg): parasitic energy per kg of CO2(Note: PE=Q+Wcomp)Pd(bar): optimal desorption pressureTd(K): optimal desorption temperatureEL(J/J): fraction of electricity lossQ(MJ/kg): heat requirementWcomp(MJ/kg): compression workWCv(kg/m3): volumetric working capacity, i.e.,
mass of CO2produced per m2of bed,
considering-vfvoid fraction.WCg(kg/kg): gravimetric working capacity, i.e.,
mass of CO2produced per kg of bed,
considering-vfvoid fraction.pur(mol/mol): molar fraction of CO2final purity (-)A warning is printed in case of negative working capacity
for all the tested desorption conditions, e.g.:$ calc_pe HKUST-1 air
HKUST-1: Unfeasible process!NB:The Henry coefficient for CO2is a good pre-screening parameterThe working capacity is also very important, since it allows for less cycles
using the same amount of adsorbent (or less adsorbent needed with the same
cycles).The final CO2purity is less than the imposed purity,-yd(default: 0.99): we use theydvalue as an approximation of the gas phase at
desorption to get the uptake in the adsorbent at the desorption condition
(using IAST). Note that the PE is not very sensitive toyd(seeJoos et al. (2016))
and there is not a motivated need for reiteration.
The final CO2purity is computed as the working capacity of
CO2over the sum of the working capacities of both CO2and N2.By default the program prints the results for optimal PE (i.e., the lowest).
However, one can search for other optimal parameters by using the-optcommand:
lowestQif he is not interest in compressing the CO2,
highest working capacity (WC) or highest CO2final purity (pur).Note that these may not be anymore optimization problems, returning just
the max/min T and P conditions.Dependenciescalc_pe uses:pyIASTnumpypandasReferencesIf you use calc_pe, please consider citing:Evaluating different classes of porous materials for carbon capture (2014)In silico screening of carbon-capture materials (2012)This program has been used in:Building a Consistent and Reproducible Database for Adsorption Evaluation in Covalent–Organic FrameworksAuthorsJohanna M. HuckLi-Chiang LinCory M. SimonAdam BergerDaniele Ongari (restyling, December 2018)