diff --git a/atomate/__init__.py b/atomate/__init__.py
index 14ea08976..18c7cbfa9 100644
--- a/atomate/__init__.py
+++ b/atomate/__init__.py
@@ -1 +1 @@
-__version__ = "0.7.8"
\ No newline at end of file
+__version__ = "0.7.9"
\ No newline at end of file
diff --git a/docs/_sources/atomate.qchem.firetasks.rst.txt b/docs/_sources/atomate.qchem.firetasks.rst.txt
index 0f376fa97..84ed088b2 100644
--- a/docs/_sources/atomate.qchem.firetasks.rst.txt
+++ b/docs/_sources/atomate.qchem.firetasks.rst.txt
@@ -11,6 +11,30 @@ Subpackages
Submodules
----------
+atomate.qchem.firetasks.geo\_transformations module
+---------------------------------------------------
+
+.. automodule:: atomate.qchem.firetasks.geo_transformations
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+atomate.qchem.firetasks.parse\_outputs module
+---------------------------------------------
+
+.. automodule:: atomate.qchem.firetasks.parse_outputs
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+atomate.qchem.firetasks.run\_calc module
+----------------------------------------
+
+.. automodule:: atomate.qchem.firetasks.run_calc
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
atomate.qchem.firetasks.write\_inputs module
--------------------------------------------
diff --git a/docs/_sources/atomate.qchem.firetasks.tests.rst.txt b/docs/_sources/atomate.qchem.firetasks.tests.rst.txt
index 15e9a2705..c032a886f 100644
--- a/docs/_sources/atomate.qchem.firetasks.tests.rst.txt
+++ b/docs/_sources/atomate.qchem.firetasks.tests.rst.txt
@@ -4,6 +4,22 @@ atomate.qchem.firetasks.tests package
Submodules
----------
+atomate.qchem.firetasks.tests.test\_geo\_transformations module
+---------------------------------------------------------------
+
+.. automodule:: atomate.qchem.firetasks.tests.test_geo_transformations
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+atomate.qchem.firetasks.tests.test\_run\_calc module
+----------------------------------------------------
+
+.. automodule:: atomate.qchem.firetasks.tests.test_run_calc
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
atomate.qchem.firetasks.tests.test\_write\_inputs module
--------------------------------------------------------
diff --git a/docs/_sources/atomate.qchem.fireworks.rst.txt b/docs/_sources/atomate.qchem.fireworks.rst.txt
new file mode 100644
index 000000000..fa2bf9b1a
--- /dev/null
+++ b/docs/_sources/atomate.qchem.fireworks.rst.txt
@@ -0,0 +1,22 @@
+atomate.qchem.fireworks package
+===============================
+
+Submodules
+----------
+
+atomate.qchem.fireworks.core module
+-----------------------------------
+
+.. automodule:: atomate.qchem.fireworks.core
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+
+Module contents
+---------------
+
+.. automodule:: atomate.qchem.fireworks
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/_sources/atomate.qchem.rst.txt b/docs/_sources/atomate.qchem.rst.txt
index f862e9743..ccd529d7e 100644
--- a/docs/_sources/atomate.qchem.rst.txt
+++ b/docs/_sources/atomate.qchem.rst.txt
@@ -7,6 +7,36 @@ Subpackages
.. toctree::
atomate.qchem.firetasks
+ atomate.qchem.fireworks
+ atomate.qchem.workflows
+
+Submodules
+----------
+
+atomate.qchem.database module
+-----------------------------
+
+.. automodule:: atomate.qchem.database
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+atomate.qchem.drones module
+---------------------------
+
+.. automodule:: atomate.qchem.drones
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+atomate.qchem.powerups module
+-----------------------------
+
+.. automodule:: atomate.qchem.powerups
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
Module contents
---------------
diff --git a/docs/_sources/atomate.qchem.workflows.base.rst.txt b/docs/_sources/atomate.qchem.workflows.base.rst.txt
new file mode 100644
index 000000000..44e26a430
--- /dev/null
+++ b/docs/_sources/atomate.qchem.workflows.base.rst.txt
@@ -0,0 +1,30 @@
+atomate.qchem.workflows.base package
+====================================
+
+Submodules
+----------
+
+atomate.qchem.workflows.base.double\_FF\_opt module
+---------------------------------------------------
+
+.. automodule:: atomate.qchem.workflows.base.double_FF_opt
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+atomate.qchem.workflows.base.torsion\_potential module
+------------------------------------------------------
+
+.. automodule:: atomate.qchem.workflows.base.torsion_potential
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+
+Module contents
+---------------
+
+.. automodule:: atomate.qchem.workflows.base
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/_sources/atomate.qchem.workflows.rst.txt b/docs/_sources/atomate.qchem.workflows.rst.txt
new file mode 100644
index 000000000..cabb11e36
--- /dev/null
+++ b/docs/_sources/atomate.qchem.workflows.rst.txt
@@ -0,0 +1,18 @@
+atomate.qchem.workflows package
+===============================
+
+Subpackages
+-----------
+
+.. toctree::
+
+ atomate.qchem.workflows.base
+ atomate.qchem.workflows.tests
+
+Module contents
+---------------
+
+.. automodule:: atomate.qchem.workflows
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/_sources/atomate.qchem.workflows.tests.rst.txt b/docs/_sources/atomate.qchem.workflows.tests.rst.txt
new file mode 100644
index 000000000..c8ee5f7b5
--- /dev/null
+++ b/docs/_sources/atomate.qchem.workflows.tests.rst.txt
@@ -0,0 +1,38 @@
+atomate.qchem.workflows.tests package
+=====================================
+
+Submodules
+----------
+
+atomate.qchem.workflows.tests.test\_double\_FF\_opt module
+----------------------------------------------------------
+
+.. automodule:: atomate.qchem.workflows.tests.test_double_FF_opt
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+atomate.qchem.workflows.tests.test\_parse\_pass\_write module
+-------------------------------------------------------------
+
+.. automodule:: atomate.qchem.workflows.tests.test_parse_pass_write
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+atomate.qchem.workflows.tests.test\_torsion\_potential module
+-------------------------------------------------------------
+
+.. automodule:: atomate.qchem.workflows.tests.test_torsion_potential
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+
+Module contents
+---------------
+
+.. automodule:: atomate.qchem.workflows.tests
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/_sources/changelog.rst.txt b/docs/_sources/changelog.rst.txt
index e24d35bec..4d1548f2a 100644
--- a/docs/_sources/changelog.rst.txt
+++ b/docs/_sources/changelog.rst.txt
@@ -2,6 +2,12 @@
atomate Changelog
=================
+**v0.7.9**
+
+* Overhaul and update of QChem in atomate (B. Wood, S. Blau)
+* Fix integration tests (A. Dunn)
+* Stop officially supporting Py2
+
**v0.7.8**
* some QChem tasks and workflows (B. Wood)
diff --git a/docs/_sources/contributors.rst.txt b/docs/_sources/contributors.rst.txt
index d00461c16..362a60bc2 100644
--- a/docs/_sources/contributors.rst.txt
+++ b/docs/_sources/contributors.rst.txt
@@ -6,10 +6,10 @@ atomate development is led by the Hacking Materials research group led by Anubha
Contributions are provided by:
-* Kiran Mathew, Shyam Dwaraknath, Joey Montoya, Murat Aykol, and Patrick Huck through the research group of Prof. Kristin Persson at UC Berkeley.
+* Kiran Mathew, Shyam Dwaraknath, Joey Montoya, Murat Aykol, Patrick Huck, Brandon Wood, and Sam Blau through the research group of Prof. Kristin Persson at UC Berkeley.
* Hanmei Tang, Prof. Shyue Ping Ong, and the Materials Virtual Lab research group at UC San Diego.
* Brandon Bocklund, who led the atomate documentation effort, through the research group of Prof. Zi-Kiu Liu at Penn State.
-* Alireza Faghaninia through the research group of A. Jain at LBNL.
+* Alireza Faghaninia and A. Dunn through the research group of A. Jain at LBNL.
* Tess Smidt through the research group of Prof. Jeff Neaton at UC Berkeley.
* Danny Broberg through the research group of Prof. Mark Asta at UC Berkeley.
* External contributors: specter119, M. Dias Costa
diff --git a/docs/_sources/installation.rst.txt b/docs/_sources/installation.rst.txt
index 3dc61b5d6..6d5e813d4 100644
--- a/docs/_sources/installation.rst.txt
+++ b/docs/_sources/installation.rst.txt
@@ -125,8 +125,10 @@ Installing atomate includes installation of codes, configuration files, and vari
.. _Create a Python virtual environment:
-Create a Python virtual environment
-===================================
+Create a Python 3 virtual environment
+=====================================
+
+.. note:: Make sure to create Python 3 environment (ideally Python 3.6 and higher) as recent versions of atomate only support Py3 and higher.
We highly recommended that you organize your installation of the atomate and the other Python codes using a virtual environment (e.g. ``virtualenv`` or similar tool such as anaconda).
Ultimately, whether you want to use a virtual environment is optional and you don't have to use one if you know what you are doing.
@@ -175,7 +177,7 @@ To set up your virtual environment:
Install Python packages
=======================
-You have successfully set up an environment in which to install atomate!
+You have successfully set up an Python 3 environment in which to install atomate!
Next, we will download and install all of the atomate-related Python packages.
You can install these packages automatically or in "development mode". Development mode installation makes it easier to view and modify the source code to your needs, but requires a few more steps to set up and maintain.
diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js
index 3dcadde73..30258437c 100644
--- a/docs/_static/documentation_options.js
+++ b/docs/_static/documentation_options.js
@@ -1,6 +1,6 @@
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '',
- VERSION: '0.7.8',
+ VERSION: '0.7.9',
LANGUAGE: 'None',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
diff --git a/docs/atomate.common.firetasks.html b/docs/atomate.common.firetasks.html
index c4e5e4052..beaecccae 100644
--- a/docs/atomate.common.firetasks.html
+++ b/docs/atomate.common.firetasks.html
@@ -6,7 +6,7 @@
Writes QChem Input files from input sets. A dictionary is passed to WriteInputFromIOSet where
+parameters are given as keys in the dictionary.
+
+
required_params:
+
atom_indexes (list): This should be a list of the pymatgen molecule indexes of the four atoms
+in torsion angle to be rotated
+angle (float): This is the desired torsion angle in degrees (the value should be between -180 and 180)
+
optional_params:
+
molecule (Molecule): Specify a pymatgen molecule to be rotated. A molecule is optional because molecules can
+be inherited from previous fireworks
This method gets called when the Firetask is run. It can take in a
+Firework spec, perform some task using that data, and then return an
+output in the form of a FWAction.
+
+
Args:
+
+
fw_spec (dict): A Firework spec. This comes from the master spec.
+
In addition, this spec contains a special “_fw_env” key that
+contains the env settings of the FWorker calling this method.
+This provides for abstracting out certain commands or
+settings. For example, “foo” may be named “foo1” in resource
+1 and “foo2” in resource 2. The FWorker env can specify {
+“foo”: “foo1”}, which maps an abstract variable “foo” to the
+relevant “foo1” or “foo2”. You can then write a task that
+uses fw_spec[“_fw_env”][“foo”] that will work across all
+these multiple resources.
Enter a QChem run into the database. Uses current directory unless you
+specify calc_dir or calc_loc.
+
+
Optional params:
+
+
calc_dir (str): path to dir (on current filesystem) that contains QChem
+
input and output files. Default: use current working directory.
+
calc_loc (str OR bool): if True will set most recent calc_loc. If str
+
search for the most recent calc_loc with the matching name
+
+
input_file (str): name of the QChem input file
+output_file (str): name of the QChem output file
+additional_fields (dict): dict of additional fields to add
+db_file (str): path to file containing the database credentials.
+
+
Supports env_chk. Default: write data to JSON file.
+
+
fw_spec_field (str): if set, will update the task doc with the contents
+
of this key in the fw_spec.
+
multirun (bool): Whether the job to parse includes multiple
This method gets called when the Firetask is run. It can take in a
+Firework spec, perform some task using that data, and then return an
+output in the form of a FWAction.
+
+
Args:
+
+
fw_spec (dict): A Firework spec. This comes from the master spec.
+
In addition, this spec contains a special “_fw_env” key that
+contains the env settings of the FWorker calling this method.
+This provides for abstracting out certain commands or
+settings. For example, “foo” may be named “foo1” in resource
+1 and “foo2” in resource 2. The FWorker env can specify {
+“foo”: “foo1”}, which maps an abstract variable “foo” to the
+relevant “foo1” or “foo2”. You can then write a task that
+uses fw_spec[“_fw_env”][“foo”] that will work across all
+these multiple resources.
This method gets called when the Firetask is run. It can take in a
+Firework spec, perform some task using that data, and then return an
+output in the form of a FWAction.
+
+
Args:
+
+
fw_spec (dict): A Firework spec. This comes from the master spec.
+
In addition, this spec contains a special “_fw_env” key that
+contains the env settings of the FWorker calling this method.
+This provides for abstracting out certain commands or
+settings. For example, “foo” may be named “foo1” in resource
+1 and “foo2” in resource 2. The FWorker env can specify {
+“foo”: “foo1”}, which maps an abstract variable “foo” to the
+relevant “foo1” or “foo2”. You can then write a task that
+uses fw_spec[“_fw_env”][“foo”] that will work across all
+these multiple resources.
Run QChem using custodian “on rails”, i.e. in a simple way that supports most common options.
+
+
Required params:
+
+
qchem_cmd (str): the name of the full executable for running QChem. Note that this is
+
explicitly different from qchem_cmd in RunQChemDirect because it does
+not include any flags and should only be the call to the executable.
+Supports env_chk.
+
+
+
Optional params:
+
multimode (str): Parallelization scheme, either openmp or mpi.
+input_file (str): Name of the QChem input file.
+output_file (str): Name of the QChem output file.
+max_cores (int): Maximum number of cores to parallelize over. Defaults to 32.
+qclog_file (str): Name of the file to redirect the standard output to. None means
+
+
not to record the standard output. Defaults to None.
+
suffix (str): String to append to the file in postprocess.
+scratch_dir (str): QCSCRATCH directory. Defaults to “/dev/shm/qcscratch/”.
+save_scratch (bool): Whether to save scratch directory contents. Defaults to False.
+save_name (str): Name of the saved scratch directory. Defaults to “default_save_name”.
+max_errors (int): Maximum # of errors to fix before giving up (default=5)
+job_type (str): Choose from “normal” (default) and “opt_with_frequency_flattener”
+handler_group (str): Group of handlers to use. See handler_groups dict in the code
+
+
for the groups and complete list of handlers in each group.
+
gzip_output (bool): gzip output (default=T)
+
* Just for opt_with_frequency_flattener *
+max_iterations (int): Number of perturbation -> optimization -> frequency iterations
+
+
to perform. Defaults to 10.
+
+
max_molecule_perturb_scale (float): The maximum scaled perturbation that can be
+
applied to the molecule. Defaults to 0.3.
+
reversed_direction (bool): Whether to reverse the direction of the vibrational
This method gets called when the Firetask is run. It can take in a
+Firework spec, perform some task using that data, and then return an
+output in the form of a FWAction.
+
+
Args:
+
+
fw_spec (dict): A Firework spec. This comes from the master spec.
+
In addition, this spec contains a special “_fw_env” key that
+contains the env settings of the FWorker calling this method.
+This provides for abstracting out certain commands or
+settings. For example, “foo” may be named “foo1” in resource
+1 and “foo2” in resource 2. The FWorker env can specify {
+“foo”: “foo1”}, which maps an abstract variable “foo” to the
+relevant “foo1” or “foo2”. You can then write a task that
+uses fw_spec[“_fw_env”][“foo”] that will work across all
+these multiple resources.
This method gets called when the Firetask is run. It can take in a
+Firework spec, perform some task using that data, and then return an
+output in the form of a FWAction.
+
+
Args:
+
+
fw_spec (dict): A Firework spec. This comes from the master spec.
+
In addition, this spec contains a special “_fw_env” key that
+contains the env settings of the FWorker calling this method.
+This provides for abstracting out certain commands or
+settings. For example, “foo” may be named “foo1” in resource
+1 and “foo2” in resource 2. The FWorker env can specify {
+“foo”: “foo1”}, which maps an abstract variable “foo” to the
+relevant “foo1” or “foo2”. You can then write a task that
+uses fw_spec[“_fw_env”][“foo”] that will work across all
+these multiple resources.
This method gets called when the Firetask is run. It can take in a
+Firework spec, perform some task using that data, and then return an
+output in the form of a FWAction.
+
+
Args:
+
+
fw_spec (dict): A Firework spec. This comes from the master spec.
+
In addition, this spec contains a special “_fw_env” key that
+contains the env settings of the FWorker calling this method.
+This provides for abstracting out certain commands or
+settings. For example, “foo” may be named “foo1” in resource
+1 and “foo2” in resource 2. The FWorker env can specify {
+“foo”: “foo1”}, which maps an abstract variable “foo” to the
+relevant “foo1” or “foo2”. You can then write a task that
+uses fw_spec[“_fw_env”][“foo”] that will work across all
+these multiple resources.
Writes QChem Input files from custom input sets. This firetask gives the maximum flexibility when trying
+to define custom input parameters.
+
+
required_params:
+
qchem_input_custom (dict): Define custom input parameters to generate a qchem input file.
+This should be a dictionary of dictionaries (i.e. {{“rem”: {“method”: “b3lyp”, basis”: “6-31*G++”, …}
+Each QChem section should be a key with its own dictionary as the value. For more details on how
+the input should be structured look at pymatgen.io.qchem_io.inputs
+* *
+
optional_params:
+
molecule (Molecule):
+input_file (str): Name of the QChem input file. Defaults to mol.qin
+write_to_dir (str): Path of the directory where the QChem input file will be written,
+the default is to write to the current working directory
This method gets called when the Firetask is run. It can take in a
+Firework spec, perform some task using that data, and then return an
+output in the form of a FWAction.
+
+
Args:
+
+
fw_spec (dict): A Firework spec. This comes from the master spec.
+
In addition, this spec contains a special “_fw_env” key that
+contains the env settings of the FWorker calling this method.
+This provides for abstracting out certain commands or
+settings. For example, “foo” may be named “foo1” in resource
+1 and “foo2” in resource 2. The FWorker env can specify {
+“foo”: “foo1”}, which maps an abstract variable “foo” to the
+relevant “foo1” or “foo2”. You can then write a task that
+uses fw_spec[“_fw_env”][“foo”] that will work across all
+these multiple resources.
+
+
+
Returns:
+
(FWAction)
+
+
+
+
+
class atomate.qchem.firetasks.write_inputs.WriteInput(*args, **kwargs)¶
Iteratively optimize the given structure and flatten imaginary frequencies to ensure that
+the resulting structure is a true minima and not a saddle point.
+
+
Args:
+
molecule (Molecule): Input molecule.
+name (str): Name for the Firework.
+qchem_cmd (str): Command to run QChem. Defaults to qchem.
+multimode (str): Parallelization scheme, either openmp or mpi.
+input_file (str): Name of the QChem input file. Defaults to mol.qin.
+output_file (str): Name of the QChem output file. Defaults to mol.qout.
+max_cores (int): Maximum number of cores to parallelize over. Defaults to 32.
+qchem_input_params (dict): Specify kwargs for instantiating the input set parameters.
+
+
For example, if you want to change the DFT_rung, you should
+provide: {“DFT_rung”: …}. Defaults to None.
+
+
max_iterations (int): Number of perturbation -> optimization -> frequency
+
iterations to perform. Defaults to 10.
+
max_molecule_perturb_scale (float): The maximum scaled perturbation that can be
+
applied to the molecule. Defaults to 0.3.
+
reversed_direction (bool): Whether to reverse the direction of the vibrational
+
frequency vectors. Defaults to False.
+
+
db_file (str): Path to file specifying db credentials to place output parsing.
+parents ([Firework]): Parents of this particular Firework.
+**kwargs: Other kwargs that are passed to Firework.__init__.
molecule (Molecule): Input molecule.
+name (str): Name for the Firework.
+qchem_cmd (str): Command to run QChem. Defaults to qchem.
+multimode (str): Parallelization scheme, either openmp or mpi.
+input_file (str): Name of the QChem input file. Defaults to mol.qin.
+output_file (str): Name of the QChem output file. Defaults to mol.qout.
+max_cores (int): Maximum number of cores to parallelize over. Defaults to 32.
+qchem_input_params (dict): Specify kwargs for instantiating the input set parameters.
+
+
For example, if you want to change the DFT_rung, you should
+provide: {“DFT_rung”: …}. Defaults to None.
+
db_file (str): Path to file specifying db credentials to place output parsing.
+parents ([Firework]): Parents of this particular Firework.
+**kwargs: Other kwargs that are passed to Firework.__init__.
Parses qchem input and output files and insert the result into the db.
+
+
Args:
+
path (str): Path to the directory containing output file
+input_file (str): base name of the input file(s)
+output_file (str): base name of the output file(s)
+multirun (bool): Whether the job to parse includes multiple
Find the files that match the pattern in the given path and
+return them in an ordered dictionary. The searched for files are
+filtered by the run types defined in self.runs.
+
+
Args:
+
path (string): path to the folder
+file_pattern (string): base files to be searched for
+
Returns:
+
OrderedDict of the names of the files to be processed further.
+The key is set from list of run types: self.runs
Checks if path contains valid data for assimilation, and then returns
+the valid paths. The paths returned can be a list of directory or file
+paths, depending on what kind of data you are assimilating. For
+example, if you are assimilating VASP runs, you are only interested in
+directories containing vasprun.xml files. On the other hand, if you are
+interested converting all POSCARs in a directory tree to cifs for
+example, you will want the file paths.
+
+
Args:
+
+
path: input path as a tuple generated from os.walk, i.e.,
Post-processing for various files other than the QChem input and output files.
+Currently only looks for custodian.json. Modify this if other files need to be processed.
Returns a workflow to the torsion potential for a molecule.
+
+
Firework 1 :write QChem input for an FF optimization,
+
run FF_opt QCJob,
+parse directory and insert into db,
+pass relaxed molecule to fw_spec and on to fw2,
+
Firework 2 :write QChem input for an optimization in the
+
+
presence of a PCM, using the molecule passed
+from fw1,
+
run FF_opt QCJob,
+parse directory and insert into db
+
+
Args:
+
molecule (Molecule): input molecule to be optimized and run.
+pcm_dielectric (float): The PCM dielectric constant.
+max_cores (int): Maximum number of cores to parallelize over.
+
+
Defaults to 32.
+
+
qchem_input_params (dict): Specify kwargs for instantiating
+
the input set parameters.
+
+
qchem_cmd (str): Command to run QChem.
+db_file (str): path to file containing the database credentials.
+kwargs (keyword arguments): additional kwargs to be passed to Workflow
Returns a workflow to the torsion potential for a molecule.
+
+
Firework 1 :write QChem input for an optimization,
+
run Qchem,
+parse output and insert into db,
+pass relaxed molecule to fw_spec and on to fw2,
+
Firework 2 :rotate molecule torsion to a particular angle,
+
write QChem input for an optimization,
+run Qchem,
+parse output and insert into db
+
+
last Firework : add analysis code at some point
+
+
+
Args:
+
molecule (Molecule): Input molecule (needs to be a pymatgen molecule object)
+atom_indexes (list of ints): list of atom indexes in the torsion angle to be rotated (i.e. [6, 8, 9, 10])
+angles (list of floats): list of all the torsion angles to run
+rem (list of two rem dictionaries): a list with two rem dictionaries, one for the first optimization and
+one for the second constrained optimization
+name (str): Name for the workflow.
+qchem_cmd (str): Command to run QChem. Defaults to qchem.
+multimode (str): Parallelization scheme, either openmp or mpi.
+input_file (str): Name of the QChem input file. Defaults to mol.qin.
+output_file (str): Name of the QChem output file. Defaults to mol.qout.
+max_cores (int): Maximum number of cores to parallelize over. Defaults to 32.
+qchem_input_params (dict): Specify kwargs for instantiating the input set parameters.
+
+
For example, if you want to change the DFT_rung, you should
+provide: {“DFT_rung”: …}. Defaults to None.
+
db_file (str): Path to file specifying db credentials to place output parsing.
+**kwargs: Other kwargs that are passed to Firework.__init__.
Make sure to create Python 3 environment (ideally Python 3.6 and higher) as recent versions of atomate only support Py3 and higher.
+
We highly recommended that you organize your installation of the atomate and the other Python codes using a virtual environment (e.g. virtualenv or similar tool such as anaconda).
Ultimately, whether you want to use a virtual environment is optional and you don’t have to use one if you know what you are doing.
Virtual environments allow you to keep an installation of Python and all of the installed packages separate from the installation on the system.
@@ -184,8 +188,8 @@
You have successfully set up an Python 3 environment in which to install atomate!
Next, we will download and install all of the atomate-related Python packages.
You can install these packages automatically or in “development mode”. Development mode installation makes it easier to view and modify the source code to your needs, but requires a few more steps to set up and maintain.
To install packages automatically, the main tool we will use is pip (unless you have an Anaconda distribution where you’d again use conda). To install the packages run:
If you are planning to run VASP, the last configuration step is to configure pymatgen to (required) find the pseudopotentials for VASP and (optional) set up your API key from the Materials Project.
To make sure that everything is set up correctly and in place, we’ll finally run a simple (but real) test workflow. Two methods to create workflows are (i) using atomate’s command line utility atwf or (ii) by creating workflows in Python. For the most part, we recommend using method (ii), the Python interface, since it is more powerful and also simple to use. However, in order to get started without any programming, we’ll stick to method (i), the command line, using atwf to construct a workflow. Note that we’ll discuss the Python interface more in the Running Workflows Tutorial and provide details on writing custom workflows in the Creating Workflows.
Ideally you set up a Materials Project API key in the Configure pymatgen section, otherwise you will need to provide a POSCAR for the structure you want to run. In addition, there are two different methods to use atwf - one using a library of preset functions for constructing workflows and another with a library of files for constructing workflows.
This particular workflow will only run a single calculation that optimizes a crystal structure (not very exciting). In the subsequent tutorials, we’ll run more complex workflows.
diff --git a/docs_rst/changelog.rst b/docs_rst/changelog.rst
index e24d35bec..4d1548f2a 100644
--- a/docs_rst/changelog.rst
+++ b/docs_rst/changelog.rst
@@ -2,6 +2,12 @@
atomate Changelog
=================
+**v0.7.9**
+
+* Overhaul and update of QChem in atomate (B. Wood, S. Blau)
+* Fix integration tests (A. Dunn)
+* Stop officially supporting Py2
+
**v0.7.8**
* some QChem tasks and workflows (B. Wood)
diff --git a/docs_rst/contributors.rst b/docs_rst/contributors.rst
index d00461c16..362a60bc2 100644
--- a/docs_rst/contributors.rst
+++ b/docs_rst/contributors.rst
@@ -6,10 +6,10 @@ atomate development is led by the Hacking Materials research group led by Anubha
Contributions are provided by:
-* Kiran Mathew, Shyam Dwaraknath, Joey Montoya, Murat Aykol, and Patrick Huck through the research group of Prof. Kristin Persson at UC Berkeley.
+* Kiran Mathew, Shyam Dwaraknath, Joey Montoya, Murat Aykol, Patrick Huck, Brandon Wood, and Sam Blau through the research group of Prof. Kristin Persson at UC Berkeley.
* Hanmei Tang, Prof. Shyue Ping Ong, and the Materials Virtual Lab research group at UC San Diego.
* Brandon Bocklund, who led the atomate documentation effort, through the research group of Prof. Zi-Kiu Liu at Penn State.
-* Alireza Faghaninia through the research group of A. Jain at LBNL.
+* Alireza Faghaninia and A. Dunn through the research group of A. Jain at LBNL.
* Tess Smidt through the research group of Prof. Jeff Neaton at UC Berkeley.
* Danny Broberg through the research group of Prof. Mark Asta at UC Berkeley.
* External contributors: specter119, M. Dias Costa
diff --git a/docs_rst/installation.rst b/docs_rst/installation.rst
index 3dc61b5d6..6d5e813d4 100644
--- a/docs_rst/installation.rst
+++ b/docs_rst/installation.rst
@@ -125,8 +125,10 @@ Installing atomate includes installation of codes, configuration files, and vari
.. _Create a Python virtual environment:
-Create a Python virtual environment
-===================================
+Create a Python 3 virtual environment
+=====================================
+
+.. note:: Make sure to create Python 3 environment (ideally Python 3.6 and higher) as recent versions of atomate only support Py3 and higher.
We highly recommended that you organize your installation of the atomate and the other Python codes using a virtual environment (e.g. ``virtualenv`` or similar tool such as anaconda).
Ultimately, whether you want to use a virtual environment is optional and you don't have to use one if you know what you are doing.
@@ -175,7 +177,7 @@ To set up your virtual environment:
Install Python packages
=======================
-You have successfully set up an environment in which to install atomate!
+You have successfully set up an Python 3 environment in which to install atomate!
Next, we will download and install all of the atomate-related Python packages.
You can install these packages automatically or in "development mode". Development mode installation makes it easier to view and modify the source code to your needs, but requires a few more steps to set up and maintain.
diff --git a/setup.py b/setup.py
index 48e49bdae..2ff0802bc 100644
--- a/setup.py
+++ b/setup.py
@@ -9,7 +9,7 @@
if __name__ == "__main__":
setup(
name='atomate',
- version='0.7.8',
+ version='0.7.9',
description='atomate has implementations of FireWorks workflows for '
'Materials Science',
long_description=open(os.path.join(module_dir, 'README.md')).read(),