Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] ABINIT DFPT SHG #1

Open
wants to merge 342 commits into
base: main
Choose a base branch
from
Open

[WIP] ABINIT DFPT SHG #1

wants to merge 342 commits into from

Conversation

VicTrqt
Copy link
Owner

@VicTrqt VicTrqt commented Apr 11, 2024

Summary

  • Different Makers needed for DFPT (DDK, DDE, DTE, Mrgddb)
  • A full DFPT SHG workflow to get the SHG and the dielectric tensor

TODO

  • Write some tests
  • Figure out a way to use the power-ups despite the Response(replace=) for the DDK and DDE
  • Is a restart of mrgddb necessary ?

Copy link

@gpetretto gpetretto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for porting the DFT workflows to atomate. I went thorugh the code and left some comments.

I would say that the main one concerns anaddb. I don't think that

  1. anaddb should be run inside the mrgddb job. It should have its own Job and input generator, since it is much more likely to be customized compared to mrgddb.
  2. the outputs of the postprocessing with anaddb should be in the mrgddb output document.

An additional point that is not present in the comment concerns the fact that, if I am not wrong, with the introduction of the DFPT workflow the abipy manager should be configured, while before it was not needed. It probably being used to generate the list of pertrubations and to run anaddb behind the curtains. I am wondering if there should be some specific configuration in atomate dedicated to that. Maybe it will be worth to discuss this point more in detail.

src/atomate2/abinit/files.py Outdated Show resolved Hide resolved
src/atomate2/abinit/sets/mrgddb.py Outdated Show resolved Hide resolved
src/atomate2/abinit/jobs/mrgddb.py Outdated Show resolved Hide resolved
src/atomate2/abinit/jobs/response.py Outdated Show resolved Hide resolved
src/atomate2/abinit/jobs/response.py Outdated Show resolved Hide resolved
src/atomate2/abinit/flows/dfpt.py Outdated Show resolved Hide resolved
src/atomate2/abinit/flows/dfpt.py Outdated Show resolved Hide resolved
src/atomate2/abinit/flows/dfpt.py Show resolved Hide resolved
src/atomate2/abinit/schemas/calculation.py Show resolved Hide resolved
src/atomate2/abinit/schemas/mrgddb.py Outdated Show resolved Hide resolved
janosh and others added 29 commits May 11, 2024 15:54
* Initial sketch of `MagneticOrderingsMaker`

* Add schema to match original atomate `MagneticOrderingsToDb` format

* move magnetism jobs to common

* move magnetism flows to common

* clean up magnetic ordering documentation/typing

* make "prev calc dir" a code-dependent argument name for static maker

* clean up typing, imports, docstrings

* begin porting over magnetic workflow analysis code / schemas

* fix jobflow logic for magnetic enumerator flow

* rework for loop for orderings

* migrate magnetic orderings wf to builder format

* Improve naming

* remove output storing

* add magnetic ordering builder implementation

* remove unused imports in magnetism jobs

* fix bug in task creation in magnetism builder

* update magnetic ordering job documentation

* make sure name "magnetic orderings" is consistent

* make sure name "magnetic orderings" is consistent pt. 2

* move magnetic orderings builder into common

* ensure copying of magmoms between relax and static; linting

* fix copy magmom

* fix kwarg location (mistake previously)

* add final False to copy vasp magmoms

* debug test of magmoms

* fix bug in magmoms

* delete unused line

* move magnetic ordering & symmetry comparison logic to common

* linting

* linting pt 2

* add from_tasks() support; extract logic to common

* add and fix postprocessing job

* linting

* fix error in structure matching in builder

It's actually dangerous to match by lattice/site matrices; sometimes the structures are not identically defined despite being the same structure

* add test for magnetic ordering workflow

* Add warning if relax_maker not provided; stricter EDIFF settings

* Add enumlib install and Cobalt warning

* move Co warning

* add Optional to magnetism schemas

* ignore enumlib's tests

* make testing directory explicit

* regenerate test data for mag_ordering workflow

* fix broken test (due to new EDIFF=1e-7 data)

* remove the patch fix we had for prev_dir now that atomate2 is updated

* fix breaking python 3.8 test

* move imports and fix typing problem

* try making tests dir not explicit

* change dir in github action to move enumlib outside testing scope

* update @mattmcdermott contributor info

* attempt to fix coverage CI bug

* monty decoding for magnetism builder

* fully implement magnetic_orderings workflow into common

* add warning about TaskDoc

* bump emmet-core version

* clean up magnetic ordering wf files

* bump emmet-core again

---------

Co-authored-by: Matthew Horton <[email protected]>
Co-authored-by: J. George <[email protected]>
…lsproject#840)

* more clean up of schemas/test_lobster.py

* from_... class methods return typing_extensions.Self

* fix NameError: name 'Self' is not defined in schema files

* missed one NameError: name 'Self' is not defined

* start doc strings on 1st line
…lsproject#835)

* CI add repository_dispatch event for pymatgen_ci_trigger

in which case pmg is installed from the POSTed commit SHA (usually master)

* param-case event type

to pymatgen-ci-trigger
Bumps [phonopy](https://phonopy.github.io/phonopy/) from 2.22.1 to 2.23.1.

---
updated-dependencies:
- dependency-name: phonopy
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [lobsterpy](https://github.com/JaGeo/LobsterPy) from 0.4.0 to 0.4.4.
- [Release notes](https://github.com/JaGeo/LobsterPy/releases)
- [Changelog](https://github.com/JaGeo/LobsterPy/blob/main/CHANGELOG.md)
- [Commits](JaGeo/LobsterPy@v0.4.0...v0.4.4)

---
updated-dependencies:
- dependency-name: lobsterpy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [furo](https://github.com/pradyunsg/furo) from 2024.1.29 to 2024.5.6.
- [Release notes](https://github.com/pradyunsg/furo/releases)
- [Changelog](https://github.com/pradyunsg/furo/blob/main/docs/changelog.md)
- [Commits](pradyunsg/furo@2024.01.29...2024.05.06)

---
updated-dependencies:
- dependency-name: furo
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ect#852)

* fix TrajectoryObserver.to_ase_trajectory() return type to TrajectoryReader

* more descriptive variable names

* fix typo

* fix clashing var rename

* rename d->dct
* Update LobsterPy version

* fix hierarchies of titles
* Make Efermi optional

* Fix fermi_energy typo

* simplify

* Fix the schema

Somehow a getattr(output.efermi, None) got into the code

---------

Co-authored-by: Janosh Riebesell <[email protected]>
Co-authored-by: J. George <[email protected]>
Bumps [python-ulid](https://github.com/mdomke/python-ulid) from 2.5.0 to 2.6.0.
- [Release notes](https://github.com/mdomke/python-ulid/releases)
- [Changelog](https://github.com/mdomke/python-ulid/blob/main/CHANGELOG.rst)
- [Commits](mdomke/python-ulid@2.5.0...2.6.0)

---
updated-dependencies:
- dependency-name: python-ulid
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [typing-extensions](https://github.com/python/typing_extensions) from 4.11.0 to 4.12.0.
- [Release notes](https://github.com/python/typing_extensions/releases)
- [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md)
- [Commits](python/typing_extensions@4.11.0...4.12.0)

---
updated-dependencies:
- dependency-name: typing-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [sphinx-design](https://github.com/executablebooks/sphinx-design) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/executablebooks/sphinx-design/releases)
- [Changelog](https://github.com/executablebooks/sphinx-design/blob/main/CHANGELOG.md)
- [Commits](executablebooks/sphinx-design@v0.5.0...v0.6.0)

---
updated-dependencies:
- dependency-name: sphinx-design
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [monty](https://github.com/materialsvirtuallab/monty) from 2024.3.31 to 2024.5.24.
- [Release notes](https://github.com/materialsvirtuallab/monty/releases)
- [Changelog](https://github.com/materialsvirtuallab/monty/blob/master/docs/changelog.md)
- [Commits](materialsvirtuallab/monty@v2024.3.31...v2024.5.24)

---
updated-dependencies:
- dependency-name: monty
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* limit maximum failures in elastic flow

* add property to Elastic flow subclasses

* Add flow test for failiure in elastic flow
Bumps [typing-extensions](https://github.com/python/typing_extensions) from 4.12.0 to 4.12.1.
- [Release notes](https://github.com/python/typing_extensions/releases)
- [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md)
- [Commits](python/typing_extensions@4.12.0...4.12.1)

---
updated-dependencies:
- dependency-name: typing-extensions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pymatgen](https://github.com/materialsproject/pymatgen) from 2024.5.1 to 2024.5.31.
- [Release notes](https://github.com/materialsproject/pymatgen/releases)
- [Changelog](https://github.com/materialsproject/pymatgen/blob/master/docs/CHANGES.md)
- [Commits](materialsproject/pymatgen@v2024.5.1...v2024.5.31)

---
updated-dependencies:
- dependency-name: pymatgen
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ipython](https://github.com/ipython/ipython) from 8.23.0 to 8.25.0.
- [Release notes](https://github.com/ipython/ipython/releases)
- [Commits](ipython/ipython@8.23.0...8.25.0)

---
updated-dependencies:
- dependency-name: ipython
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.7.1 to 2.7.2.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](pydantic/pydantic@v2.7.1...v2.7.2)

---
updated-dependencies:
- dependency-name: pydantic
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [dscribe](https://github.com/SINGROUP/dscribe) from 2.1.0 to 2.1.1.
- [Commits](SINGROUP/dscribe@v2.1.0...v2.1.1)

---
updated-dependencies:
- dependency-name: dscribe
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…roject#873)

* transpose matrix

* add test supercell

* Change default max atoms

* Fix linting
Bumps [typing-extensions](https://github.com/python/typing_extensions) from 4.12.1 to 4.12.2.
- [Release notes](https://github.com/python/typing_extensions/releases)
- [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md)
- [Commits](python/typing_extensions@4.12.1...4.12.2)

---
updated-dependencies:
- dependency-name: typing-extensions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ijson](https://github.com/ICRAR/ijson) from 3.2.3 to 3.3.0.
- [Changelog](https://github.com/ICRAR/ijson/blob/master/CHANGELOG.md)
- [Commits](ICRAR/ijson@v3.2.3...v3.3.0)

---
updated-dependencies:
- dependency-name: ijson
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pydantic-settings](https://github.com/pydantic/pydantic-settings) from 2.2.1 to 2.3.1.
- [Release notes](https://github.com/pydantic/pydantic-settings/releases)
- [Commits](pydantic/pydantic-settings@v2.2.1...v2.3.1)

---
updated-dependencies:
- dependency-name: pydantic-settings
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [matgl](https://github.com/materialsvirtuallab/matgl) from 1.1.1 to 1.1.2.
- [Release notes](https://github.com/materialsvirtuallab/matgl/releases)
- [Changelog](https://github.com/materialsvirtuallab/matgl/blob/main/changes.md)
- [Commits](materialsvirtuallab/matgl@v1.1.1...v1.1.2)

---
updated-dependencies:
- dependency-name: matgl
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
janosh and others added 30 commits November 25, 2024 21:52
…dration (materialsproject#1072)

* update EOS docs

* udpate docs with implementation details

* add convenience constructor method for forcefield ElasticMaker

* allow MLFF enum to treat str(MLFF.) as valid member

* precommit

* add small MLFF test
* bump phonopy version

* Update pyproject.toml

* replace bs plotter with pymatgen implementation > reduce code repetition

* replace bs plotter with pymatgen implementation > reduce code repetition

* switch off grunesien computation at gamma (unstable)

* fix assertions to correct expected derived properties

* fix failing test (use correct reference data)

* remove non used test_data, rename Si_phonons_4 > Si_phonons_3

* point to renamed ref test_data

---------

Co-authored-by: J. George <[email protected]>
Bumps mp-api from 0.42.2 to 0.43.0.

---
updated-dependencies:
- dependency-name: mp-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.3.3 to 8.3.4.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@8.3.3...8.3.4)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ipython](https://github.com/ipython/ipython) from 8.29.0 to 8.30.0.
- [Release notes](https://github.com/ipython/ipython/releases)
- [Commits](ipython/ipython@8.29.0...8.30.0)

---
updated-dependencies:
- dependency-name: ipython
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [sevenn](https://github.com/MDIL-SNU/SevenNet) from 0.10.1 to 0.10.2.
- [Release notes](https://github.com/MDIL-SNU/SevenNet/releases)
- [Changelog](https://github.com/MDIL-SNU/SevenNet/blob/main/CHANGELOG.md)
- [Commits](MDIL-SNU/SevenNet@v0.10.1...v0.10.2)

---
updated-dependencies:
- dependency-name: sevenn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [emmet-core](https://github.com/materialsproject/emmet) from 0.84.3rc4 to 0.84.3rc6.
- [Release notes](https://github.com/materialsproject/emmet/releases)
- [Changelog](https://github.com/materialsproject/emmet/blob/main/docs/CHANGELOG.md)
- [Commits](materialsproject/emmet@0.84.3rc4...v0.84.3rc6)

---
updated-dependencies:
- dependency-name: emmet-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [sevenn](https://github.com/MDIL-SNU/SevenNet) from 0.10.2 to 0.10.3.
- [Release notes](https://github.com/MDIL-SNU/SevenNet/releases)
- [Changelog](https://github.com/MDIL-SNU/SevenNet/blob/main/CHANGELOG.md)
- [Commits](MDIL-SNU/SevenNet@v0.10.2...v0.10.3)

---
updated-dependencies:
- dependency-name: sevenn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [emmet-core](https://github.com/materialsproject/emmet) from 0.84.3rc6 to 0.84.4.
- [Release notes](https://github.com/materialsproject/emmet/releases)
- [Changelog](https://github.com/materialsproject/emmet/blob/main/docs/CHANGELOG.md)
- [Commits](materialsproject/emmet@v0.84.3rc6...v0.84.4)

---
updated-dependencies:
- dependency-name: emmet-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pydantic-settings](https://github.com/pydantic/pydantic-settings) from 2.6.1 to 2.7.0.
- [Release notes](https://github.com/pydantic/pydantic-settings/releases)
- [Commits](pydantic/pydantic-settings@v2.6.1...v2.7.0)

---
updated-dependencies:
- dependency-name: pydantic-settings
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [emmet-core](https://github.com/materialsproject/emmet) from 0.84.4 to 0.84.5.
- [Release notes](https://github.com/materialsproject/emmet/releases)
- [Changelog](https://github.com/materialsproject/emmet/blob/main/docs/CHANGELOG.md)
- [Commits](materialsproject/emmet@v0.84.4...v0.84.5)

---
updated-dependencies:
- dependency-name: emmet-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ipython](https://github.com/ipython/ipython) from 8.30.0 to 8.31.0.
- [Release notes](https://github.com/ipython/ipython/releases)
- [Commits](ipython/ipython@8.30.0...8.31.0)

---
updated-dependencies:
- dependency-name: ipython
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [nbmake](https://github.com/treebeardtech/nbmake) from 1.5.4 to 1.5.5.
- [Release notes](https://github.com/treebeardtech/nbmake/releases)
- [Commits](treebeardtech/nbmake@v1.5.4...v1.5.5)

---
updated-dependencies:
- dependency-name: nbmake
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…it_workflows_dfpt_shg_new_review-PR

pull trunk main
…rkflows_dfpt_shg_new

merge modif scissor + pull trunk main
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.