-
Notifications
You must be signed in to change notification settings - Fork 103
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] Initial sketch of MagneticOrderingsMaker
#39
Conversation
Codecov Report
@@ Coverage Diff @@
## main #39 +/- ##
==========================================
- Coverage 70.65% 69.15% -1.50%
==========================================
Files 46 49 +3
Lines 3973 4069 +96
Branches 622 633 +11
==========================================
+ Hits 2807 2814 +7
- Misses 1006 1094 +88
- Partials 160 161 +1
|
@mkhorton @utf Anything I should know in particular about this? Do you want it to be a common workflow independent of the DFT code or is it okay living in the vasp module? |
That would be very kind! No preference on location, it's probably possible to generalise without much difficulty, but would be easier to write in a VASP-specific way. I don't think this affects any of @guymoore13's effort, but nevertheless tagging him just in case, since he's custodian of the other (future) magnetic workflows. |
Btw I'm happy to review/offer comments if you do take this on. |
Happy to help! You have a great draft to work with. I could probably make this a common workflow without too much difficulty. And I appreciate the help with reviewing! |
@mattmcdermott has taken over this PR in PR #432 with comments reviewed by @mkhorton, so close it here. |
Summary
Not ready for review yet, will keep PR open as I develop.
This PR will be for a magnetic orderings workflow, ported from
MagneticOrderingsWf
:https://github.com/hackingmaterials/atomate/blob/main/atomate/vasp/workflows/base/magnetism.py#L109
This is largely following
ElasticRelaxMaker
as an example.Additional dependencies introduced (if any)
significantly useful functionality is perfectly fine, adding ones that add trivial
functionality, e.g., to use one single easily implementable function, is frowned upon.
Provide a justification why that dependency is needed. Especially frowned upon are
circular dependencies.
TODO (if any)
Checklist
Work-in-progress pull requests are encouraged, but please put [WIP] in the pull request
title.
Before a pull request can be merged, the following items must be checked:
The easiest way to handle this is to run the following in the correct sequence on
your local machine. Start with running black on your new code. This will
automatically reformat your code to PEP8 conventions and removes most issues. Then run
pycodestyle, followed by flake8.
Run pydocstyle on your code.
type check your code.
Note that the CI system will run all the above checks. But it will be much more
efficient if you already fix most errors prior to submitting the PR. It is highly
recommended that you use the pre-commit hook provided in the repository. Simply run
pre-commit install
and a check will be run prior to allowing commits.