materialsproject / atomate2

atomate2 is a library of computational materials science workflows
https://materialsproject.github.io/atomate2/
Other
151 stars 86 forks source link

BUG: Error messages in atomate2 r2SCAN workflow, using the default input set generators #672

Closed abhardwaj73 closed 8 months ago

abhardwaj73 commented 8 months ago

While using MPMetaGGADoubleRelaxMaker in atomate2, the following 2 errors have appeared in all 3 of my runs:

Although custodian handles them and updates the files (and the workflow finishes), is this something that can be added directly in the default settings of this workflow? Especially reading the WAVECAR part, as custodian deletes the WAVECAR file to resolve the issue. As the WAVECAR is quite big, and not used in the r2SCAN relax step, can it be avoided in printing?

Steps to reproduce the behavior:

  1. Use the atomate2 workflow: MPMetaGGADoubleRelaxMaker and default input file settings
  2. Use the following structure
# construct an FCC silicon structure
si_structure = Structure(
    lattice=[[0, 2.73, 2.73], [2.73, 0, 2.73], [2.73, 2.73, 0]],
    species=["Si", "Si"],
    coords=[[0, -0, -0], [0.25, 0.25, 0.25]],
)
  1. See the error in the MP meta-GGA relax 2 step (and custodian's involvement)
while reading WAVECAR
ERROR:custodian.custodian:VaspErrorHandler
ERROR:VaspErrorHandler:ALGO=A and IALGO=5X tend to fail
ERROR:custodian.custodian:VaspErrorHandler
2024-01-10 07:56:23,510 INFO Finished job - MP meta-GGA relax 2 (372e5f3c-884a-41a1-972c-c49c910d2c37)

Here is the custodian.json file for this step, which tells the action it has taken:

[
    {
        "job": {
            "@module": "custodian.vasp.jobs",
            "@class": "VaspJob",
            "@version": "2023.10.9",
            "vasp_cmd": [
                "srun",
                "/home/ab6989/MPScanRelaxSet/atomate2/vasp_std"
            ],
            "output_file": "vasp.out",
            "stderr_file": "std_err.txt",
            "suffix": "",
            "final": true,
            "backup": true,
            "auto_npar": false,
            "auto_gamma": true,
            "settings_override": null,
            "gamma_vasp_cmd": [
                "vasp_gam"
            ],
            "copy_magmom": false,
            "auto_continue": false
        },
        "corrections": [
            {
                "errors": [
                    "coef"
                ],
                "actions": [
                    {
                        "file": "WAVECAR",
                        "action": {
                            "_file_delete": {
                                "mode": "actual"
                            }
                        }
                    }
                ],
                "handler": {
                    "@module": "custodian.vasp.handlers",
                    "@class": "VaspErrorHandler",
                    "@version": "2023.10.9",
                    "output_filename": "vasp.out",
                    "errors_subset_to_catch": [
                        "tet",
                        "inv_rot_mat",
                        "brmix",
                        "subspacematrix",
                        "tetirr",
                        "incorrect_shift",
                        "real_optlay",
                        "rspher",
                        "dentet",
                        "too_few_bands",
                        "triple_product",
                        "rot_matrix",
                        "brions",
                        "pricel",
                        "zpotrf",
                        "amin",
                        "zbrent",
                        "pssyevx",
                        "eddrmm",
                        "edddav",
                        "algo_tet",
                        "grad_not_orth",
                        "nicht_konv",
                        "zheev",
                        "elf_kpar",
                        "elf_ncl",
                        "rhosyg",
                        "posmap",
                        "point_group",
                        "symprec_noise",
                        "dfpt_ncore",
                        "bravais",
                        "nbands_not_sufficient",
                        "hnform",
                        "coef",
                        "set_core_wf",
                        "read_error"
                    ],
                    "vtst_fixes": false
                }
            },
            {
                "errors": [
                    "algo_tet"
                ],
                "actions": [
                    {
                        "dict": "INCAR",
                        "action": {
                            "_set": {
                                "ALGO": "Fast"
                            }
                        }
                    }
                ],
                "handler": {
                    "@module": "custodian.vasp.handlers",
                    "@class": "VaspErrorHandler",
                    "@version": "2023.10.9",
                    "output_filename": "vasp.out",
                    "errors_subset_to_catch": [
                        "tet",
                        "inv_rot_mat",
                        "brmix",
                        "subspacematrix",
                        "tetirr",
                        "incorrect_shift",
                        "real_optlay",
                        "rspher",
                        "dentet",
                        "too_few_bands",
                        "triple_product",
                        "rot_matrix",
                        "brions",
                        "pricel",
                        "zpotrf",
                        "amin",
                        "zbrent",
                        "pssyevx",
                        "eddrmm",
                        "edddav",
                        "algo_tet",
                        "grad_not_orth",
                        "nicht_konv",
                        "zheev",
                        "elf_kpar",
                        "elf_ncl",
                        "rhosyg",
                        "posmap",
                        "point_group",
                        "symprec_noise",
                        "dfpt_ncore",
                        "bravais",
                        "nbands_not_sufficient",
                        "hnform",
                        "coef",
                        "set_core_wf",
                        "read_error"
                    ],
                    "vtst_fixes": false
                }
            }
        ],
        "handler": null,
        "validator": null,
        "max_errors": false,
        "max_errors_per_job": false,
        "max_errors_per_handler": false,
        "nonzero_return_code": false
    }
]
esoteric-ephemera commented 8 months ago

Hey @abhardwaj73 This is probably because the auto_ismear behavior changed recently in atomate2 but the r2SCAN WF didn't update to accommodate that. Here, atomate2 is trying to run the relaxation with ISMEAR = -5

@janosh, do you want to update auto_ismear = False in the MP set generators, or should I submit a PR?

janosh commented 8 months ago

Much obliged if you could fix that @esoteric-ephemera!

esoteric-ephemera commented 8 months ago

Done PR #673!

utf commented 8 months ago

Thanks!