Calculator for the CO2 parasitic energy from CO2 and N2 isotherms
Project description
calc_pe
calc_pe computes the parasitic energy for CO_{2} capture from CO_{2} and N_{2} isotherms.
Install
git clone https://github.com/danieleongari/calc_pe.git
cd calc_pe
pip install .
Input and run
$ calc_pe MgMOF74 coal rho 914.88 cp 896 process TPSA datapath ./tests/
See calc_pe help
for the input description.
Use calc_pe log
for 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 using
pyiast.InterpolatorIsotherm
withfill_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 ClassiusClapyeron equation. Note that the HoA is defined here with a NEGATIVE value.

You can provide density and cp as single value files
cp.csv
andrho.csv
: see the tests as example. 
For testing the minimal inputs are:
$ cd tests/
$ calc_pe MgMOF74 coal
$ calc_pe HKUST1 coal
Output
In the output, the program prints:
MgMOF74: 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.967
 Name of the adsorbent
PE(MJ/kg)
: parasitic energy per kg of CO_{2} (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 CO_{2} produced per m^{2} of bed, consideringvf
void fraction.WCg(kg/kg)
: gravimetric working capacity, i.e., mass of CO_{2} produced per kg of bed, consideringvf
void fraction.pur(mol/mol)
: molar fraction of CO_{2} final purity ()
A warning is printed in case of negative working capacity for all the tested desorption conditions, e.g.:
$ calc_pe HKUST1 air
HKUST1: Unfeasible process!
NB:

The Henry coefficient for CO_{2} is a good prescreening parameter

The 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 CO_{2} purity is less than the imposed purity,
yd
(default: 0.99): we use theyd
value 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
(see Joos et al. (2016)) and there is not a motivated need for reiteration. The final CO_{2} purity is computed as the working capacity of CO_{2} over the sum of the working capacities of both CO_{2} and N_{2}. 
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
opt
command: lowestQ
if he is not interest in compressing the CO_{2}, highest working capacity (WC
) or highest CO_{2} final purity (pur
). Note that these may not be anymore optimization problems, returning just the max/min T and P conditions.
Dependencies
calc_pe uses:
 pyIAST
 numpy
 pandas
References
If you use calc_pe, please consider citing:
 Evaluating different classes of porous materials for carbon capture (2014)
 In silico screening of carboncapture materials (2012)
This program has been used in:
Authors
 Johanna M. Huck
 LiChiang Lin
 Cory M. Simon
 Adam Berger
 Daniele Ongari (restyling, December 2018)
Project details
Release history Release notifications  RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for calc_pe1.0.1py2.py3noneany.whl
Algorithm  Hash digest  

SHA256  cbfc4cad837297db846ab99554b164348763f0fd0ad1e8d7d2a9057d09739811 

MD5  55571d9eac48a3bde53a9e27dcae5e42 

BLAKE2b256  02764c36b7a892c369d7b508d06bce385d4fc991198614277add72e91fa3dcea 