Missing basis sets
Description
The loprop procedure requires special ANO-type recontracted basis sets. These are not provided by default in a DALTON installation. When attempting a calculation of loprop embedding parameters with PyFraME, it fails with
Traceback (most recent call last): File "./pyframe_run.py", line 13, in project.create_embedding_potential(system) File "/work/sdujk/Programs/miniconda3/lib/python3.6/site-packages/pyframe/project.py", line 308, in create_embedding_potential potential = getattr(OutputReaders, reader)(filename) File "/work/sdujk/Programs/miniconda3/lib/python3.6/site-packages/pyframe/readers.py", line 288, in dalton_loprop n_sites = int(line[0]) ValueError: invalid literal for int() with base 10: 'Needed'
This happens since all the DALTON calculations could not find the basis set, and therefore fail.
Possible Solution
- Raise an error if the underlying calculations fail, for easier debugging
- Provide loprop basis sets with PyFrAME, and set the BASDIR environment variable before starting DALTON calculations
Steps to Reproduce (for bugs)
Running this pyframe script will demonstate the bug
- Use a default DALTON installation
- Run the pyframe script.
#!/usr/bin/env python
import pyframe
system = pyframe.MolecularSystem("thiophene_sph_20.pdb")
core = system.get_fragments_by_name(["MOL"])
water = system.get_fragments_by_name(["WAT"])
system.set_core_region(core)
system.add_region(name="solvent", fragments=water, use_mfcc=True, use_multipoles=True, multipole_order=2, multipole_xcfun='CAMB3LYP',
multipole_basis='loprop-cc-pVDZ', use_polarizabilities=True, polarizability_xcfun='CAMB3LYP', polarizability_basis='loprop-cc-pVDZ')
project = pyframe.Project(scratch_dir='/scratch/sdujk/reinholdt/', jobs_per_node=4)
project.create_embedding_potential(system)
Context
Your Environment
- Version used: 0.11.0
- Python version and distribution: 3.6 miniconda
- Operating System and version: Linux 3.10.0-327.36.3.el7.x86_64 #1 SMP Mon Oct 24 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux