Prediction of self-diffusion of polar/non-polar, spherical/non-spherical, and hydrogen-bonding molecules in liquids, compressed gases or supercritical fluids.
The machine learning models were trained with a database of 5551 experimental data points from over 216 systems.
The AARD achieved by the models ML5-D11 and ML8-D11 in the test set were 9.06 % and 7.14 %, respectively.
| Model | Input parameters required |
|---|---|
ML5-D11 |
temperature, critical volume, critical temperature, density and acentric factor |
ML8-D11 |
temperature, critical volume, critical temperature, density, acentric factor, pressure and substance identifier (SMILES) |
-
Download this repository by clicking
Code>Download ZIP. Unzip the folder. -
Install Python. We recommend a installing the Anaconda Distribution or Miniconda.
-
Open the Anaconda Prompt and change the directory to where you extracted the repository files:
cd path/to/folder. -
Create a
condavirtual environment using the providedenvironment.ymlfile:conda env create -f environment.yml -
Activate the environment with:
conda activate ml. -
You can now use the models following instructions bellow either in a
.pyscript file or in a Jupyter Notebook (already provided in the environment by runningjupyter lab).
To use the ML5-D11 model:
Call the program and provide the properties:
- Temperature (K)
- Critical volume (cm3/mol)
- Critical temperature (K)
- Density (g/cm3)
- Acentric factor
To use the ML8-D11 model:
Call the program and provide the properties:
- Temperature (K)
- Critical volume (cm3/mol)
- Critical temperature (K)
- Density (g/cm3)
- Acentric factor
- Pressure (bar)
- Substance identifier (SMILES)
To use the ML5-D11 model:
from ml_D11 import ML5_D11
model=ML5_D11()
model.predict(temp=[112.25], crit_vol=[99.2], crit_temp=[190.4], dens=[0.4222], acent_fact=[0.011])
# Output: array([4.7065659e-05])To use the ML-D11 model:
from ml_D11 import ML8_D11
model=ML8_D11()
model.predict(temp=[112.25], crit_vol=[99.2], crit_temp=[190.4], dens=[0.4222], acent_fact=[0.011], press=[8.61], smiles=['C'])
# Output: array([4.71234228e-05])The outputed D11 values are in cm2/s.
More usage examples are provided in the examples.ipynb file.