-
Mark Driver authoredMark Driver authored
- Phasecalculator
- How do I get set up?
- Required modules
- Clone this repository
- Setting up the python environment
- Install dependencies
- Using pip to install module
- Expected usage
- Example calculations
- Notes about file formats
- CSV file format for phase information
- Documentation
- Contribution guidelines
- Who do I talk to?
- Licensing
Phasecalculator
Phasecalculator is a python package designed to automate calculation of FGIPs, solvent similarity and VLE informatio n using SSIMPLE, pulling together analysis and calculation modules in a higher l evel repository for easier use by experimental chemists.
How do I get set up?
Required modules
The other modules produced by Mark Driver required for this work to function are:
* xmlvalidator [bitbucket](https://bitbucket.org/mdd31/xmlvalidator) [CamGitlab](https://gitlab.developers.cam.ac.uk/ch/hunter/ssiptools/utils/xmlvalidator)
* puresolventinformation [bitbucket](https://bitbucket.org/mdd31/puresolventinformation) [CamGitlab](https://gitlab.developers.cam.ac.uk/ch/hunter/ssiptools/ssimpleapps/puresolventinformation)
* resultsanalysis [bitbucket](https://bitbucket.org/mdd31/resultsanalysis) [CamGitlab](https://gitlab.developers.cam.ac.uk/ch/hunter/ssiptools/utils/resultsanalysis)
* phasexmlparser [bitbucket](https://bitbucket.org/mdd31/phasexmlparser) [CamGitlab](https://gitlab.developers.cam.ac.uk/ch/hunter/ssiptools/phasexmlparser)
* phasexmlcreator [bitbucket](https://bitbucket.org/mdd31/phasexmlcreator) [CamGitlab](https://gitlab.developers.cam.ac.uk/ch/hunter/ssiptools/phasexmlcreator)
* solventmapcreator [bitbucket](https://bitbucket.org/mdd31/solventmapcreator) [CamGitlab](https://gitlab.developers.cam.ac.uk/ch/hunter/ssiptools/ssimpleapps/solventmapcreator)
* ssip (specifically phasetransfer module) [CamGitlab](https://gitlab.developers.cam.ac.uk/ch/hunter/ssip)
Clone this repository
From bitbucket:
git clone https://bitbucket.org/mdd31/phasecalculator.git
From University of Cambridge gitlab:
Setting up the python environment
Change to the repository:
cd phasecalculator
Details of an anaconda environment is provided in the repository with the required dependencies for this package.
conda env create -f environment.yml
This creates and environment callled 'resultsanalysis' which can be loaded using:
conda activate resultsanalysis
Install dependencies
Before installing this module please make sure that the required modules listed previously are installed in the current python environment. Before cloning the dependent repositories please change up a directory and follow install instructions to install in this environment.
For the SSIP phasetransfer module please compile a jar with dependencies as detailed in the repository documentation (This requires version 6.0.0 or greater). A pre-compiled jar with dependencies may be available on the repository ___ page.
Using pip to install module
To install in your environment using pip run:
pip install .
This installs it in your current python environment.
Expected usage
This module contains methods for the running of FGIP, similarity and VLE calculations for solvent mixtures at specified temperatures. The calculation process can be run through the use of an XML data format. For the specification of this format please see the Phase Calculator schema on the Hunter Group website. The CLI has been implemented to enable operation in two modes:
- Run calculations from input XML.
This uses the calculate option of the CLI.
- Generate input XML for default solvents.
This uses the inpgen option of the CLI.
See the help arguments for more information about the options.
Example calculations
Please see the examples included in the bottom of the help statements for the inpgen and calculate modules.
Notes about file formats
CSV file format for phase information
The CSV file of phase information used by inpgen to create the phase calculator XML has the following specification.
-
The file is tab '\t' delimited, and fields are not quoted.
-
One solvent/phase entry per row.
-
First column contains the temperature.
-
Subsequent columns contain molecule name and molefraction for each molecule present in the solvent/phase.
-
Illustrative line is below:
TEMP MOL_NAME1 MOL_FRAC1 MOL_NAME2 MOL_FRAC2 ...
Default solvent names for inclusion in the CSV file can be found by running:
python -m phasecalculator solventnames
This lists the accepted names of components for use with the CLI. For more advanced usage please see the source code documentation.
Documentation
Documentation can be rendered using sphinx.
cd docs
make html
The rendered HTML can then be found in the build sub folder.
In progress: display of this documentation in a project wiki.
Contribution guidelines
This code has been released under the AGPLv3 license. If you find any bugs please file an issue ticket. Submission of pull requests for open issues or improvements are welcomed.
Who do I talk to?
Any queries please contact Mark Driver.
Licensing
This is released under the AGPLv3 license.