Skip to content

Commit

Permalink
Merge pull request #778 from MichaelWolloch/MaxForceHandler_and_R2SCA…
Browse files Browse the repository at this point in the history
…N_FIX

Max force handler and r2scan fixes
  • Loading branch information
Zhuoying authored Aug 16, 2023
2 parents f4060e5 + 61bda34 commit 33cbc86
Show file tree
Hide file tree
Showing 10 changed files with 19 additions and 57 deletions.
1 change: 0 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ jobs:
- name: Install dependencies
run: |
pip install -r requirements-ci.txt
pip install .[complete]
- name: pytest
Expand Down
3 changes: 0 additions & 3 deletions atomate/vasp/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,6 @@
# the initial relaxation of a structure optimization for faster performance
HALF_KPOINTS_FIRST_RELAX = False

# maximum force allowed on atom for successful structure optimization
RELAX_MAX_FORCE = 0.25

# this is a three-way toggle on what to do if your job looks OK,
# but is actually unconverged (either electronic or ionic).
# True -> mark job as COMPLETED, but defuse children.
Expand Down
9 changes: 0 additions & 9 deletions atomate/vasp/firetasks/run_calc.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
FrozenJobErrorHandler,
IncorrectSmearingHandler,
LargeSigmaHandler,
MaxForceErrorHandler,
MeshSymmetryErrorHandler,
NonConvergingErrorHandler,
PositiveEnergyErrorHandler,
Expand Down Expand Up @@ -81,8 +80,6 @@ class RunVaspCustodian(FiretaskBase):
handler_group: (str | list[ErrorHandler]) - group of handlers to use. See handler_groups dict in the code or
the groups and complete list of handlers in each group. Alternatively, you can
specify a list of ErrorHandler objects.
max_force_threshold: (float) - if >0, adds MaxForceErrorHandler. Not recommended for
nscf runs.
scratch_dir: (str) - if specified, uses this directory as the root scratch dir.
Supports env_chk.
gzip_output: (bool) - gzip output (default=T)
Expand All @@ -100,7 +97,6 @@ class RunVaspCustodian(FiretaskBase):
optional_params = [
"job_type",
"handler_group",
"max_force_threshold",
"scratch_dir",
"gzip_output",
"max_errors",
Expand Down Expand Up @@ -267,11 +263,6 @@ def run_task(self, fw_spec):
else:
handlers = handler_group

if self.get("max_force_threshold"):
handlers.append(
MaxForceErrorHandler(max_force_threshold=self["max_force_threshold"])
)

if self.get("wall_time"):
handlers.append(WalltimeHandler(wall_time=self["wall_time"]))

Expand Down
8 changes: 2 additions & 6 deletions atomate/vasp/fireworks/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
from atomate.vasp.config import (
DB_FILE,
HALF_KPOINTS_FIRST_RELAX,
RELAX_MAX_FORCE,
VASP_CMD,
VDW_KERNEL_DIR,
)
Expand Down Expand Up @@ -65,7 +64,6 @@ def __init__(
db_file=DB_FILE,
force_gamma=True,
job_type="double_relaxation_run",
max_force_threshold=RELAX_MAX_FORCE,
auto_npar=">>auto_npar<<",
half_kpts_first_relax=HALF_KPOINTS_FIRST_RELAX,
parents=None,
Expand All @@ -86,7 +84,6 @@ def __init__(
db_file (str): Path to file specifying db credentials to place output parsing.
force_gamma (bool): Force gamma centered kpoint generation
job_type (str): custodian job type (default "double_relaxation_run")
max_force_threshold (float): max force on a site allowed at end; otherwise, reject job
auto_npar (bool or str): whether to set auto_npar. defaults to env_chk: ">>auto_npar<<"
half_kpts_first_relax (bool): whether to use half the kpoints for the first relaxation
parents ([Firework]): Parents of this particular Firework.
Expand All @@ -111,7 +108,6 @@ def __init__(
RunVaspCustodian(
vasp_cmd=vasp_cmd,
job_type=job_type,
max_force_threshold=max_force_threshold,
ediffg=ediffg,
auto_npar=auto_npar,
half_kpts_first_relax=half_kpts_first_relax,
Expand Down Expand Up @@ -243,7 +239,7 @@ def __init__(

# Enable vdW for the SCAN step
settings["_set"]["LUSE_VDW"] = True
settings["_set"]["BPARAM"] = 15.7
settings["_set"]["BPARAM"] = 11.95

t.append(ModifyIncar(incar_dictmod=settings))

Expand All @@ -266,7 +262,7 @@ def __init__(
# Disable vdW for the precondition step
if vasp_input_set_params.get("vdw"):
pre_opt_settings.update({"_unset": {"LUSE_VDW": True,
"BPARAM": 15.7,
"BPARAM": 11.95,
"METAGGA": metagga_type}})

t.append(ModifyIncar(incar_dictmod=pre_opt_settings))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ LMIXTAU = True
LORBIT = 11
LREAL = Auto
LUSE_VDW = True
BPARAM = 15.7
BPARAM = 11.95
LVTOT = True
LWAVE = False
MAGMOM = 2*0.6
Expand Down
1 change: 0 additions & 1 deletion atomate/vasp/vasp_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
LOBSTER_CMD,
LOBSTERINPUT_FILES,
LOBSTEROUTPUT_FILES,
RELAX_MAX_FORCE,
SCRATCH_DIR,
SMALLGAP_KPOINT_MULTIPLY,
STABILITY_CHECK,
Expand Down
1 change: 0 additions & 1 deletion atomate/vasp/workflows/base/magnetism.py
Original file line number Diff line number Diff line change
Expand Up @@ -315,7 +315,6 @@ def _add_metadata(structure):
vasp_input_set=vis,
vasp_cmd=c["VASP_CMD"],
db_file=c["DB_FILE"],
max_force_threshold=0.05,
half_kpts_first_relax=False,
name=name + " optimize",
)
Expand Down
8 changes: 0 additions & 8 deletions requirements-ci.txt

This file was deleted.

16 changes: 0 additions & 16 deletions requirements.txt

This file was deleted.

27 changes: 16 additions & 11 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,34 +23,39 @@
},
zip_safe=False,
install_requires=[
"custodian>=2019.8.24",
"custodian>=2023.7.22",
"FireWorks>=2.0.3",
"maggma>=0.44.0",
"monty>=2.0.6",
"maggma>=0.51.25",
"monty>=2023.5.8",
"networkx",
"numpy",
"pandas",
"paramiko",
"pydash>=4.1.0",
"pymatgen-analysis-diffusion",
"pymatgen-analysis-defects>=2022.9.14",
"pymatgen",
"pydash>=7.0.6",
"pymatgen-analysis-diffusion>=2022.7.21",
"pymatgen-analysis-defects>=2023.7.24",
"pymatgen>=2023.7.20",
"pymongo",
"pyyaml>=5.1.2",
"ruamel.yaml",
"scipy",
"tqdm>=4.7.4",
"tqdm>=4.65.0",
],
extras_require={
"plotting": ["matplotlib>=1.5.2"],
"phonons": ["phonopy>=1.10.8"],
"qchem": ["openbabel"],
"qchem": ["openbabel-wheel"],
"defects": ["pymatgen-analysis-defects"],
"complete": [
"matplotlib>=1.5.2",
"phonopy>=1.10.8",
"openbabel",
"pymatgen-analysis-defects",
"openbabel-wheel",
"boto3>=1.28.15",
"Flask>=2.3.2",
"coverage>=7.2.7",
"moto>=4.1.14",
"pytest-cov>=4.1.0",
"pytest>=7.4.0",
],
},
classifiers=[
Expand Down

0 comments on commit 33cbc86

Please sign in to comment.