Used to calculate magnetic deformation from
+get_wf_magnetic_deformation workflow. See docstring
+for that workflow for more information.
+Required parameters:
+
+
db_file (str): path to the db file that holds your tasks
+collection and that you want to hold the magnetic_orderings
+collection
+wf_uuid (str): auto-generated from get_wf_magnetic_orderings,
+used to make it easier to retrieve task docs
+
+
Optional parameters:
+
to_db (bool): if True, the data will be inserted into
+dedicated collection in database, otherwise, will be dumped
+to a .json file.
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.
Used to aggregate tasks docs from magnetic ordering workflow.
+For large-scale/high-throughput use, would recommend a specific
+builder, this is intended for easy, automated use for calculating
+magnetic orderings directly from the get_wf_magnetic_orderings
+workflow. It’s unlikely you will want to call this directly.
+Required parameters:
+
+
db_file (str): path to the db file that holds your tasks
+collection and that you want to hold the magnetic_orderings
+collection
+wf_uuid (str): auto-generated from get_wf_magnetic_orderings,
+used to make it easier to retrieve task docs
+parent_structure: Structure of parent crystal (not magnetically
+ordered)
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.vasp.firetasks.parse_outputs.PolarizationToDb(*args, **kwargs)¶
Standard NonSCF Calculation Firework supporting uniform and line modes.
Args:
-
structure (Structure): Input structure - used only to set the name of the FW.
-name (str): Name for the Firework.
+
+
structure (Structure): Input structure - used only to set the name
+
of the FW.
+
+
name (str): Name for the Firework.
mode (str): “uniform” or “line” mode.
vasp_cmd (str): Command to run vasp.
copy_vasp_outputs (bool): Whether to copy outputs from previous
Inserts a task document (e.g., as returned by Drone.assimilate()) into the database.
-Handles putting DOS and band structure into GridFS as needed.
+Handles putting DOS, band structure and charge density into GridFS as needed.
+During testing, a percentage of runs on some clusters had corrupted AECCAR files when even if everything else about the calculation looked OK.
+So we do a quick check here and only record the AECCARs if they are valid
Args:
task_doc: (dict) the task document
@@ -957,7 +962,7 @@
This workflow will try several different collinear
+magnetic orderings for a given input structure,
+and output a summary to a dedicated database
+collection, magnetic_orderings, in the supplied
+db_file.
+
If the input structure has magnetic moments defined, it
+is possible to use these as a hint as to which elements are
+magnetic, otherwise magnetic elements will be guessed
+(this can be changed using default_magmoms kwarg).
+
+
A brief description on how this workflow works:
+
+
We make a note of the input structure, and then
+sanitize it (make it ferromagnetic, primitive)
+
We gather information on which sites are likely
+magnetic, how many unique magnetic sites there
+are (whether one species is in several unique
+environments, e.g. tetrahedral/octahedra as Fe
+in a spinel)
+
We generate ordered magnetic structures, first
+antiferromagnetic, and then, if appropriate,
+ferrimagnetic_Cr2NiO4 structures either by species or
+by environment – this makes use of some new
+additions to MagOrderingTransformation to allow
+the spins of different species to be coupled together
+(e.g. all one species spin up, all other species spin
+down, with an overall order parameter of 0.5)
+
For each ordered structure, we perform a relaxation
+and static calculation. Then an aggregation is performed
+which finds which ordering is the ground state (of
+those attempted in this specific workflow). For
+high-throughput studies, a dedicated builder is
+recommended.
+
For book-keeping, a record is kept of whether the
+input structure is enumerated by the algorithm or
+not. This is useful when supplying the workflow with
+a magnetic structure obtained by experiment, to measure
+the performance of the workflow.
+
+
+
Args:
+
structure: input structure
+default_magmoms: (optional, defaults provided) dict of
+
+
magnetic elements to their initial magnetic moments in µB, generally
+these are chosen to be high-spin since they can relax to a low-spin
+configuration during a DFT electronic configuration
+
+
strategies: different ordering strategies to use, choose from:
+
ferromagnetic, antiferromagnetic, antiferromagnetic_by_motif,
+ferrimagnetic_by_motif and ferrimagnetic_by_species (here, “motif”,
+means to use a different ordering parameter for symmetry inequivalent
+sites)
+
+
automatic: if True, will automatically choose sensible strategies
+truncate_by_symmetry: if True, will remove very unsymmetrical
+
+
orderings that are likely physically implausible
+
transformation_kwargs: keyword arguments to pass to
+
+
MagOrderingTransformation, to change automatic cell size limits, etc.
atomate development is led by the Hacking Materials research group led by Anubhav Jain at Lawrence Berkeley National Lab, using primarily research funding from U.S. Department of Energy Early Career program.
+
atomate development is led by the Hacking Materials research group led by Anubhav Jain at Lawrence Berkeley National Lab, using primarily research funding from U.S. Department of Energy Early Career program; additional support and funding is from the U.S. Department of Energy Materials Project program.
Contributions are provided by:
Alireza Faghaninia, Alex Dunn, Alex Ganose, and Evan Spotte-Smith through the research group of A. Jain at LBNL.
diff --git a/docs_rst/atomate.vasp.workflows.base.rst b/docs_rst/atomate.vasp.workflows.base.rst
index c891174c8..b42dc89da 100644
--- a/docs_rst/atomate.vasp.workflows.base.rst
+++ b/docs_rst/atomate.vasp.workflows.base.rst
@@ -60,6 +60,14 @@ atomate.vasp.workflows.base.gibbs module
:undoc-members:
:show-inheritance:
+atomate.vasp.workflows.base.magnetism module
+--------------------------------------------
+
+.. automodule:: atomate.vasp.workflows.base.magnetism
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
atomate.vasp.workflows.base.neb module
--------------------------------------
diff --git a/docs_rst/atomate.vasp.workflows.tests.rst b/docs_rst/atomate.vasp.workflows.tests.rst
index 23b6261d0..48e98f18a 100644
--- a/docs_rst/atomate.vasp.workflows.tests.rst
+++ b/docs_rst/atomate.vasp.workflows.tests.rst
@@ -36,6 +36,14 @@ atomate.vasp.workflows.tests.test\_ferroelectric\_workflow module
:undoc-members:
:show-inheritance:
+atomate.vasp.workflows.tests.test\_magnetism\_workflow module
+-------------------------------------------------------------
+
+.. automodule:: atomate.vasp.workflows.tests.test_magnetism_workflow
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
atomate.vasp.workflows.tests.test\_neb\_workflow module
-------------------------------------------------------
diff --git a/docs_rst/changelog.rst b/docs_rst/changelog.rst
index ec752b158..5258526d8 100644
--- a/docs_rst/changelog.rst
+++ b/docs_rst/changelog.rst
@@ -2,6 +2,12 @@
atomate Changelog
=================
+**v0.8.8**
+
+* magnetic ordering workflows (M. Horton)
+* better checks for AECAR storage (J. Shen)
+* update VASP NCF set NEDOS (M. Dylla)
+
**v0.8.7**
* store custodian data in its own key in FWAction (E. Sivonxay)
diff --git a/docs_rst/contributors.rst b/docs_rst/contributors.rst
index 5452e7547..f9edea431 100644
--- a/docs_rst/contributors.rst
+++ b/docs_rst/contributors.rst
@@ -2,7 +2,7 @@
Contributors
============
-atomate development is led by the Hacking Materials research group led by Anubhav Jain at Lawrence Berkeley National Lab, using primarily research funding from U.S. Department of Energy Early Career program.
+atomate development is led by the Hacking Materials research group led by Anubhav Jain at Lawrence Berkeley National Lab, using primarily research funding from U.S. Department of Energy Early Career program; additional support and funding is from the U.S. Department of Energy Materials Project program.
Contributions are provided by:
@@ -12,4 +12,4 @@ Contributions are provided by:
* Brandon Bocklund, who led the atomate documentation effort, through the research group of Prof. Zi-Kiu Liu at Penn State.
* 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, S. Torrisi
+* External contributors: specter119, M. Dias Costa, S. Torrisi, Max Dylla
diff --git a/setup.py b/setup.py
index 47461eeed..a3bfcf6c8 100644
--- a/setup.py
+++ b/setup.py
@@ -9,7 +9,7 @@
if __name__ == "__main__":
setup(
name='atomate',
- version='0.8.7',
+ version='0.8.8',
description='atomate has implementations of FireWorks workflows for '
'Materials Science',
long_description=open(os.path.join(module_dir, 'README.md')).read(),