diff --git a/src/atomate2/common/flows/elastic.py b/src/atomate2/common/flows/elastic.py index 0572ff0459..256e0753e9 100644 --- a/src/atomate2/common/flows/elastic.py +++ b/src/atomate2/common/flows/elastic.py @@ -60,6 +60,11 @@ class BaseElasticMaker(Maker, ABC): bulk relaxation. elastic_relax_maker : .BaseVaspMaker or .ForceFieldRelaxMaker Maker used to generate elastic relaxations. + max_failed_deformations: int or float + Maximum number of deformations allowed to fail to proceed with the fitting + of the elastic tensor. If an int the absolute number of deformations. If + a float between 0 an 1 the maximum fraction of deformations. If None any + number of deformations allowed. generate_elastic_deformations_kwargs : dict Keyword arguments passed to :obj:`generate_elastic_deformations`. fit_elastic_tensor_kwargs : dict @@ -76,6 +81,7 @@ class BaseElasticMaker(Maker, ABC): elastic_relax_maker: BaseVaspMaker | ForceFieldRelaxMaker = ( None # constant volume optimization ) + max_failed_deformations: int | float | None = None generate_elastic_deformations_kwargs: dict = field(default_factory=dict) fit_elastic_tensor_kwargs: dict = field(default_factory=dict) task_document_kwargs: dict = field(default_factory=dict) @@ -139,6 +145,7 @@ def make( equilibrium_stress=equilibrium_stress, order=self.order, symprec=self.symprec if self.sym_reduce else None, + max_failed_deformations=self.max_failed_deformations, **self.fit_elastic_tensor_kwargs, **self.task_document_kwargs, ) diff --git a/src/atomate2/common/jobs/elastic.py b/src/atomate2/common/jobs/elastic.py index f4606e78e7..253977f99a 100644 --- a/src/atomate2/common/jobs/elastic.py +++ b/src/atomate2/common/jobs/elastic.py @@ -172,6 +172,7 @@ def fit_elastic_tensor( fitting_method: str = SETTINGS.ELASTIC_FITTING_METHOD, symprec: float = SETTINGS.SYMPREC, allow_elastically_unstable_structs: bool = True, + max_failed_deformations: float | None = None, ) -> ElasticDocument: """ Analyze stress/strain data to fit the elastic tensor and related properties. @@ -200,14 +201,21 @@ def fit_elastic_tensor( allow_elastically_unstable_structs : bool Whether to allow the ElasticDocument to still complete in the event that the structure is elastically unstable. + max_failed_deformations: int or float + Maximum number of deformations allowed to fail to proceed with the fitting + of the elastic tensor. If an int the absolute number of deformations. If + a float between 0 an 1 the maximum fraction of deformations. If None any + number of deformations allowed. """ stresses = [] deformations = [] uuids = [] job_dirs = [] + failed_uuids = [] for data in deformation_data: # stress could be none if the deformation calculation failed if data["stress"] is None: + failed_uuids.append(data["uuid"]) continue stresses.append(Stress(data["stress"])) @@ -215,6 +223,20 @@ def fit_elastic_tensor( uuids.append(data["uuid"]) job_dirs.append(data["job_dir"]) + if max_failed_deformations is not None: + if 0 < max_failed_deformations < 1: + fraction_failed = len(failed_uuids) / len(deformation_data) + if fraction_failed > max_failed_deformations: + raise RuntimeError( + f"{fraction_failed} fraction of deformation calculations have " + f"failed, maximum fraction allowed: {max_failed_deformations}" + ) + elif len(failed_uuids) > max_failed_deformations: + raise RuntimeError( + f"{len(failed_uuids)} deformation calculations have failed, maximum " + f"allowed: {max_failed_deformations}" + ) + logger.info("Analyzing stress/strain data") return ElasticDocument.from_stresses( @@ -228,4 +250,5 @@ def fit_elastic_tensor( equilibrium_stress=equilibrium_stress, symprec=symprec, allow_elastically_unstable_structs=allow_elastically_unstable_structs, + failed_uuids=failed_uuids, ) diff --git a/src/atomate2/common/schemas/elastic.py b/src/atomate2/common/schemas/elastic.py index 2fc5035cd4..ddd06ca0db 100644 --- a/src/atomate2/common/schemas/elastic.py +++ b/src/atomate2/common/schemas/elastic.py @@ -1,6 +1,7 @@ """Schemas for elastic tensor fitting and related properties.""" from copy import deepcopy +from enum import Enum from typing import Optional import numpy as np @@ -107,6 +108,9 @@ class FittingData(BaseModel): job_dirs: Optional[list[Optional[str]]] = Field( None, description="The directories where the deformation jobs were run." ) + failed_uuids: Optional[list[str]] = Field( + None, description="The uuids of perturbations that were not completed" + ) class ElasticTensorDocument(BaseModel): @@ -118,6 +122,12 @@ class ElasticTensorDocument(BaseModel): ) +class ElasticWarnings(Enum): + """Warnings for elastic document.""" + + FAILED_PERTURBATIONS: str = "failed_perturbations" + + class ElasticDocument(StructureMetadata): """Document containing elastic tensor information and related properties.""" @@ -142,6 +152,7 @@ class ElasticDocument(StructureMetadata): order: Optional[int] = Field( None, description="Order of the expansion of the elastic tensor." ) + warnings: Optional[list[str]] = Field(None, description="Warnings.") @classmethod def from_stresses( @@ -156,6 +167,7 @@ def from_stresses( equilibrium_stress: Optional[Matrix3D] = None, symprec: float = SETTINGS.SYMPREC, allow_elastically_unstable_structs: bool = True, + failed_uuids: list[str] = None, ) -> Self: """Create an elastic document from strains and stresses. @@ -187,8 +199,11 @@ def from_stresses( allow_elastically_unstable_structs : bool Whether to allow the ElasticDocument to still complete in the event that the structure is elastically unstable. + failed_uuids: list of str + The uuids of perturbations that were not completed """ strains = [d.green_lagrange_strain for d in deformations] + elastic_warnings = [] if symprec is not None: strains, stresses, uuids, job_dirs = expand_strains( @@ -236,6 +251,9 @@ def from_stresses( eq_stress = eq_stress.tolist() if eq_stress is not None else eq_stress + if failed_uuids: + elastic_warnings.append(ElasticWarnings.FAILED_PERTURBATIONS.value) + return cls.from_structure( structure=structure, meta_structure=structure, @@ -253,7 +271,9 @@ def from_stresses( deformations=[d.tolist() for d in deformations], uuids=uuids, job_dirs=job_dirs, + failed_uuids=failed_uuids, ), + warnings=elastic_warnings or None, ) diff --git a/src/atomate2/forcefields/flows/elastic.py b/src/atomate2/forcefields/flows/elastic.py index 6ff8270c50..c97a73e126 100644 --- a/src/atomate2/forcefields/flows/elastic.py +++ b/src/atomate2/forcefields/flows/elastic.py @@ -45,6 +45,11 @@ class ElasticMaker(BaseElasticMaker): bulk_relax_maker : .ForceFieldRelaxMaker or None A maker to perform a tight relaxation on the bulk. Set to ``None`` to skip the bulk relaxation. + max_failed_deformations: int or float + Maximum number of deformations allowed to fail to proceed with the fitting + of the elastic tensor. If an int the absolute number of deformations. If + a float between 0 an 1 the maximum fraction of deformations. If None any + number of deformations allowed. elastic_relax_maker : .ForceFieldRelaxMaker Maker used to generate elastic relaxations. generate_elastic_deformations_kwargs : dict @@ -69,6 +74,7 @@ class ElasticMaker(BaseElasticMaker): relax_cell=False, relax_kwargs={"fmax": 0.00001} ) ) # constant volume relaxation + max_failed_deformations: int | float | None = None generate_elastic_deformations_kwargs: dict = field(default_factory=dict) fit_elastic_tensor_kwargs: dict = field(default_factory=dict) task_document_kwargs: dict = field(default_factory=dict) diff --git a/src/atomate2/vasp/flows/elastic.py b/src/atomate2/vasp/flows/elastic.py index 442dcc14c2..a8ffa7ab12 100644 --- a/src/atomate2/vasp/flows/elastic.py +++ b/src/atomate2/vasp/flows/elastic.py @@ -49,6 +49,11 @@ class ElasticMaker(BaseElasticMaker): bulk relaxation. elastic_relax_maker : .BaseVaspMaker Maker used to generate elastic relaxations. + max_failed_deformations: int or float + Maximum number of deformations allowed to fail to proceed with the fitting + of the elastic tensor. If an int the absolute number of deformations. If + a float between 0 an 1 the maximum fraction of deformations. If None any + number of deformations allowed. generate_elastic_deformations_kwargs : dict Keyword arguments passed to :obj:`generate_elastic_deformations`. fit_elastic_tensor_kwargs : dict @@ -65,6 +70,7 @@ class ElasticMaker(BaseElasticMaker): default_factory=lambda: DoubleRelaxMaker.from_relax_maker(TightRelaxMaker()) ) elastic_relax_maker: BaseVaspMaker = field(default_factory=ElasticRelaxMaker) + max_failed_deformations: int | float | None = None generate_elastic_deformations_kwargs: dict = field(default_factory=dict) fit_elastic_tensor_kwargs: dict = field(default_factory=dict) task_document_kwargs: dict = field(default_factory=dict) diff --git a/tests/common/jobs/test_elastic.py b/tests/common/jobs/test_elastic.py index 224ee82a1b..6f2362083e 100644 --- a/tests/common/jobs/test_elastic.py +++ b/tests/common/jobs/test_elastic.py @@ -5,8 +5,11 @@ from pymatgen.symmetry.analyzer import SpacegroupAnalyzer from atomate2 import SETTINGS -from atomate2.common.jobs.elastic import generate_elastic_deformations -from atomate2.common.schemas.elastic import expand_strains +from atomate2.common.jobs.elastic import ( + fit_elastic_tensor, + generate_elastic_deformations, +) +from atomate2.common.schemas.elastic import ElasticWarnings, expand_strains @pytest.mark.parametrize("conventional", [False, True]) @@ -54,3 +57,137 @@ def _get_strains(structure, sym_reduce): deformations = response[job.uuid][1].output return [d.green_lagrange_strain for d in deformations] + + +def test_fit_elastic_tensor(clean_dir, si_structure, caplog): + conventional = SpacegroupAnalyzer( + si_structure + ).get_conventional_standard_structure() + + deformation_data = [ + { + "stress": [ + [15.73376749, 0.0, 0.0], + [0.0, 6.40261126, 0.0], + [0.0, 0.0, 6.40261126], + ], + "deformation": [ + [0.9899494936611666, 0.0, 0.0], + [0.0, 1.0, 0.0], + [0.0, 0.0, 1.0], + ], + "uuid": "b7715382-9130-409c-ae2d-32a01321a0d0", + "job_dir": "a", + }, + { + "stress": [ + [7.74111679, 0.0, 0.0], + [0.0, 3.05807413, -0.0], + [0.0, -0.0, 3.05807413], + ], + "deformation": [ + [0.99498743710662, 0.0, 0.0], + [0.0, 1.0, 0.0], + [0.0, 0.0, 1.0], + ], + "uuid": "6cd2688c-764b-4a08-80f8-5c3ed75b91b9", + "job_dir": "b", + }, + { + "stress": [ + [-7.9262828, 0.0, -0.0], + [0.0, -3.20998817, 0.0], + [0.0, 0.0, -3.20998817], + ], + "deformation": [ + [1.004987562112089, 0.0, 0.0], + [0.0, 1.0, 0.0], + [0.0, 0.0, 1.0], + ], + "uuid": "fc3405d7-4171-4fe6-ab1b-086378ae6d0f", + "job_dir": "c", + }, + { + "stress": [ + [-15.60955466, 0.0, -0.0], + [0.0, -6.14725418, 0.0], + [-0.0, 0.0, -6.14725418], + ], + "deformation": [ + [1.0099504938362078, 0.0, 0.0], + [0.0, 1.0, 0.0], + [0.0, 0.0, 1.0], + ], + "uuid": "013d1100-f5b7-493b-b4ac-894c85733c7e", + "job_dir": "d", + }, + { + "stress": [ + [-0.21994363, 0.0, 0.0], + [0.0, -0.1846297, 14.80836455], + [0.0, 14.80836455, 0.40782339], + ], + "deformation": [ + [1.0, 0.0, 0.0], + [0.0, 1.0, -0.02], + [0.0, 0.0, 0.999799979995999], + ], + "uuid": "ab2857a6-188b-49a5-a90f-adfc30f884a7", + "job_dir": "e", + }, + { + "stress": [ + [-0.17602242, 0.0, 0.0], + [0.0, -0.16580315, 7.40412018], + [0.0, 7.40412018, -0.01771334], + ], + "deformation": [ + [1.0, 0.0, 0.0], + [0.0, 1.0, -0.01], + [0.0, 0.0, 0.9999499987499375], + ], + "uuid": "6cee0242-2ff6-4c02-afe8-9c0e8c0e37b7", + "job_dir": "f", + }, + ] + + job = fit_elastic_tensor(conventional, deformation_data) + + response = run_locally(job, ensure_success=True) + + elastic_out = response[job.uuid][1].output + assert elastic_out.fitting_data.failed_uuids == [] + assert elastic_out.warnings is None + assert len(set(elastic_out.fitting_data.uuids)) == 6 + + # test failure + # remove one of the outputs + deformation_data[0]["stress"] = None + job = fit_elastic_tensor(conventional, deformation_data, max_failed_deformations=2) + + response = run_locally(job, ensure_success=True) + + elastic_out = response[job.uuid][1].output + assert elastic_out.fitting_data.failed_uuids == [deformation_data[0]["uuid"]] + assert elastic_out.warnings == [ElasticWarnings.FAILED_PERTURBATIONS.value] + assert len(set(elastic_out.fitting_data.uuids)) == 5 + + job = fit_elastic_tensor(conventional, deformation_data, max_failed_deformations=0) + + response = run_locally(job, ensure_success=False) + + assert job.uuid not in response + assert "1 deformation calculations have failed, maximum allowed: 0" in caplog.text + + caplog.clear() + job = fit_elastic_tensor( + conventional, deformation_data, max_failed_deformations=0.01 + ) + + response = run_locally(job, ensure_success=False) + + assert job.uuid not in response + assert ( + "666666 fraction of deformation calculations have failed, " + "maximum fraction allowed: 0.01" in caplog.text + ) diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/inputs/INCAR b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/inputs/INCAR new file mode 100644 index 0000000000..e65ff99d9f --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/inputs/INCAR @@ -0,0 +1,24 @@ +ALGO = Normal +EDIFF = 1e-07 +EDIFFG = -0.001 +ENAUG = 1360 +ENCUT = 300 +GGA = Ps +IBRION = 2 +ISIF = 2 +ISMEAR = -5 +ISPIN = 2 +LAECHG = False +LASPH = True +LCHARG = False +LELF = False +LMIXTAU = True +LORBIT = 11 +LREAL = False +LVTOT = True +LWAVE = False +MAGMOM = 8*-0.0 +NELM = 200 +NSW = 99 +PREC = Accurate +SIGMA = 0.2 diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/inputs/KPOINTS b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/inputs/KPOINTS new file mode 100644 index 0000000000..f6f3064e20 --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/inputs/KPOINTS @@ -0,0 +1,4 @@ +pymatgen with grid density = 100 / number of atoms +0 +Gamma +2 2 2 diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/inputs/POSCAR b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/inputs/POSCAR new file mode 100644 index 0000000000..419d602615 --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/inputs/POSCAR @@ -0,0 +1,16 @@ +Si8 +1.0 + 5.4229442218237667 0.0000000000000000 0.0000000000000003 + -0.0000000000000003 5.4502640129743263 0.0000000000000003 + 0.0000000000000000 0.0000000000000000 5.4502640129743263 +Si +8 +direct + 0.2500000000000000 0.2500000000000000 0.7500000000000000 Si + 0.5000000000000000 0.0000000000000000 0.0000000000000000 Si + 0.2500000000000000 0.7500000000000000 0.2500000000000000 Si + 0.5000000000000000 0.5000000000000000 0.5000000000000000 Si + 0.7500000000000000 0.2500000000000000 0.2500000000000000 Si + 0.0000000000000000 0.0000000000000000 0.5000000000000000 Si + 0.7500000000000000 0.7500000000000000 0.7500000000000000 Si + 0.0000000000000000 0.5000000000000000 0.0000000000000000 Si diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/inputs/POTCAR.spec b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/inputs/POTCAR.spec new file mode 100644 index 0000000000..e267321d2c --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/inputs/POTCAR.spec @@ -0,0 +1 @@ +Si diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/CONTCAR.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/CONTCAR.gz new file mode 100644 index 0000000000..18c6049ac1 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/CONTCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/INCAR.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/INCAR.gz new file mode 100644 index 0000000000..c9bac8a774 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/INCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/INCAR.orig.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/INCAR.orig.gz new file mode 100644 index 0000000000..f3e0dad5b8 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/INCAR.orig.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/KPOINTS.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/KPOINTS.gz new file mode 100644 index 0000000000..0f77c239f6 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/KPOINTS.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/KPOINTS.orig.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/KPOINTS.orig.gz new file mode 100644 index 0000000000..013456ebf2 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/KPOINTS.orig.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/OUTCAR.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/OUTCAR.gz new file mode 100644 index 0000000000..b47e2ee722 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/OUTCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/POSCAR.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/POSCAR.gz new file mode 100644 index 0000000000..3bb962e985 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/POSCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/POSCAR.orig.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/POSCAR.orig.gz new file mode 100644 index 0000000000..af5482c2de Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/POSCAR.orig.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/POTCAR.spec b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/POTCAR.spec new file mode 100644 index 0000000000..e267321d2c --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/POTCAR.spec @@ -0,0 +1 @@ +Si diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/custodian.json.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/custodian.json.gz new file mode 100644 index 0000000000..7938bee946 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/custodian.json.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/transformations.json b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/transformations.json new file mode 100644 index 0000000000..6527745afe --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/transformations.json @@ -0,0 +1 @@ +{"@module": "pymatgen.alchemy.materials", "@class": "TransformedStructure", "charge": 0.0, "lattice": {"matrix": [[5.422944221823767, 0.0, 3e-16], [-2.9849623113198597e-16, 5.450264012974326, 3e-16], [0.0, 0.0, 5.450264012974326]], "pbc": [true, true, true], "a": 5.422944221823767, "b": 5.450264012974326, "c": 5.450264012974326, "alpha": 90.0, "beta": 90.0, "gamma": 90.0, "volume": 161.09060695792144}, "properties": {}, "sites": [{"species": [{"element": "Si", "occu": 1}], "abc": [0.25, 0.25, 0.75], "xyz": [1.3557360554559417, 1.3625660032435816, 4.087698009730745], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.5, 0.0, 0.0], "xyz": [2.7114721109118833, 0.0, 1.5e-16], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.25, 0.75, 0.25], "xyz": [1.3557360554559414, 4.087698009730745, 1.3625660032435818], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.5, 0.5, 0.5], "xyz": [2.7114721109118833, 2.725132006487163, 2.7251320064871636], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.75, 0.25, 0.25], "xyz": [4.067208166367825, 1.3625660032435816, 1.3625660032435818], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.0, 0.0, 0.5], "xyz": [0.0, 0.0, 2.725132006487163], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.75, 0.75, 0.75], "xyz": [4.067208166367825, 4.087698009730745, 4.087698009730746], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.0, 0.5, 0.0], "xyz": [-1.4924811556599299e-16, 2.725132006487163, 1.5e-16], "properties": {"magmom": -0.0}, "label": "Si"}], "history": [{"@module": "pymatgen.transformations.standard_transformations", "@class": "DeformStructureTransformation", "@version": null, "deformation": [[0.99498743710662, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]], "input_structure": {"@module": "pymatgen.core.structure", "@class": "Structure", "charge": 0.0, "lattice": {"matrix": [[5.450264012974326, -0.0, 3e-16], [-3e-16, 5.450264012974326, 3e-16], [0.0, 0.0, 5.450264012974326]], "pbc": [true, true, true], "a": 5.450264012974326, "b": 5.450264012974326, "c": 5.450264012974326, "alpha": 90.0, "beta": 90.0, "gamma": 90.0, "volume": 161.9021516757698}, "properties": {}, "sites": [{"species": [{"element": "Si", "occu": 1}], "abc": [0.25, 0.25, 0.75], "xyz": [1.3625660032435816, 1.3625660032435816, 4.087698009730745], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.5, 0.0, 0.0], "xyz": [2.725132006487163, 0.0, 1.5e-16], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.25, 0.75, 0.25], "xyz": [1.3625660032435813, 4.087698009730745, 1.3625660032435818], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.5, 0.5, 0.5], "xyz": [2.725132006487163, 2.725132006487163, 2.7251320064871636], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.75, 0.25, 0.25], "xyz": [4.087698009730745, 1.3625660032435816, 1.3625660032435818], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.0, 0.0, 0.5], "xyz": [0.0, 0.0, 2.725132006487163], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.75, 0.75, 0.75], "xyz": [4.087698009730745, 4.087698009730745, 4.087698009730746], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.0, 0.5, 0.0], "xyz": [-1.5e-16, 2.725132006487163, 1.5e-16], "properties": {"magmom": -0.0}, "label": "Si"}]}, "output_parameters": {}}], "last_modified": "2024-05-29 12:41:19.160684+00:00", "other_parameters": {}, "@version": null} diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/vasprun.xml.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/vasprun.xml.gz new file mode 100644 index 0000000000..01d34de39f Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_2_6/outputs/vasprun.xml.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/inputs/INCAR b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/inputs/INCAR new file mode 100644 index 0000000000..e65ff99d9f --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/inputs/INCAR @@ -0,0 +1,24 @@ +ALGO = Normal +EDIFF = 1e-07 +EDIFFG = -0.001 +ENAUG = 1360 +ENCUT = 300 +GGA = Ps +IBRION = 2 +ISIF = 2 +ISMEAR = -5 +ISPIN = 2 +LAECHG = False +LASPH = True +LCHARG = False +LELF = False +LMIXTAU = True +LORBIT = 11 +LREAL = False +LVTOT = True +LWAVE = False +MAGMOM = 8*-0.0 +NELM = 200 +NSW = 99 +PREC = Accurate +SIGMA = 0.2 diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/inputs/KPOINTS b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/inputs/KPOINTS new file mode 100644 index 0000000000..f6f3064e20 --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/inputs/KPOINTS @@ -0,0 +1,4 @@ +pymatgen with grid density = 100 / number of atoms +0 +Gamma +2 2 2 diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/inputs/POSCAR b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/inputs/POSCAR new file mode 100644 index 0000000000..da0af71c4d --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/inputs/POSCAR @@ -0,0 +1,16 @@ +Si8 +1.0 + 5.4774475432663188 0.0000000000000000 0.0000000000000003 + -0.0000000000000003 5.4502640129743263 0.0000000000000003 + 0.0000000000000000 0.0000000000000000 5.4502640129743263 +Si +8 +direct + 0.2500000000000000 0.2500000000000000 0.7500000000000000 Si + 0.5000000000000000 0.0000000000000000 0.0000000000000000 Si + 0.2500000000000000 0.7500000000000000 0.2500000000000000 Si + 0.5000000000000000 0.5000000000000000 0.5000000000000000 Si + 0.7500000000000000 0.2500000000000000 0.2500000000000000 Si + 0.0000000000000000 0.0000000000000000 0.5000000000000000 Si + 0.7500000000000000 0.7500000000000000 0.7500000000000000 Si + 0.0000000000000000 0.5000000000000000 0.0000000000000000 Si diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/inputs/POTCAR.spec b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/inputs/POTCAR.spec new file mode 100644 index 0000000000..e267321d2c --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/inputs/POTCAR.spec @@ -0,0 +1 @@ +Si diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/CONTCAR.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/CONTCAR.gz new file mode 100644 index 0000000000..a7ef916825 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/CONTCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/INCAR.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/INCAR.gz new file mode 100644 index 0000000000..c73c48308f Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/INCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/INCAR.orig.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/INCAR.orig.gz new file mode 100644 index 0000000000..5fdd1211bd Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/INCAR.orig.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/KPOINTS.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/KPOINTS.gz new file mode 100644 index 0000000000..972868f2ed Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/KPOINTS.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/KPOINTS.orig.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/KPOINTS.orig.gz new file mode 100644 index 0000000000..3d9630f32b Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/KPOINTS.orig.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/OUTCAR.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/OUTCAR.gz new file mode 100644 index 0000000000..b5288fbbca Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/OUTCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/POSCAR.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/POSCAR.gz new file mode 100644 index 0000000000..c8eb2304db Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/POSCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/POSCAR.orig.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/POSCAR.orig.gz new file mode 100644 index 0000000000..dc074c969b Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/POSCAR.orig.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/POTCAR.spec b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/POTCAR.spec new file mode 100644 index 0000000000..e267321d2c --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/POTCAR.spec @@ -0,0 +1 @@ +Si diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/custodian.json.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/custodian.json.gz new file mode 100644 index 0000000000..cbe306152d Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/custodian.json.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/transformations.json b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/transformations.json new file mode 100644 index 0000000000..edbf7fd3fc --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/transformations.json @@ -0,0 +1 @@ +{"@module": "pymatgen.alchemy.materials", "@class": "TransformedStructure", "charge": 0.0, "lattice": {"matrix": [[5.477447543266319, 0.0, 3e-16], [-3.014962686336267e-16, 5.450264012974326, 3e-16], [0.0, 0.0, 5.450264012974326]], "pbc": [true, true, true], "a": 5.477447543266319, "b": 5.450264012974326, "c": 5.450264012974326, "alpha": 90.0, "beta": 90.0, "gamma": 90.0, "volume": 162.70964871333354}, "properties": {}, "sites": [{"species": [{"element": "Si", "occu": 1}], "abc": [0.25, 0.25, 0.75], "xyz": [1.3693618858165797, 1.3625660032435816, 4.087698009730745], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.5, 0.0, 0.0], "xyz": [2.7387237716331594, 0.0, 1.5e-16], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.25, 0.75, 0.25], "xyz": [1.3693618858165795, 4.087698009730745, 1.3625660032435818], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.5, 0.5, 0.5], "xyz": [2.7387237716331594, 2.725132006487163, 2.7251320064871636], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.75, 0.25, 0.25], "xyz": [4.108085657449739, 1.3625660032435816, 1.3625660032435818], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.0, 0.0, 0.5], "xyz": [0.0, 0.0, 2.725132006487163], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.75, 0.75, 0.75], "xyz": [4.108085657449739, 4.087698009730745, 4.087698009730746], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.0, 0.5, 0.0], "xyz": [-1.5074813431681335e-16, 2.725132006487163, 1.5e-16], "properties": {"magmom": -0.0}, "label": "Si"}], "history": [{"@module": "pymatgen.transformations.standard_transformations", "@class": "DeformStructureTransformation", "@version": null, "deformation": [[1.004987562112089, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]], "input_structure": {"@module": "pymatgen.core.structure", "@class": "Structure", "charge": 0.0, "lattice": {"matrix": [[5.450264012974326, -0.0, 3e-16], [-3e-16, 5.450264012974326, 3e-16], [0.0, 0.0, 5.450264012974326]], "pbc": [true, true, true], "a": 5.450264012974326, "b": 5.450264012974326, "c": 5.450264012974326, "alpha": 90.0, "beta": 90.0, "gamma": 90.0, "volume": 161.9021516757698}, "properties": {}, "sites": [{"species": [{"element": "Si", "occu": 1}], "abc": [0.25, 0.25, 0.75], "xyz": [1.3625660032435816, 1.3625660032435816, 4.087698009730745], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.5, 0.0, 0.0], "xyz": [2.725132006487163, 0.0, 1.5e-16], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.25, 0.75, 0.25], "xyz": [1.3625660032435813, 4.087698009730745, 1.3625660032435818], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.5, 0.5, 0.5], "xyz": [2.725132006487163, 2.725132006487163, 2.7251320064871636], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.75, 0.25, 0.25], "xyz": [4.087698009730745, 1.3625660032435816, 1.3625660032435818], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.0, 0.0, 0.5], "xyz": [0.0, 0.0, 2.725132006487163], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.75, 0.75, 0.75], "xyz": [4.087698009730745, 4.087698009730745, 4.087698009730746], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.0, 0.5, 0.0], "xyz": [-1.5e-16, 2.725132006487163, 1.5e-16], "properties": {"magmom": -0.0}, "label": "Si"}]}, "output_parameters": {}}], "last_modified": "2024-05-29 12:41:30.220539+00:00", "other_parameters": {}, "@version": null} diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/vasprun.xml.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/vasprun.xml.gz new file mode 100644 index 0000000000..dbb5a6cdd1 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_3_6/outputs/vasprun.xml.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/inputs/INCAR b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/inputs/INCAR new file mode 100644 index 0000000000..e65ff99d9f --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/inputs/INCAR @@ -0,0 +1,24 @@ +ALGO = Normal +EDIFF = 1e-07 +EDIFFG = -0.001 +ENAUG = 1360 +ENCUT = 300 +GGA = Ps +IBRION = 2 +ISIF = 2 +ISMEAR = -5 +ISPIN = 2 +LAECHG = False +LASPH = True +LCHARG = False +LELF = False +LMIXTAU = True +LORBIT = 11 +LREAL = False +LVTOT = True +LWAVE = False +MAGMOM = 8*-0.0 +NELM = 200 +NSW = 99 +PREC = Accurate +SIGMA = 0.2 diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/inputs/KPOINTS b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/inputs/KPOINTS new file mode 100644 index 0000000000..f6f3064e20 --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/inputs/KPOINTS @@ -0,0 +1,4 @@ +pymatgen with grid density = 100 / number of atoms +0 +Gamma +2 2 2 diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/inputs/POSCAR b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/inputs/POSCAR new file mode 100644 index 0000000000..d076c8f331 --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/inputs/POSCAR @@ -0,0 +1,16 @@ +Si8 +1.0 + 5.5044968314411324 0.0000000000000000 0.0000000000000003 + -0.0000000000000003 5.4502640129743263 0.0000000000000003 + 0.0000000000000000 0.0000000000000000 5.4502640129743263 +Si +8 +direct + 0.2500000000000000 0.2500000000000000 0.7500000000000000 Si + 0.5000000000000000 0.0000000000000000 0.0000000000000000 Si + 0.2500000000000000 0.7500000000000000 0.2500000000000000 Si + 0.5000000000000000 0.5000000000000000 0.5000000000000000 Si + 0.7500000000000000 0.2500000000000000 0.2500000000000000 Si + 0.0000000000000000 0.0000000000000000 0.5000000000000000 Si + 0.7500000000000000 0.7500000000000000 0.7500000000000000 Si + 0.0000000000000000 0.5000000000000000 0.0000000000000000 Si diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/inputs/POTCAR.spec b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/inputs/POTCAR.spec new file mode 100644 index 0000000000..e267321d2c --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/inputs/POTCAR.spec @@ -0,0 +1 @@ +Si diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/CONTCAR.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/CONTCAR.gz new file mode 100644 index 0000000000..c8c268b853 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/CONTCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/INCAR.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/INCAR.gz new file mode 100644 index 0000000000..e38abc68d9 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/INCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/INCAR.orig.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/INCAR.orig.gz new file mode 100644 index 0000000000..cfc990b60a Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/INCAR.orig.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/KPOINTS.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/KPOINTS.gz new file mode 100644 index 0000000000..43a1b1e381 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/KPOINTS.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/KPOINTS.orig.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/KPOINTS.orig.gz new file mode 100644 index 0000000000..8b7453e95b Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/KPOINTS.orig.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/OUTCAR.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/OUTCAR.gz new file mode 100644 index 0000000000..e87971b55a Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/OUTCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/POSCAR.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/POSCAR.gz new file mode 100644 index 0000000000..081e98cd02 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/POSCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/POSCAR.orig.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/POSCAR.orig.gz new file mode 100644 index 0000000000..1c6c59023e Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/POSCAR.orig.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/POTCAR.spec b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/POTCAR.spec new file mode 100644 index 0000000000..e267321d2c --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/POTCAR.spec @@ -0,0 +1 @@ +Si diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/custodian.json.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/custodian.json.gz new file mode 100644 index 0000000000..dae0c27ce9 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/custodian.json.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/transformations.json b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/transformations.json new file mode 100644 index 0000000000..5f8c560241 --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/transformations.json @@ -0,0 +1 @@ +{"@module": "pymatgen.alchemy.materials", "@class": "TransformedStructure", "charge": 0.0, "lattice": {"matrix": [[5.504496831441132, 0.0, 3e-16], [-3.0298514815086237e-16, 5.450264012974326, 3e-16], [0.0, 0.0, 5.450264012974326]], "pbc": [true, true, true], "a": 5.504496831441132, "b": 5.450264012974326, "c": 5.450264012974326, "alpha": 90.0, "beta": 90.0, "gamma": 90.0, "volume": 163.5131580380883}, "properties": {}, "sites": [{"species": [{"element": "Si", "occu": 1}], "abc": [0.25, 0.25, 0.75], "xyz": [1.376124207860283, 1.3625660032435816, 4.087698009730745], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.5, 0.0, 0.0], "xyz": [2.752248415720566, 0.0, 1.5e-16], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.25, 0.75, 0.25], "xyz": [1.3761242078602829, 4.087698009730745, 1.3625660032435818], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.5, 0.5, 0.5], "xyz": [2.752248415720566, 2.725132006487163, 2.7251320064871636], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.75, 0.25, 0.25], "xyz": [4.12837262358085, 1.3625660032435816, 1.3625660032435818], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.0, 0.0, 0.5], "xyz": [0.0, 0.0, 2.725132006487163], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.75, 0.75, 0.75], "xyz": [4.12837262358085, 4.087698009730745, 4.087698009730746], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.0, 0.5, 0.0], "xyz": [-1.5149257407543118e-16, 2.725132006487163, 1.5e-16], "properties": {"magmom": -0.0}, "label": "Si"}], "history": [{"@module": "pymatgen.transformations.standard_transformations", "@class": "DeformStructureTransformation", "@version": null, "deformation": [[1.0099504938362078, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]], "input_structure": {"@module": "pymatgen.core.structure", "@class": "Structure", "charge": 0.0, "lattice": {"matrix": [[5.450264012974326, -0.0, 3e-16], [-3e-16, 5.450264012974326, 3e-16], [0.0, 0.0, 5.450264012974326]], "pbc": [true, true, true], "a": 5.450264012974326, "b": 5.450264012974326, "c": 5.450264012974326, "alpha": 90.0, "beta": 90.0, "gamma": 90.0, "volume": 161.9021516757698}, "properties": {}, "sites": [{"species": [{"element": "Si", "occu": 1}], "abc": [0.25, 0.25, 0.75], "xyz": [1.3625660032435816, 1.3625660032435816, 4.087698009730745], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.5, 0.0, 0.0], "xyz": [2.725132006487163, 0.0, 1.5e-16], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.25, 0.75, 0.25], "xyz": [1.3625660032435813, 4.087698009730745, 1.3625660032435818], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.5, 0.5, 0.5], "xyz": [2.725132006487163, 2.725132006487163, 2.7251320064871636], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.75, 0.25, 0.25], "xyz": [4.087698009730745, 1.3625660032435816, 1.3625660032435818], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.0, 0.0, 0.5], "xyz": [0.0, 0.0, 2.725132006487163], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.75, 0.75, 0.75], "xyz": [4.087698009730745, 4.087698009730745, 4.087698009730746], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.0, 0.5, 0.0], "xyz": [-1.5e-16, 2.725132006487163, 1.5e-16], "properties": {"magmom": -0.0}, "label": "Si"}]}, "output_parameters": {}}], "last_modified": "2024-05-29 12:41:41.262479+00:00", "other_parameters": {}, "@version": null} diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/vasprun.xml.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/vasprun.xml.gz new file mode 100644 index 0000000000..b363d19a63 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_4_6/outputs/vasprun.xml.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/inputs/INCAR b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/inputs/INCAR new file mode 100644 index 0000000000..e65ff99d9f --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/inputs/INCAR @@ -0,0 +1,24 @@ +ALGO = Normal +EDIFF = 1e-07 +EDIFFG = -0.001 +ENAUG = 1360 +ENCUT = 300 +GGA = Ps +IBRION = 2 +ISIF = 2 +ISMEAR = -5 +ISPIN = 2 +LAECHG = False +LASPH = True +LCHARG = False +LELF = False +LMIXTAU = True +LORBIT = 11 +LREAL = False +LVTOT = True +LWAVE = False +MAGMOM = 8*-0.0 +NELM = 200 +NSW = 99 +PREC = Accurate +SIGMA = 0.2 diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/inputs/KPOINTS b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/inputs/KPOINTS new file mode 100644 index 0000000000..f6f3064e20 --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/inputs/KPOINTS @@ -0,0 +1,4 @@ +pymatgen with grid density = 100 / number of atoms +0 +Gamma +2 2 2 diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/inputs/POSCAR b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/inputs/POSCAR new file mode 100644 index 0000000000..7e0f5a6a9f --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/inputs/POSCAR @@ -0,0 +1,16 @@ +Si8 +1.0 + 5.4502640129743263 -0.0000000000000000 0.0000000000000003 + -0.0000000000000003 5.4502640129743263 0.0000000000000003 + 0.0000000000000000 -0.1090052802594865 5.4491738511446446 +Si +8 +direct + 0.2500000000000000 0.2500000000000000 0.7500000000000000 Si + 0.5000000000000000 0.0000000000000000 0.0000000000000000 Si + 0.2500000000000000 0.7500000000000000 0.2500000000000000 Si + 0.5000000000000000 0.5000000000000000 0.5000000000000000 Si + 0.7500000000000000 0.2500000000000000 0.2500000000000000 Si + 0.0000000000000000 0.0000000000000000 0.5000000000000000 Si + 0.7500000000000000 0.7500000000000000 0.7500000000000000 Si + 0.0000000000000000 0.5000000000000000 0.0000000000000000 Si diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/inputs/POTCAR.spec b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/inputs/POTCAR.spec new file mode 100644 index 0000000000..e267321d2c --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/inputs/POTCAR.spec @@ -0,0 +1 @@ +Si diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/CONTCAR.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/CONTCAR.gz new file mode 100644 index 0000000000..1689b72806 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/CONTCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/INCAR.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/INCAR.gz new file mode 100644 index 0000000000..bc5567a9aa Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/INCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/INCAR.orig.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/INCAR.orig.gz new file mode 100644 index 0000000000..cfe2b41c6d Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/INCAR.orig.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/KPOINTS.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/KPOINTS.gz new file mode 100644 index 0000000000..d536426085 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/KPOINTS.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/KPOINTS.orig.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/KPOINTS.orig.gz new file mode 100644 index 0000000000..377701f483 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/KPOINTS.orig.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/OUTCAR.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/OUTCAR.gz new file mode 100644 index 0000000000..aa83624525 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/OUTCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/POSCAR.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/POSCAR.gz new file mode 100644 index 0000000000..0afc67e1f5 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/POSCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/POSCAR.orig.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/POSCAR.orig.gz new file mode 100644 index 0000000000..85251f0a13 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/POSCAR.orig.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/POTCAR.spec b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/POTCAR.spec new file mode 100644 index 0000000000..e267321d2c --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/POTCAR.spec @@ -0,0 +1 @@ +Si diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/custodian.json.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/custodian.json.gz new file mode 100644 index 0000000000..8b24ada3d8 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/custodian.json.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/transformations.json b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/transformations.json new file mode 100644 index 0000000000..a97015920e --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/transformations.json @@ -0,0 +1 @@ +{"@module": "pymatgen.alchemy.materials", "@class": "TransformedStructure", "charge": 0.0, "lattice": {"matrix": [[5.450264012974326, -6e-18, 2.999399939987997e-16], [-3e-16, 5.450264012974326, 2.999399939987997e-16], [0.0, -0.10900528025948653, 5.449173851144645]], "pbc": [true, true, true], "a": 5.450264012974326, "b": 5.450264012974326, "c": 5.450264012974326, "alpha": 91.14599199838858, "beta": 90.0, "gamma": 90.0, "volume": 161.86976800674384}, "properties": {}, "sites": [{"species": [{"element": "Si", "occu": 1}], "abc": [0.25, 0.25, 0.75], "xyz": [1.3625660032435816, 1.2808120430489667, 4.086880388358484], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.5, 0.0, 0.0], "xyz": [2.725132006487163, -3e-18, 1.4996999699939984e-16], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.25, 0.75, 0.25], "xyz": [1.3625660032435813, 4.0604466896658735, 1.3622934627861614], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.5, 0.5, 0.5], "xyz": [2.725132006487163, 2.67062936635742, 2.7245869255723227], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.75, 0.25, 0.25], "xyz": [4.087698009730745, 1.33531468317871, 1.3622934627861614], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.0, 0.0, 0.5], "xyz": [0.0, -0.05450264012974326, 2.7245869255723223], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.75, 0.75, 0.75], "xyz": [4.087698009730745, 4.005944049536129, 4.086880388358484], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.0, 0.5, 0.0], "xyz": [-1.5e-16, 2.725132006487163, 1.4996999699939984e-16], "properties": {"magmom": -0.0}, "label": "Si"}], "history": [{"@module": "pymatgen.transformations.standard_transformations", "@class": "DeformStructureTransformation", "@version": null, "deformation": [[1.0, 0.0, 0.0], [0.0, 1.0, -0.02], [0.0, 0.0, 0.999799979995999]], "input_structure": {"@module": "pymatgen.core.structure", "@class": "Structure", "charge": 0.0, "lattice": {"matrix": [[5.450264012974326, -0.0, 3e-16], [-3e-16, 5.450264012974326, 3e-16], [0.0, 0.0, 5.450264012974326]], "pbc": [true, true, true], "a": 5.450264012974326, "b": 5.450264012974326, "c": 5.450264012974326, "alpha": 90.0, "beta": 90.0, "gamma": 90.0, "volume": 161.9021516757698}, "properties": {}, "sites": [{"species": [{"element": "Si", "occu": 1}], "abc": [0.25, 0.25, 0.75], "xyz": [1.3625660032435816, 1.3625660032435816, 4.087698009730745], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.5, 0.0, 0.0], "xyz": [2.725132006487163, 0.0, 1.5e-16], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.25, 0.75, 0.25], "xyz": [1.3625660032435813, 4.087698009730745, 1.3625660032435818], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.5, 0.5, 0.5], "xyz": [2.725132006487163, 2.725132006487163, 2.7251320064871636], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.75, 0.25, 0.25], "xyz": [4.087698009730745, 1.3625660032435816, 1.3625660032435818], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.0, 0.0, 0.5], "xyz": [0.0, 0.0, 2.725132006487163], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.75, 0.75, 0.75], "xyz": [4.087698009730745, 4.087698009730745, 4.087698009730746], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.0, 0.5, 0.0], "xyz": [-1.5e-16, 2.725132006487163, 1.5e-16], "properties": {"magmom": -0.0}, "label": "Si"}]}, "output_parameters": {}}], "last_modified": "2024-05-29 12:41:52.399134+00:00", "other_parameters": {}, "@version": null} diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/vasprun.xml.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/vasprun.xml.gz new file mode 100644 index 0000000000..79a7b9be94 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_5_6/outputs/vasprun.xml.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/inputs/INCAR b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/inputs/INCAR new file mode 100644 index 0000000000..e65ff99d9f --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/inputs/INCAR @@ -0,0 +1,24 @@ +ALGO = Normal +EDIFF = 1e-07 +EDIFFG = -0.001 +ENAUG = 1360 +ENCUT = 300 +GGA = Ps +IBRION = 2 +ISIF = 2 +ISMEAR = -5 +ISPIN = 2 +LAECHG = False +LASPH = True +LCHARG = False +LELF = False +LMIXTAU = True +LORBIT = 11 +LREAL = False +LVTOT = True +LWAVE = False +MAGMOM = 8*-0.0 +NELM = 200 +NSW = 99 +PREC = Accurate +SIGMA = 0.2 diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/inputs/KPOINTS b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/inputs/KPOINTS new file mode 100644 index 0000000000..f6f3064e20 --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/inputs/KPOINTS @@ -0,0 +1,4 @@ +pymatgen with grid density = 100 / number of atoms +0 +Gamma +2 2 2 diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/inputs/POSCAR b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/inputs/POSCAR new file mode 100644 index 0000000000..f5ba0ad10d --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/inputs/POSCAR @@ -0,0 +1,16 @@ +Si8 +1.0 + 5.4502640129743263 -0.0000000000000000 0.0000000000000003 + -0.0000000000000003 5.4502640129743263 0.0000000000000003 + 0.0000000000000000 -0.0545026401297433 5.4499914929605069 +Si +8 +direct + 0.2500000000000000 0.2500000000000000 0.7500000000000000 Si + 0.5000000000000000 0.0000000000000000 0.0000000000000000 Si + 0.2500000000000000 0.7500000000000000 0.2500000000000000 Si + 0.5000000000000000 0.5000000000000000 0.5000000000000000 Si + 0.7500000000000000 0.2500000000000000 0.2500000000000000 Si + 0.0000000000000000 0.0000000000000000 0.5000000000000000 Si + 0.7500000000000000 0.7500000000000000 0.7500000000000000 Si + 0.0000000000000000 0.5000000000000000 0.0000000000000000 Si diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/inputs/POTCAR.spec b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/inputs/POTCAR.spec new file mode 100644 index 0000000000..e267321d2c --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/inputs/POTCAR.spec @@ -0,0 +1 @@ +Si diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/CONTCAR.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/CONTCAR.gz new file mode 100644 index 0000000000..2b40d457a8 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/CONTCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/INCAR.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/INCAR.gz new file mode 100644 index 0000000000..e846cc6ebe Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/INCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/INCAR.orig.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/INCAR.orig.gz new file mode 100644 index 0000000000..3865affbf3 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/INCAR.orig.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/KPOINTS.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/KPOINTS.gz new file mode 100644 index 0000000000..61eb2d3818 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/KPOINTS.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/KPOINTS.orig.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/KPOINTS.orig.gz new file mode 100644 index 0000000000..0d79a23cc0 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/KPOINTS.orig.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/OUTCAR.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/OUTCAR.gz new file mode 100644 index 0000000000..541b45b0f7 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/OUTCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/POSCAR.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/POSCAR.gz new file mode 100644 index 0000000000..a031ee8257 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/POSCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/POSCAR.orig.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/POSCAR.orig.gz new file mode 100644 index 0000000000..0b6f16d4c4 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/POSCAR.orig.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/POTCAR.spec b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/POTCAR.spec new file mode 100644 index 0000000000..e267321d2c --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/POTCAR.spec @@ -0,0 +1 @@ +Si diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/custodian.json.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/custodian.json.gz new file mode 100644 index 0000000000..b703189318 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/custodian.json.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/transformations.json b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/transformations.json new file mode 100644 index 0000000000..848c735705 --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/transformations.json @@ -0,0 +1 @@ +{"@module": "pymatgen.alchemy.materials", "@class": "TransformedStructure", "charge": 0.0, "lattice": {"matrix": [[5.450264012974326, -3e-18, 2.9998499962498123e-16], [-3e-16, 5.450264012974326, 2.9998499962498123e-16], [0.0, -0.05450264012974326, 5.449991492960507]], "pbc": [true, true, true], "a": 5.450264012974326, "b": 5.450264012974326, "c": 5.450264012974326, "alpha": 90.57296734485716, "beta": 90.0, "gamma": 90.0, "volume": 161.8940563657982}, "properties": {}, "sites": [{"species": [{"element": "Si", "occu": 1}], "abc": [0.25, 0.25, 0.75], "xyz": [1.3625660032435816, 1.3216890231462741, 4.08749361972038], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.5, 0.0, 0.0], "xyz": [2.725132006487163, -1.5e-18, 1.4999249981249061e-16], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.25, 0.75, 0.25], "xyz": [1.3625660032435813, 4.074072349698309, 1.362497873240127], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.5, 0.5, 0.5], "xyz": [2.725132006487163, 2.6978806864222915, 2.724995746480254], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.75, 0.25, 0.25], "xyz": [4.087698009730745, 1.3489403432111458, 1.362497873240127], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.0, 0.0, 0.5], "xyz": [0.0, -0.02725132006487163, 2.7249957464802534], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.75, 0.75, 0.75], "xyz": [4.087698009730745, 4.0468210296334375, 4.087493619720381], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.0, 0.5, 0.0], "xyz": [-1.5e-16, 2.725132006487163, 1.4999249981249061e-16], "properties": {"magmom": -0.0}, "label": "Si"}], "history": [{"@module": "pymatgen.transformations.standard_transformations", "@class": "DeformStructureTransformation", "@version": null, "deformation": [[1.0, 0.0, 0.0], [0.0, 1.0, -0.01], [0.0, 0.0, 0.9999499987499375]], "input_structure": {"@module": "pymatgen.core.structure", "@class": "Structure", "charge": 0.0, "lattice": {"matrix": [[5.450264012974326, -0.0, 3e-16], [-3e-16, 5.450264012974326, 3e-16], [0.0, 0.0, 5.450264012974326]], "pbc": [true, true, true], "a": 5.450264012974326, "b": 5.450264012974326, "c": 5.450264012974326, "alpha": 90.0, "beta": 90.0, "gamma": 90.0, "volume": 161.9021516757698}, "properties": {}, "sites": [{"species": [{"element": "Si", "occu": 1}], "abc": [0.25, 0.25, 0.75], "xyz": [1.3625660032435816, 1.3625660032435816, 4.087698009730745], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.5, 0.0, 0.0], "xyz": [2.725132006487163, 0.0, 1.5e-16], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.25, 0.75, 0.25], "xyz": [1.3625660032435813, 4.087698009730745, 1.3625660032435818], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.5, 0.5, 0.5], "xyz": [2.725132006487163, 2.725132006487163, 2.7251320064871636], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.75, 0.25, 0.25], "xyz": [4.087698009730745, 1.3625660032435816, 1.3625660032435818], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.0, 0.0, 0.5], "xyz": [0.0, 0.0, 2.725132006487163], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.75, 0.75, 0.75], "xyz": [4.087698009730745, 4.087698009730745, 4.087698009730746], "properties": {"magmom": -0.0}, "label": "Si"}, {"species": [{"element": "Si", "occu": 1}], "abc": [0.0, 0.5, 0.0], "xyz": [-1.5e-16, 2.725132006487163, 1.5e-16], "properties": {"magmom": -0.0}, "label": "Si"}]}, "output_parameters": {}}], "last_modified": "2024-05-29 12:42:03.677420+00:00", "other_parameters": {}, "@version": null} diff --git a/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/vasprun.xml.gz b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/vasprun.xml.gz new file mode 100644 index 0000000000..c295d11e37 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/elastic_relax_6_6/outputs/vasprun.xml.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/inputs/INCAR b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/inputs/INCAR new file mode 100644 index 0000000000..99189bac55 --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/inputs/INCAR @@ -0,0 +1,24 @@ +ALGO = Fast +EDIFF = 1e-07 +EDIFFG = -0.001 +ENAUG = 1360 +ENCUT = 300 +GGA = Ps +IBRION = 2 +ISIF = 3 +ISMEAR = 0 +ISPIN = 2 +LAECHG = False +LASPH = True +LCHARG = False +LELF = False +LMIXTAU = True +LORBIT = 11 +LREAL = False +LVTOT = True +LWAVE = False +MAGMOM = 8*0.6 +NELM = 200 +NSW = 99 +PREC = Accurate +SIGMA = 0.2 diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/inputs/KPOINTS b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/inputs/KPOINTS new file mode 100644 index 0000000000..f6f3064e20 --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/inputs/KPOINTS @@ -0,0 +1,4 @@ +pymatgen with grid density = 100 / number of atoms +0 +Gamma +2 2 2 diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/inputs/POSCAR b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/inputs/POSCAR new file mode 100644 index 0000000000..4235d2a689 --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/inputs/POSCAR @@ -0,0 +1,16 @@ +Si8 +1.0 + 5.4687279953829524 0.0000000000000000 0.0000000000000003 + -0.0000000000000003 5.4687279953829524 0.0000000000000003 + 0.0000000000000000 0.0000000000000000 5.4687279953829524 +Si +8 +direct + 0.2500000000000000 0.2500000000000000 0.7500000000000000 Si + 0.5000000000000000 0.0000000000000000 0.0000000000000000 Si + 0.2500000000000000 0.7500000000000000 0.2500000000000000 Si + 0.5000000000000000 0.5000000000000000 0.5000000000000000 Si + 0.7500000000000000 0.2500000000000000 0.2500000000000000 Si + 0.0000000000000000 0.0000000000000000 0.5000000000000000 Si + 0.7500000000000000 0.7500000000000000 0.7500000000000000 Si + 0.0000000000000000 0.5000000000000000 0.0000000000000000 Si diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/inputs/POTCAR.spec b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/inputs/POTCAR.spec new file mode 100644 index 0000000000..e267321d2c --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/inputs/POTCAR.spec @@ -0,0 +1 @@ +Si diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/CONTCAR.gz b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/CONTCAR.gz new file mode 100644 index 0000000000..00d4ab3881 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/CONTCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/INCAR.gz b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/INCAR.gz new file mode 100644 index 0000000000..ca6960fcca Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/INCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/INCAR.orig.gz b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/INCAR.orig.gz new file mode 100644 index 0000000000..e788fc028c Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/INCAR.orig.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/KPOINTS.gz b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/KPOINTS.gz new file mode 100644 index 0000000000..dc745d4350 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/KPOINTS.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/KPOINTS.orig.gz b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/KPOINTS.orig.gz new file mode 100644 index 0000000000..60b96f3705 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/KPOINTS.orig.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/OUTCAR.gz b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/OUTCAR.gz new file mode 100644 index 0000000000..ce8274f6a7 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/OUTCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/POSCAR.gz b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/POSCAR.gz new file mode 100644 index 0000000000..1542d9e906 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/POSCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/POSCAR.orig.gz b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/POSCAR.orig.gz new file mode 100644 index 0000000000..96483c9691 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/POSCAR.orig.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/POTCAR.spec b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/POTCAR.spec new file mode 100644 index 0000000000..e267321d2c --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/POTCAR.spec @@ -0,0 +1 @@ +Si diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/custodian.json.gz b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/custodian.json.gz new file mode 100644 index 0000000000..43ac7a7274 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/custodian.json.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/vasprun.xml.gz b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/vasprun.xml.gz new file mode 100644 index 0000000000..020114611e Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/tight_relax_1/outputs/vasprun.xml.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/inputs/INCAR b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/inputs/INCAR new file mode 100644 index 0000000000..23359c16b9 --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/inputs/INCAR @@ -0,0 +1,24 @@ +ALGO = Fast +EDIFF = 1e-07 +EDIFFG = -0.001 +ENAUG = 1360 +ENCUT = 300 +GGA = Ps +IBRION = 2 +ISIF = 3 +ISMEAR = -5 +ISPIN = 2 +LAECHG = False +LASPH = True +LCHARG = False +LELF = False +LMIXTAU = True +LORBIT = 11 +LREAL = False +LVTOT = True +LWAVE = False +MAGMOM = 8*-0.0 +NELM = 200 +NSW = 99 +PREC = Accurate +SIGMA = 0.05 diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/inputs/KPOINTS b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/inputs/KPOINTS new file mode 100644 index 0000000000..f6f3064e20 --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/inputs/KPOINTS @@ -0,0 +1,4 @@ +pymatgen with grid density = 100 / number of atoms +0 +Gamma +2 2 2 diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/inputs/POSCAR b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/inputs/POSCAR new file mode 100644 index 0000000000..b4783ec5ab --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/inputs/POSCAR @@ -0,0 +1,16 @@ +Si8 +1.0 + 5.4495306439927775 0.0000000000000000 0.0000000000000003 + -0.0000000000000003 5.4495306439927775 0.0000000000000003 + -0.0000000000000000 -0.0000000000000000 5.4495306439927775 +Si +8 +direct + 0.2500000000000000 0.2500000000000000 0.7500000000000000 Si + 0.5000000000000000 -0.0000000000000000 -0.0000000000000000 Si + 0.2500000000000000 0.7500000000000000 0.2500000000000000 Si + 0.5000000000000000 0.5000000000000000 0.5000000000000000 Si + 0.7500000000000000 0.2500000000000000 0.2500000000000000 Si + 0.0000000000000000 -0.0000000000000000 0.5000000000000000 Si + 0.7500000000000000 0.7500000000000000 0.7500000000000000 Si + 0.0000000000000000 0.5000000000000000 -0.0000000000000000 Si diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/inputs/POTCAR.spec b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/inputs/POTCAR.spec new file mode 100644 index 0000000000..e267321d2c --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/inputs/POTCAR.spec @@ -0,0 +1 @@ +Si diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/CONTCAR.gz b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/CONTCAR.gz new file mode 100644 index 0000000000..29d03abe6f Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/CONTCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/INCAR.gz b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/INCAR.gz new file mode 100644 index 0000000000..02961130af Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/INCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/INCAR.orig.gz b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/INCAR.orig.gz new file mode 100644 index 0000000000..2c8a196b64 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/INCAR.orig.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/KPOINTS.gz b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/KPOINTS.gz new file mode 100644 index 0000000000..1734ce1cf8 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/KPOINTS.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/KPOINTS.orig.gz b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/KPOINTS.orig.gz new file mode 100644 index 0000000000..7e3585c1cd Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/KPOINTS.orig.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/OUTCAR.gz b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/OUTCAR.gz new file mode 100644 index 0000000000..d889b55820 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/OUTCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/POSCAR.gz b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/POSCAR.gz new file mode 100644 index 0000000000..f6b830a259 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/POSCAR.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/POSCAR.orig.gz b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/POSCAR.orig.gz new file mode 100644 index 0000000000..3e0cfada80 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/POSCAR.orig.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/POTCAR.spec b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/POTCAR.spec new file mode 100644 index 0000000000..e267321d2c --- /dev/null +++ b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/POTCAR.spec @@ -0,0 +1 @@ +Si diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/custodian.json.gz b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/custodian.json.gz new file mode 100644 index 0000000000..1a1df4a5d4 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/custodian.json.gz differ diff --git a/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/vasprun.xml.gz b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/vasprun.xml.gz new file mode 100644 index 0000000000..04629302f5 Binary files /dev/null and b/tests/test_data/vasp/Si_elastic_fail/tight_relax_2/outputs/vasprun.xml.gz differ diff --git a/tests/vasp/flows/test_elastic.py b/tests/vasp/flows/test_elastic.py index 209ae7f1d8..16604ab14a 100644 --- a/tests/vasp/flows/test_elastic.py +++ b/tests/vasp/flows/test_elastic.py @@ -68,3 +68,53 @@ def test_elastic(mock_vasp, clean_dir, si_structure, conventional): atol=1e-3, ) assert elastic_output.chemsys == "Si" + + +def test_elastic_fail(mock_vasp, clean_dir, si_structure, caplog): + """ + Test the Elastic flow in case one of the deformation fails. + + The failure has been generated by killing the vasp process during + the execution of the Job. max_failed_deformations is set to 0, + so that the Flow will not completely. The default value of + max_failed_deformations (None), would instead allow to complete the fit. + """ + from jobflow import run_locally + + # mapping from job name to directory containing test files + ref_paths = { + "elastic relax 2/6": "Si_elastic_fail/elastic_relax_2_6", + "elastic relax 3/6": "Si_elastic_fail/elastic_relax_3_6", + "elastic relax 4/6": "Si_elastic_fail/elastic_relax_4_6", + "elastic relax 5/6": "Si_elastic_fail/elastic_relax_5_6", + "elastic relax 6/6": "Si_elastic_fail/elastic_relax_6_6", + "tight relax 1": "Si_elastic_fail/tight_relax_1", + "tight relax 2": "Si_elastic_fail/tight_relax_2", + } + + # settings passed to fake_run_vasp; adjust these to check for certain INCAR settings + fake_run_vasp_kwargs = { + "elastic relax 2/6": {"incar_settings": ["NSW", "ISMEAR"]}, + "elastic relax 3/6": {"incar_settings": ["NSW", "ISMEAR"]}, + "elastic relax 4/6": {"incar_settings": ["NSW", "ISMEAR"]}, + "elastic relax 5/6": {"incar_settings": ["NSW", "ISMEAR"]}, + "elastic relax 6/6": {"incar_settings": ["NSW", "ISMEAR"]}, + "tight relax 1": {"incar_settings": ["NSW", "ISMEAR"]}, + "tight relax 2": {"incar_settings": ["NSW", "ISMEAR"]}, + } + + # automatically use fake VASP and write POTCAR.spec during the test + mock_vasp(ref_paths, fake_run_vasp_kwargs) + + si = SpacegroupAnalyzer(si_structure).get_conventional_standard_structure() + + flow = ElasticMaker(max_failed_deformations=0).make(si) + flow = update_user_kpoints_settings(flow, {"grid_density": 100}) + flow = update_user_incar_settings(flow, {"ENCUT": 300}) + + # run the flow or job and ensure that it finished running successfully + responses = run_locally(flow, create_folders=True, ensure_success=False) + + assert flow[-2].uuid in responses + assert flow[-1].uuid not in responses + assert "1 deformation calculations have failed, maximum allowed: 0" in caplog.text