Running python -m phasecalculator calculate -i systemcollection.xml for new solvents
systemcollection.xml has all the information necessary for doing phase calculations. It has the name of the solvent of interest, its inchikey, and the path to the ssip file where the solvent ssip information is stored.
However when inputting a new solvent, two parts of the code break.
- The first error is this:
"/home/mcstorer/anaconda3/envs/resultsanalysis/lib/python3.7/site-packages/phasexmlcreator/multicomponentassembler.py", line 150, in <dictcomp> return {name_inchikey_map[name]: mole_fraction for name, mole_fraction in mole_fraction_dict.items()}
This can be fixed by adding the solvent name and the inchikey to the following file:
puresolventinformation/puresolventinformation/resources/solventinchikeys.csv
Note however that this information is superfluous as it is contained already in the systemcollection.xml file
- If the info is added to the solventinchikeys.csv file, a second error is generated:
File "/home/mcstorer/anaconda3/envs/resultsanalysis/lib/python3.7/site-packages/phasexmlcreator/multicomponentassembler.py", line 173, in append_molefractions information_dict = copy.deepcopy(ssip_information_dict[inchikey]['ssip_info_list'][0])
This requires the solvent name, inchikey and concenrtration at 298K to be added to:
phasexmlcreator/phasexmlcreator/solvent_information/solvent_information.csv
Again this is superfluous information because the name and the solvent inchikey are present in the systemcollection.xml, and the concentration is calculated in the phasecalculator, so does not need to be read in.
Conclusion: in order to make the code more flexible so that also new solvents can be studied there should be fewer dependencies, and in particular reading in the solvent csv files should be completely eliminated.