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] Port Lattice Dynamics workflow into main #788

Closed
wants to merge 196 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
196 commits
Select commit Hold shift + click to select a range
1cdd2da
new directory test
rees-c Jun 21, 2019
5524212
new directory test
rees-c Jun 21, 2019
84f3f11
new directory test
rees-c Jun 21, 2019
da035b7
new directory test
rees-c Jun 25, 2019
d4d968c
Confirmed supercell volume compares with Pymatgen's volume
rees-c Jun 25, 2019
dad4b47
Added handling for transformation matrices with zero columns/rows (i.…
rees-c Jun 25, 2019
1fc5894
Handling for max_atoms
rees-c Jun 25, 2019
a79d3aa
IO for ShengBTE CONTROL file V1 (needs testing)
rees-c Jun 25, 2019
7154322
V1, needs testing with csld_main
rees-c Jun 26, 2019
b58bc35
Revised script and tested for reading, updating, and writing namelist…
rees-c Jun 26, 2019
9a517f3
fixed some bugs and added a working test case in main(). Imports csld…
rees-c Jun 26, 2019
f361575
Made a custom IO writer from a dict to a string to a file since f90nm…
rees-c Jun 26, 2019
ba5ffaa
CSLD workflow first try
rees-c Jul 10, 2019
3bc76b7
quick change
rees-c Jul 10, 2019
5f7977e
Debugging stuff. First version that was launched on cori
rees-c Jul 11, 2019
f153438
first pass local debugging
rees-c Jul 16, 2019
1f41767
Fixed workflow generation script and added perturbed supercells as a …
rees-c Jul 16, 2019
d480e6d
Workflow now runs without errors but with garbage results
rees-c Jul 16, 2019
c83bdd0
IT WORKS LETS GOOOOOO
rees-c Jul 17, 2019
9727d28
Added conventional standard primitive structure from pymatgen sga
rees-c Jul 17, 2019
6da321f
Added random search for csld parameters and shengbte stuff
rees-c Jul 19, 2019
b9ad291
accounted for CSLD github and added csld random search
rees-c Jul 23, 2019
9a28c32
Added dynamic fireworks for possible error handling (i.e. larger disp…
rees-c Jul 23, 2019
fd3cc88
Added fw_spec updates to all dynamically added fireworks and wrote a …
rees-c Jul 26, 2019
29fc198
Added optional temperature ranges for shengbte
rees-c Jul 26, 2019
3bf9a04
Added optional temperature ranges for shengbte
rees-c Jul 26, 2019
1468fc9
Edited shengbte t_range option and created a CSLD preset workflow
rees-c Jul 26, 2019
b3977c6
Minor edits
rees-c Jul 26, 2019
dab24c8
Added documentation and cleaned up comments
rees-c Jul 30, 2019
d08a370
Updated to reflect changes in PerturbSitesTransformation and CSLD
rees-c Jul 31, 2019
40622b8
Preset runs smoothly. Waiting on Si test run scraped from MP
rees-c Jul 31, 2019
ca155ac
- Updated workflow to reflect changes in PerturbStructureTransformati…
rees-c Aug 1, 2019
c07c4a0
-Added a new csld analysis file to atomate
rees-c Aug 1, 2019
c6a45e1
-Only pass successful static calculations into the CSLD firework
rees-c Aug 1, 2019
d7d466c
Working workflow
rees-c Aug 5, 2019
7101fdc
Updated doc strings and comments for CSLD firetasks and moved code ou…
rees-c Aug 6, 2019
f939817
Updated trans_mat doc string
rees-c Aug 6, 2019
637b571
docstring
rees-c Aug 6, 2019
816883c
Cleaned up code (made functions for CSLD firetask, adhered to PEP gui…
rees-c Aug 7, 2019
298ac14
Delete
rees-c Aug 7, 2019
b53e626
Delete
rees-c Aug 7, 2019
5a18d47
Delete
rees-c Aug 7, 2019
6f9cb86
Delete
rees-c Aug 7, 2019
8ce1414
Added csld_main to csld analysis file. Add beginnings of testing files
rees-c Aug 7, 2019
a5e16f0
Merge branch 'CSLD' of https://github.com/rees-c/atomate into CSLD
rees-c Aug 7, 2019
2f4b547
updated script for creating workflows
rees-c Aug 8, 2019
53eb021
More unit tests and minor bug fixes
rees-c Aug 9, 2019
d110342
Junsoo's
rees-c Aug 9, 2019
80a5bcd
debug
rees-c Aug 9, 2019
79e47d3
last cleanup of the term
rees-c Aug 9, 2019
f288925
Merge with master
utf Feb 19, 2020
1ed7d5a
Remove optional requirements
utf Feb 19, 2020
26565e7
Begin refactoring workflow
utf Feb 25, 2020
7a7f01d
Remove old firetasks
utf Feb 25, 2020
0b4200a
Add ShengBTE command to config
utf Feb 25, 2020
189c6f4
Update requirements
utf Feb 25, 2020
5d1f1b2
Add first pass at lattice_dynamics firetasks
utf Feb 25, 2020
08ba6a8
Add first pass at lattice_dynamics fireworks
utf Feb 25, 2020
a0dee6c
Add methods for fitting force constants
utf Feb 25, 2020
728556b
Add methods for generating phonon band structure & DOS
utf Feb 25, 2020
31d9869
Rewrite lattice dynamics workflow
utf Feb 25, 2020
a710c64
Add optional requirements
utf Feb 25, 2020
63a47de
Refactor firetasks to not rely on wf_uuid
utf Feb 25, 2020
35395fe
Refactor lattice dynamics fireworks to remove wf_uuid
utf Feb 25, 2020
5149cd1
Rewrite lattice dynamics workflow with chaining in mind
utf Feb 25, 2020
05b8f87
Add pymongo to requirements
utf Feb 25, 2020
7e5853d
Remove circular imports
utf Feb 25, 2020
5c0f122
Use proper name for 3rd order fc
utf Feb 26, 2020
af7c88a
Refactor lattice dynamics fireworks
utf Feb 26, 2020
a84b1a3
Use latest fireworks in LD workflow
utf Feb 26, 2020
0f8b40e
Run isort and black
utf Feb 26, 2020
3bbe9dd
Update docstrings
utf Feb 26, 2020
7cb526c
Rewrite preset workflow
utf Feb 26, 2020
8e4abbd
Move most phonopy functions to pymatgen
utf Feb 26, 2020
45fcce6
Tidy polarization tests
utf Feb 26, 2020
19baa31
FIX: Use proper phonon function name
utf Feb 26, 2020
fcdf2e6
Finish tidying polarization tests
utf Feb 26, 2020
e7df633
Add lattice dynamics test files
utf Feb 26, 2020
ece8f4d
Remove parents options from ld fireworks
utf Feb 26, 2020
5b3ae8d
BUG: Fixes for lattice dynamics workflow
utf Feb 26, 2020
9034639
Add lattice dynamics workflow test
utf Feb 26, 2020
e5b8f6c
BUG: Fix bugs in lattice dynamics firetasks
utf Feb 28, 2020
d902dd4
Fix bugs in lattice dynamics workflow
utf Feb 28, 2020
07415ab
Update firetasks
utf Feb 28, 2020
4cfbc10
Update lattice dynamics workflow test
utf Feb 28, 2020
1a3cd03
Merge branch 'CSLD' into lattice-dynamics
utf Feb 28, 2020
f254f16
Merge branch 'master' of github.com:hackingmaterials/atomate into lat…
utf Apr 1, 2020
bd235a7
Add powerup for updating any firetask
utf Apr 7, 2020
23b88a1
Tidy docstrings
utf Apr 7, 2020
16220e1
Tweak lattice dynamics settings
utf Apr 7, 2020
4f01492
Change imaginary mode requirements
utf Apr 7, 2020
4fc07c1
Lattice dynamics settings tweaks
utf Apr 7, 2020
c32ad58
Copy vasp outputs
utf Apr 7, 2020
1093d50
Fix bug in lattice dynamics wf
utf Apr 7, 2020
cf16091
Tweak VaspToDb params
utf Apr 10, 2020
3799399
Handle prior structural relaxations
utf Apr 11, 2020
c3d5e15
optimize drone parsing
utf Apr 11, 2020
a2932fe
fix typo in hiphive analysis
utf Apr 12, 2020
c083f64
Merge branch 'master' of github.com:hackingmaterials/atomate into lat…
utf Oct 30, 2020
d599bc9
Merge branch 'main' of github.com:hackingmaterials/atomate into latti…
utf May 24, 2021
8f4f7e3
gruneisen and CTE
jsyony37 May 26, 2021
13a2afb
gruneisen
jsyony37 May 26, 2021
b148805
gruneisen
jsyony37 May 26, 2021
f8b0711
gruneisen
jsyony37 May 26, 2021
1e75a82
imports
jsyony37 May 27, 2021
d635465
FW
jsyony37 May 27, 2021
13ec960
VASP runs successfully
jsyony37 May 29, 2021
7e0ad04
no DEFAULT TEMPERATURE
jsyony37 May 29, 2021
63153da
T_KLAT
jsyony37 May 29, 2021
7872cc0
T_RENORM
jsyony37 May 29, 2021
b29f808
import renormalization
jsyony37 May 29, 2021
11a3837
parameters to best_fit
jsyony37 May 29, 2021
cd00c73
cluster_space to best_fit
jsyony37 May 29, 2021
fddd968
get_cutoffs
jsyony37 May 29, 2021
c094a17
cutoff vs cell_size
jsyony37 May 31, 2021
79348b8
bulk_mod input
jsyony37 Jun 2, 2021
cc7520c
separate fitting
jsyony37 Jun 6, 2021
b546d06
separate fitting
jsyony37 Jun 6, 2021
0b34670
separate fitting
jsyony37 Jun 6, 2021
ce3d58d
separate fitting
jsyony37 Jun 6, 2021
788d55b
separate fitting
jsyony37 Jun 6, 2021
05ef57b
separate fitting
jsyony37 Jun 6, 2021
358990d
separate fitting
jsyony37 Jun 6, 2021
67ca80e
presets + other things
jsyony37 Jun 9, 2021
9b36f4b
presets
jsyony37 Jun 9, 2021
77bdda7
preset
jsyony37 Jun 9, 2021
029512d
preset
jsyony37 Jun 9, 2021
93dc95b
update
jsyony37 Jun 18, 2021
387146b
update
jsyony37 Jun 18, 2021
714c19c
update
jsyony37 Jun 18, 2021
acb1885
update
jsyony37 Jun 18, 2021
c69d031
fixed cutoff
jsyony37 Jul 2, 2021
b637d9a
update
jsyony37 Jul 8, 2021
aae581b
disp_cut
jsyony37 Jul 8, 2021
abc7626
disp_cut fix
jsyony37 Jul 8, 2021
5a1ab26
disp_cut in FitForceConstantsFW
jsyony37 Jul 8, 2021
57b65d6
renormalization
Oct 27, 2022
67c319b
any changes?
Nov 1, 2022
e46fc3a
workflow name
Nov 1, 2022
fe2ab36
firetask error fix
Nov 2, 2022
6ee2160
T_qha
Nov 4, 2022
8060c6d
T_qha
jsyony37 Nov 7, 2022
826ec95
T_qha
Nov 7, 2022
8bcafa3
max cutoff
Nov 7, 2022
30a0721
file copy
Nov 15, 2022
109ea74
clusterspace
Nov 21, 2022
85b6f3c
calc_loc
Nov 23, 2022
331348a
renormalization calc_loc
Dec 1, 2022
fbd3345
copy_files
jsyony37 Feb 27, 2023
0a39f6d
add_attiaional_fields_to_taskdocs
Feb 27, 2023
686b5cd
RunHiPhiveRenorm
Feb 28, 2023
0d61357
revert to structure container for fitting
Mar 1, 2023
5867977
fit_data parallel
Mar 8, 2023
09d56cd
typo
Mar 8, 2023
428f6ec
BTE.KappaTotalTensorVsT_CONV
Mar 8, 2023
0da8595
small fix for cutoffs and fit_method
Mar 10, 2023
68c162f
construct_fit_data
Mar 14, 2023
1d45b94
fit_data unpack :
Mar 17, 2023
30556bd
debug
Mar 17, 2023
0f3a792
debug
Mar 17, 2023
c0c0f56
sc
jsyony37 Mar 18, 2023
b6d44b9
phonopy_orig.yaml
Mar 18, 2023
c1c9f1f
phonopy_orig
Mar 20, 2023
beb15c4
anharmonic properties return
Mar 20, 2023
15304c5
changes
jsyony37 Mar 20, 2023
c1dec8d
Merge branch 'lattice-dynamics' of https://github.com/jsyony37/atomat…
jsyony37 Mar 20, 2023
bbc3928
anharmonic properties return
jsyony37 Mar 20, 2023
f8bb868
nconfig0 nconfig
Mar 20, 2023
584f364
parallel renormalization fireworks for each T
Mar 20, 2023
d3118be
parallel renormalization fireworks for each T
Mar 20, 2023
d038095
parallel renormalization fireworks name
Mar 20, 2023
4d128ad
renormalization klat dir link
Mar 20, 2023
d946647
TE iter fix
jsyony37 Mar 20, 2023
70876c0
anything?
jsyony37 Mar 20, 2023
d845574
ToDB
jsyony37 Mar 20, 2023
6ed1a9d
error fix
jsyony37 Mar 20, 2023
af58f8c
renormalization works
jsyony37 Mar 21, 2023
46ceed1
anything?
jsyony37 Mar 21, 2023
b576df1
renorm data push
jsyony37 Mar 21, 2023
fe10bc3
renorm_thermal_data
jsyony37 Mar 23, 2023
d1d0cf5
dependencies
Mar 23, 2023
c5a232d
len(temperature)=1
jsyony37 Mar 23, 2023
4290c05
everything works?
jsyony37 Apr 4, 2023
a4a3bc7
cleanup
jsyony37 Apr 4, 2023
90e1cf0
fixed random displacements
May 19, 2023
383c45a
T diff
May 24, 2023
fd0acb2
syntax errors
May 25, 2023
2e30eb4
remove separate_fit
Jun 9, 2023
37e2ba2
remove separate_fit
jsyony37 Jun 9, 2023
75dc936
separate harmonic
Jun 14, 2023
0722f56
small fix
Jun 21, 2023
ac88769
clean-up
Zhuoying Jun 21, 2023
3382a53
PhonopySupercellTransformation
jsyony37 Jan 5, 2024
c012f5f
ARC AIMD
Jan 12, 2024
91a8910
TI_IFC + clean-up
jsyony37 Mar 2, 2024
0cc637b
Merge branch 'jsyony37:lattice-dynamics' into lattice-dynamics
Zhuoying Mar 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 40 additions & 4 deletions atomate/common/powerups.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
"""
This module defines general powerups that can be used for all workflows
"""
from typing import Dict, Any, Optional
from importlib import import_module
from typing import List

from atomate.utils.utils import get_fws_and_tasks
from fireworks import Workflow, FileWriteTask
from fireworks.utilities.fw_utilities import get_slug

__author__ = "Janine George, Guido Petretto, Ryan Kingsbury"
__author__ = "Janine George, Guido Petretto, Ryan Kingsbury, Alex Ganose"
__email__ = (
"janine.george@uclouvain.be, guido.petretto@uclouvain.be, RKingsbury@lbl.gov"
)
Expand Down Expand Up @@ -190,20 +191,55 @@ def set_execution_options(
return original_wf


def update_firetask(
original_wf: Workflow,
update_params: Dict[str, Any],
task_name_constraint: str,
fw_name_constraint: Optional[str] = None,
) -> Workflow:
"""
General powerup for arbitrary updates to a Firetask.

Args:
original_wf: The original workflow.
update_params: A dictionary of the keyword arguments to update.
task_name_constraint: Only apply changes to the Firetasks where the
Firetask class name contains this string.
fw_name_constraint: Only apply changes to Fireworks where the Firework
name contains this substring.

Returns:
Workflow
"""
idx_list = get_fws_and_tasks(
original_wf,
fw_name_constraint=fw_name_constraint,
task_name_constraint=task_name_constraint,
)
for idx_fw, idx_t in idx_list:
original_wf.fws[idx_fw].tasks[idx_t].update(update_params)

return original_wf


def set_queue_adapter(
original_wf: Workflow,
queueadapter: dict = None,

fw_name_constraint: str = None,
task_name_constraint: str = None,
) -> Workflow:
"""
set _queueadapter spec of Fireworker(s) of a Workflow. It can be used to change the overall queueadapter during the run.
set _queueadapter spec of Fireworker(s) of a Workflow. It can be used to change the
overall queueadapter during the run.

Args:
original_wf (Workflow): workflow that will be changed
queueadapter (dict): dict to change _queueadapter
fw_name_constraint (str): name of the Fireworks to be tagged (all if None is passed)
task_name_constraint (str): name of the Firetasks to be tagged (e.g. None or 'RunVasp')
fw_name_constraint (str): name of the Fireworks to be tagged (all if None is
passed)
task_name_constraint (str): name of the Firetasks to be tagged (e.g. None or
'RunVasp')

Returns:
Workflow: modified workflow with specified Fireworkers tagged
Expand Down
Loading