diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 254b18178..907004d2d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -38,7 +38,6 @@ jobs: - name: Install dependencies run: | - pip install -r requirements-ci.txt pip install .[complete] - name: pytest diff --git a/atomate/vasp/config.py b/atomate/vasp/config.py index 1c18cfc9a..8a842d353 100644 --- a/atomate/vasp/config.py +++ b/atomate/vasp/config.py @@ -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. diff --git a/atomate/vasp/firetasks/run_calc.py b/atomate/vasp/firetasks/run_calc.py index a726a78dc..9b771c221 100644 --- a/atomate/vasp/firetasks/run_calc.py +++ b/atomate/vasp/firetasks/run_calc.py @@ -14,7 +14,6 @@ FrozenJobErrorHandler, IncorrectSmearingHandler, LargeSigmaHandler, - MaxForceErrorHandler, MeshSymmetryErrorHandler, NonConvergingErrorHandler, PositiveEnergyErrorHandler, @@ -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) @@ -100,7 +97,6 @@ class RunVaspCustodian(FiretaskBase): optional_params = [ "job_type", "handler_group", - "max_force_threshold", "scratch_dir", "gzip_output", "max_errors", @@ -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"])) diff --git a/atomate/vasp/fireworks/core.py b/atomate/vasp/fireworks/core.py index b15fcf692..7292a64dc 100644 --- a/atomate/vasp/fireworks/core.py +++ b/atomate/vasp/fireworks/core.py @@ -27,7 +27,6 @@ from atomate.vasp.config import ( DB_FILE, HALF_KPOINTS_FIRST_RELAX, - RELAX_MAX_FORCE, VASP_CMD, VDW_KERNEL_DIR, ) @@ -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, @@ -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. @@ -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, @@ -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)) @@ -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)) diff --git a/atomate/vasp/test_files/SCAN_structure_optimization_LiF_vdw/inputs/INCAR b/atomate/vasp/test_files/SCAN_structure_optimization_LiF_vdw/inputs/INCAR index 53ad93e0b..458e8e7d4 100644 --- a/atomate/vasp/test_files/SCAN_structure_optimization_LiF_vdw/inputs/INCAR +++ b/atomate/vasp/test_files/SCAN_structure_optimization_LiF_vdw/inputs/INCAR @@ -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 diff --git a/atomate/vasp/vasp_config.py b/atomate/vasp/vasp_config.py index ad13eae36..de8008568 100644 --- a/atomate/vasp/vasp_config.py +++ b/atomate/vasp/vasp_config.py @@ -12,7 +12,6 @@ LOBSTER_CMD, LOBSTERINPUT_FILES, LOBSTEROUTPUT_FILES, - RELAX_MAX_FORCE, SCRATCH_DIR, SMALLGAP_KPOINT_MULTIPLY, STABILITY_CHECK, diff --git a/atomate/vasp/workflows/base/magnetism.py b/atomate/vasp/workflows/base/magnetism.py index 689b8d51a..8d360a4d4 100644 --- a/atomate/vasp/workflows/base/magnetism.py +++ b/atomate/vasp/workflows/base/magnetism.py @@ -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", ) diff --git a/requirements-ci.txt b/requirements-ci.txt deleted file mode 100644 index a99e92fe2..000000000 --- a/requirements-ci.txt +++ /dev/null @@ -1,8 +0,0 @@ -pymatgen==2023.3.10 -custodian==2023.3.10 -boto3==1.17.97 -Flask==2.1.3 -coverage==5.5 -moto==3.1.18 -pytest-cov==2.12.1 -pytest==6.2.4 diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index dac48b90d..000000000 --- a/requirements.txt +++ /dev/null @@ -1,16 +0,0 @@ -pymatgen==2023.3.10 -custodian==2023.3.10 -FireWorks==2.0.3 -maggma==0.48.1 -monty==2022.9.9 -networkx==2.8.6 -numpy==1.23.3 -pandas==1.4.4 -paramiko==2.11.0 -pydash==5.1.0 -pymatgen-analysis-diffusion==2022.7.21 -pymatgen-analysis-defects==2022.9.14 -pymongo==4.2.0 -ruamel.yaml==0.17.21 -scipy==1.9.1 -tqdm==4.64.1 diff --git a/setup.py b/setup.py index 7465ca74f..c9eface9a 100644 --- a/setup.py +++ b/setup.py @@ -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=[