diff --git a/src/atomate2/vasp/flows/adsorption.py b/src/atomate2/vasp/flows/adsorption.py new file mode 100644 index 0000000000..ec3a66a42b --- /dev/null +++ b/src/atomate2/vasp/flows/adsorption.py @@ -0,0 +1,191 @@ +"""Flow for calculating surface adsorption energies.""" + +from __future__ import annotations + +from dataclasses import dataclass, field +from typing import TYPE_CHECKING + +from jobflow import Flow, Job, Maker + +from atomate2.vasp.jobs.adsorption import ( + BulkRelaxMaker, + MolRelaxMaker, + MolStaticMaker, + SlabRelaxMaker, + SlabStaticMaker, + adsorption_calculations, + generate_adslabs, + generate_slab, + run_adslabs_job, +) + +if TYPE_CHECKING: + from pathlib import Path + + from pymatgen.core.structure import Molecule, Structure + + +@dataclass +class AdsorptionMaker(Maker): + """ + Workflow that calculates the adsorption energy of a molecule on a surface. + + The flow consists of the following steps: + 1. Optimize the molecule structure and calculate its static energy. + 2. Optimize the bulk structure. + 3. Generate a slab structure using the optimized bulk structure and calculate its static energy. + 4. Generate adsorption sites on the slab and calculate corresponding static energy. + 5. Calculate the adsorption energy by calculating the energy difference between the slab with + adsorbed molecule and the sum of the slab without the adsorbed molecule and the molecule. + + Parameters + ---------- + name: str + Name of the flow. + bulk_relax_maker: BaseVaspMaker + Maker for bulk relaxation. + mol_relax_maker: BaseVaspMaker + Maker for molecule relaxation. + slab_relax_maker: BaseVaspMaker + Maker for slab relaxation with adsorption. + slab_static_maker: BaseVaspMaker + Maker for slab static energy calculation. + mol_static_maker: BaseVaspMaker + Maker for molecule static energy calculation. + min_vacuum: float + The minimum size of the vacuum region. In Angstroms or number of hkl planes. + min_slab_size: float + The minimum size of layers of the slab. In Angstroms or number of hkl planes. + min_lw: float + Minimum length and width of the slab + surface_idx: tuple + Miller index [h, k, l] of plane parallel to surface. + """ # noqa: E501 + + name: str = "adsorption workflow" + mol_relax_maker: Maker | None = field(default_factory=MolRelaxMaker) + mol_static_maker: Maker | None = field(default_factory=MolStaticMaker) + bulk_relax_maker: Maker | None = field(default_factory=BulkRelaxMaker) + slab_relax_maker: Maker | None = field(default_factory=SlabRelaxMaker) + slab_static_maker: Maker | None = field(default_factory=SlabStaticMaker) + min_vacuum: float = 20.0 + min_slab_size: float = 10.0 + min_lw: float = 10.0 + surface_idx: tuple[int, int, int] = (0, 0, 1) + + def make( + self, + molecule: Molecule, + structure: Structure, + prev_dir_mol: str | Path | None = None, + prev_dir_bulk: str | Path | None = None, + ) -> Flow: + """ + Generate a flow for calculating adsorption energies. + + Parameters + ---------- + molecule: Molecule + A pymatgen molecule object. The molecule to be adsorbed. + structure: Structure + A pymatgen structure object. The bulk structure to be used for slab generation. + prev_dir_mol: str or Path or None + A previous VASP calculation directory to copy output files from. + prev_dir_bulk: str or Path or None + A previous VASP calculation directory to copy output files from. + + Returns + ------- + Flow + A flow object for calculating adsorption energies. + """ # noqa: E501 + molecule_structure = molecule.get_boxed_structure(10, 10, 10) + + jobs: list[Job] = [] + + if self.mol_relax_maker: + mol_optimize_job = self.mol_relax_maker.make( + molecule_structure, prev_dir=prev_dir_mol + ) + mol_optimize_job.append_name("mol_relax_job") + jobs += [mol_optimize_job] + + mol_static_job = self.mol_static_maker.make( + mol_optimize_job.output.structure, prev_dir=prev_dir_mol + ) # updated + mol_static_job.append_name("mol_static_job") + jobs += [mol_static_job] + + molecule_dft_energy = mol_static_job.output.output.energy + + if self.bulk_relax_maker: + bulk_optimize_job = self.bulk_relax_maker.make( + structure, prev_dir=prev_dir_bulk + ) + bulk_optimize_job.append_name("bulk_relax_job") + jobs += [bulk_optimize_job] + + optimized_bulk = bulk_optimize_job.output.structure + + else: + optimized_bulk = structure + + generate_slab_structure = generate_slab( + bulk_structure=optimized_bulk, + min_slab_size=self.min_slab_size, + surface_idx=self.surface_idx, + min_vacuum_size=self.min_vacuum, + min_lw=self.min_lw, + ) + + jobs += [generate_slab_structure] + slab_structure = generate_slab_structure.output + + generate_adslabs_structures = generate_adslabs( + bulk_structure=optimized_bulk, + molecule_structure=molecule, + min_slab_size=self.min_slab_size, + surface_idx=self.surface_idx, + min_vacuum_size=self.min_vacuum, + min_lw=self.min_lw, + ) + jobs += [generate_adslabs_structures] + adslab_structures = generate_adslabs_structures.output + + # slab relaxation without adsorption + slab_optimize_job = self.slab_relax_maker.make(slab_structure, prev_dir=None) + slab_optimize_job.append_name("slab_relax_job") + jobs += [slab_optimize_job] + + optimized_slab = slab_optimize_job.output.structure + prev_dir_slab = slab_optimize_job.output.dir_name + + slab_static_job = self.slab_static_maker.make( + optimized_slab, prev_dir=prev_dir_slab + ) + slab_static_job.append_name("slab_static_job") + jobs += [slab_static_job] + + slab_dft_energy = slab_static_job.output.output.energy + + run_ads_calculation = run_adslabs_job( + adslab_structures=adslab_structures, + relax_maker=self.slab_relax_maker, + static_maker=self.slab_static_maker, + ) + jobs += [run_ads_calculation] + ads_outputs = run_ads_calculation.output + + adsorption_calc = adsorption_calculations( + adslab_structures=adslab_structures, + adslabs_data=ads_outputs, + molecule_dft_energy=molecule_dft_energy, + slab_dft_energy=slab_dft_energy, + ) + jobs += [adsorption_calc] + + return Flow( + jobs=jobs, + output=adsorption_calc.output, + name=self.name, + ) diff --git a/src/atomate2/vasp/jobs/adsorption.py b/src/atomate2/vasp/jobs/adsorption.py new file mode 100644 index 0000000000..328010453d --- /dev/null +++ b/src/atomate2/vasp/jobs/adsorption.py @@ -0,0 +1,430 @@ +"""Jobs used in the calculation of surface adsorption energy.""" + +from __future__ import annotations + +import logging +from collections import defaultdict +from dataclasses import dataclass, field +from typing import TYPE_CHECKING + +from jobflow import Flow, Response, job +from pymatgen.analysis.adsorption import AdsorbateSiteFinder +from pymatgen.core import Element, Molecule, Structure +from pymatgen.core.surface import SlabGenerator +from pymatgen.io.vasp import Kpoints +from pymatgen.io.vasp.sets import MPRelaxSet + +from atomate2.vasp.jobs.base import BaseVaspMaker +from atomate2.vasp.schemas.adsorption import AdsorptionDocument + +# from atomate2.vasp.sets.core import RelaxSetGenerator, StaticSetGenerator + +if TYPE_CHECKING: + from atomate2.vasp.sets.base import VaspInputGenerator + +logger = logging.getLogger(__name__) + + +@dataclass +class BulkRelaxMaker(BaseVaspMaker): + """Maker for molecule relaxation. + + Parameters + ---------- + name: str + The name of the flow produced by the maker. + input_set_generator: VaspInputGenerator + The input set generator for the relaxation calculation. + """ + + name: str = "bulk_relax_maker__" + input_set_generator: VaspInputGenerator = field( + default_factory=lambda: MPRelaxSet( + user_kpoints_settings={"reciprocal_density": 60}, + user_incar_settings={ + "ISIF": 3, + "ENCUT": 700, + "GGA": "RP", + "EDIFF": 1e-5, + "LDAU": False, + "NSW": 300, + "NELM": 500, + }, + auto_ispin=True, + ) + ) + + +@dataclass +class MolRelaxMaker(BaseVaspMaker): + """Maker for molecule relaxation. + + Parameters + ---------- + name: str + The name of the flow produced by the maker. + input_set_generator: VaspInputGenerator + The input set generator for the relaxation calculation. + """ + + name: str = "mol_relax_maker__" + input_set_generator: VaspInputGenerator = field( + default_factory=lambda: MPRelaxSet( + user_kpoints_settings=Kpoints.from_dict( + { + "nkpoints": 0, + "generation_style": "Gamma", + "kpoints": [[1, 1, 1]], + "usershift": [0, 0, 0], + "comment": "Automatic mesh", + } + ), + user_incar_settings={ + "ISIF": 2, + "ENCUT": 700, + "GGA": "RP", + "EDIFF": 1e-5, + "LDAU": False, + "NSW": 300, + "NELM": 500, + }, + auto_ispin=True, + ) + ) + + +@dataclass +class MolStaticMaker(BaseVaspMaker): + """Maker for molecule static energy calculation. + + Parameters + ---------- + name: str + The name of the flow produced by the maker. + input_set_generator: VaspInputGenerator + The input set generator for the static energy calculation. + """ + + name: str = "mol_static_maker__" + input_set_generator: VaspInputGenerator = field( + default_factory=lambda: MPRelaxSet( + user_kpoints_settings=Kpoints.from_dict( + { + "nkpoints": 0, + "generation_style": "Gamma", + "kpoints": [[1, 1, 1]], + "usershift": [0, 0, 0], + "comment": "Automatic mesh", + } + ), + user_incar_settings={ + "ENCUT": 700, + "IBRION": -1, + "GGA": "RP", + "EDIFF": 1e-7, + "LDAU": False, + "NSW": 0, + "NELM": 500, + }, + auto_ispin=True, + ) + ) + + +@dataclass +class SlabRelaxMaker(BaseVaspMaker): + """Maker for adsorption slab relaxation. + + Parameters + ---------- + name: str + The name of the flow produced by the maker. + input_set_generator: VaspInputGenerator + The input set generator for the relaxation calculation. + """ + + name: str = "slab_relax_maker__" + input_set_generator: VaspInputGenerator = field( + default_factory=lambda: MPRelaxSet( + user_kpoints_settings={"reciprocal_density": 60}, + user_incar_settings={ + "ISIF": 2, + "ENCUT": 700, + "GGA": "RP", + "EDIFF": 1e-5, + "LDAU": False, + "NSW": 300, + "NELM": 500, + }, + auto_ispin=False, + ) + ) + + +@dataclass +class SlabStaticMaker(BaseVaspMaker): + """Maker for slab static energy calculation. + + Parameters + ---------- + name: str + The name of the flow produced by the maker. + input_set_generator: VaspInputGenerator + The input set generator for the static energy calculation. + """ + + name: str = "slab_static_maker__" + input_set_generator: VaspInputGenerator = field( + default_factory=lambda: MPRelaxSet( + user_kpoints_settings={"reciprocal_density": 100}, + user_incar_settings={ + "ENCUT": 700, + "IBRION": -1, + "GGA": "RP", + "EDIFF": 1e-7, + "LDAU": False, + "NSW": 0, + "NELM": 500, + }, + auto_ispin=False, + ) + ) + + +def get_boxed_molecule(molecule: Molecule) -> Structure: + """Get the molecule structure. + + Parameters + ---------- + molecule: Molecule + The molecule to be adsorbed. + + Returns + ------- + Structure + The molecule structure. + """ + return molecule.get_boxed_structure(10, 10, 10) + + +def remove_adsorbate(slab: Structure) -> Structure: + """ + Remove adsorbate from the given slab. + + Parameters + ---------- + slab: Structure + A pymatgen Slab object, potentially with adsorbates. + + Returns + ------- + Structure + The modified slab with adsorbates removed. + """ + adsorbate_indices = [] + for i, site in enumerate(slab): + if site.properties.get("surface_properties") == "adsorbate": + adsorbate_indices.append(i) + # Reverse the indices list to avoid index shifting after removing sites + adsorbate_indices.reverse() + # Remove the adsorbate sites + for idx in adsorbate_indices: + slab.remove_sites([idx]) + return slab + + +@job +def generate_slab( + bulk_structure: Structure, + min_slab_size: float, + surface_idx: tuple, + min_vacuum_size: float, + min_lw: float, +) -> Structure: + """Generate the adsorption slabs without adsorbates. + + Parameters + ---------- + bulk_structure: Structure + The bulk/unit cell structure. + min_slab_size: float + The minimum size of the slab. In Angstroms or number of hkl planes. + See pymatgen.core.surface.SlabGenerator for more details. + surface_idx: tuple + The Miller index [h, k, l] of the surface. + min_vacuum_size: float + The minimum size of the vacuum region. In Angstroms or number of hkl planes. + See pymatgen.core.surface.SlabGenerator for more details. + min_lw: float + The minimum length and width of the slab. + + Returns + ------- + Structure + The slab structure without adsorbates. + """ + hydrogen = Molecule([Element("H")], [[0, 0, 0]]) + slab_generator = SlabGenerator( + bulk_structure, + surface_idx, + min_slab_size, + min_vacuum_size, + primitive=False, + center_slab=True, + ) + temp_slab = slab_generator.get_slab() + ads_slabs = AdsorbateSiteFinder(temp_slab).generate_adsorption_structures( + hydrogen, translate=True, min_lw=min_lw + ) + return remove_adsorbate(ads_slabs[0]) + + +@job +def generate_adslabs( + bulk_structure: Structure, + molecule_structure: Molecule, + min_slab_size: float, + surface_idx: tuple, + min_vacuum_size: float, + min_lw: float, +) -> list[Structure]: + """Generate the adsorption slabs with adsorbates. + + Parameters + ---------- + bulk_structure: Structure + The bulk/unit cell structure. + molecule_structure: Structure + The molecule to be adsorbed. + min_slab_size: float + The minimum size of the slab. In Angstroms or number of hkl planes. + surface_idx: tuple + The Miller index [h, k, l] of the surface. + min_vacuum_size: float + The minimum size of the vacuum region. In Angstroms or number of hkl planes. + min_lw: float + The minimum length and width of the slab. + + Returns + ------- + list[Structure] + The list of all possible configurations of slab structures with adsorbates. + """ + slab_generator = SlabGenerator( + bulk_structure, + surface_idx, + min_slab_size, + min_vacuum_size, + primitive=False, + center_slab=True, + ) + slab = slab_generator.get_slab() + + return AdsorbateSiteFinder(slab).generate_adsorption_structures( + molecule_structure, translate=True, min_lw=min_lw + ) + + +@job +def run_adslabs_job( + adslab_structures: list[Structure], + relax_maker: SlabRelaxMaker, + static_maker: SlabStaticMaker, +) -> Response: + """Workflow of running the adsorption slab calculations. + + Parameters + ---------- + adslab_structures: list[Structure] + The list of all possible configurations of slab structures with adsorbates. + relax_maker: AdslabRelaxMaker + The relaxation maker for the adsorption slab structures. + static_maker: SlabStaticMaker + The static maker for the adsorption slab structures. + + Returns + ------- + Flow + The flow of the adsorption slab calculations. + """ + adsorption_jobs = [] + ads_outputs = defaultdict(list) + + for i, ad_structure in enumerate(adslab_structures): + ads_job = relax_maker.make(structure=ad_structure, prev_dir=None) + ads_job.append_name(f"adsconfig_{i}") + + adsorption_jobs.append(ads_job) + ads_outputs["configuration_number"].append(i) + ads_outputs["relaxed_structures"].append(ads_job.output.structure) + + prev_dir_ads = ads_job.output.dir_name + + static_job = static_maker.make( + structure=ads_job.output.structure, prev_dir=prev_dir_ads + ) + static_job.append_name(f"static_adsconfig_{i}") + adsorption_jobs.append(static_job) + + ads_outputs["static_energy"].append(static_job.output.output.energy) + ads_outputs["dirs"].append(ads_job.output.dir_name) + + ads_flow = Flow(adsorption_jobs, ads_outputs) + return Response(replace=ads_flow) + + +@job(output_schema=AdsorptionDocument) +def adsorption_calculations( + adslab_structures: list[Structure], + adslabs_data: dict[str, list], + molecule_dft_energy: float, + slab_dft_energy: float, +) -> AdsorptionDocument: + """Calculate the adsorption energies and return an AdsorptionDocument instance. + + Parameters + ---------- + adslab_structures : list[Structure] + The list of all possible configurations of slab structures with adsorbates. + adslabs_data : dict[str, list] + Dictionary containing static energies and directories of the adsorption slabs. + molecule_dft_energy : float + The static energy of the molecule. + slab_dft_energy : float + The static energy of the slab. + + Returns + ------- + AdsorptionDocument + An AdsorptionDocument instance containing all adsorption data. + """ + adsorption_energies = [] + configuration_numbers = [] + job_dirs = [] + + for i, _ad_structure in enumerate(adslab_structures): + ads_energy = ( + adslabs_data["static_energy"][i] - molecule_dft_energy - slab_dft_energy + ) + adsorption_energies.append(ads_energy) + configuration_numbers.append(i) + job_dirs.append(adslabs_data["dirs"][i]) + + # Sort the data by adsorption energy + sorted_indices = sorted( + range(len(adsorption_energies)), key=lambda k: adsorption_energies[k] + ) + + # Apply the sorted indices to all lists + sorted_structures = [adslab_structures[i] for i in sorted_indices] + sorted_configuration_numbers = [configuration_numbers[i] for i in sorted_indices] + sorted_adsorption_energies = [adsorption_energies[i] for i in sorted_indices] + sorted_job_dirs = [job_dirs[i] for i in sorted_indices] + + # Create and return the AdsorptionDocument instance + return AdsorptionDocument( + structures=sorted_structures, + configuration_numbers=sorted_configuration_numbers, + adsorption_energies=sorted_adsorption_energies, + job_dirs=sorted_job_dirs, + ) diff --git a/src/atomate2/vasp/schemas/adsorption.py b/src/atomate2/vasp/schemas/adsorption.py new file mode 100644 index 0000000000..4cac7e4d0f --- /dev/null +++ b/src/atomate2/vasp/schemas/adsorption.py @@ -0,0 +1,57 @@ +"""Schemas for adsorption structures and related properties.""" + +from pydantic import BaseModel, Field +from pymatgen.core import Structure + + +class AdsorptionDocument(BaseModel): + """Document containing adsorption structures information and related properties.""" + + structures: list[Structure] = Field( + ..., description="List of adsorption structures." + ) + + configuration_numbers: list[int] = Field( + ..., description="List of configuration numbers for the adsorption structures." + ) + + adsorption_energies: list[float] = Field( + ..., description="List of adsorption energies corresponding to each structure." + ) + + job_dirs: list[str] = Field( + ..., description="List of directories where the adsorption jobs were run." + ) + + @classmethod + def from_adsorption( + cls, + structures: list[Structure], + configuration_numbers: list[int], + adsorption_energies: list[float], + job_dirs: list[str], + ) -> "AdsorptionDocument": + """Create an AdsorptionDocument from lists of structures and energies. + + Parameters + ---------- + structures : list[Structure] + The list of adsorption structures. + configuration_numbers : list[int] + List of configuration numbers. + adsorption_energies : list[float] + A list of adsorption energies. + job_dirs : list[str] + List of job directories. + + Returns + ------- + AdsorptionDocument + An instance of AdsorptionDocument containing the provided data. + """ + return cls( + structures=structures, + configuration_numbers=configuration_numbers, + adsorption_energies=adsorption_energies, + job_dirs=job_dirs, + ) diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/inputs/INCAR b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/inputs/INCAR new file mode 100644 index 0000000000..e79b773971 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/inputs/INCAR @@ -0,0 +1,26 @@ +ALGO = Fast +EDIFF = 1e-05 +EDIFFG = -0.02 +ENAUG = 1360 +ENCUT = 700 +GGA = Rp +IBRION = 2 +ISIF = 2 +ISMEAR = 0 +ISPIN = 2 +LAECHG = True +LASPH = True +LCHARG = False +LDAU = False +LELF = False +LMAXMIX = 4 +LMIXTAU = True +LORBIT = 11 +LREAL = False +LVTOT = True +LWAVE = False +MAGMOM = 16*0.0 1*1.0 +NELM = 500 +NSW = 300 +PREC = Accurate +SIGMA = 0.2 diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/inputs/KPOINTS b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/inputs/KPOINTS new file mode 100644 index 0000000000..9413decf46 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/inputs/KPOINTS @@ -0,0 +1,4 @@ +pymatgen with grid density = 475 / number of atoms +0 +Gamma +4 4 1 diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/inputs/POSCAR b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/inputs/POSCAR new file mode 100644 index 0000000000..475204f6c3 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/inputs/POSCAR @@ -0,0 +1,25 @@ +Au16 O1 +1.0 + 8.3973470668481660 0.0000000000000000 0.0000000000000005 + 0.0000000000000014 8.3973470668481660 0.0000000000000005 + 0.0000000000000000 0.0000000000000000 25.1920412005444980 +Au O +16 1 +direct + 0.0000000000000000 0.0000000000000000 0.4583333333333334 Au + 0.0000000000000000 0.5000000000000000 0.4583333333333334 Au + 0.5000000000000000 0.0000000000000000 0.4583333333333334 Au + 0.5000000000000000 0.5000000000000000 0.4583333333333334 Au + 0.0000000000000000 0.2500000000000000 0.5416666666666667 Au + 0.0000000000000000 0.7500000000000000 0.5416666666666667 Au + 0.4999999999999999 0.2500000000000000 0.5416666666666667 Au + 0.5000000000000000 0.7500000000000000 0.5416666666666667 Au + 0.2500000000000000 0.0000000000000000 0.5416666666666667 Au + 0.2500000000000001 0.5000000000000000 0.5416666666666667 Au + 0.7500000000000000 0.0000000000000000 0.5416666666666667 Au + 0.7500000000000000 0.5000000000000000 0.5416666666666667 Au + 0.2500000000000000 0.2500000000000000 0.4583333333333334 Au + 0.2500000000000001 0.7500000000000000 0.4583333333333334 Au + 0.7500000000000001 0.2500000000000000 0.4583333333333334 Au + 0.7500000000000000 0.7500000000000000 0.4583333333333333 Au + -0.0000000000000000 0.2500000000000000 0.6210568194565396 O diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/inputs/POTCAR.spec b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/inputs/POTCAR.spec new file mode 100644 index 0000000000..5bd0b257d9 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/inputs/POTCAR.spec @@ -0,0 +1,2 @@ +Au +O diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/CONTCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/CONTCAR.gz new file mode 100644 index 0000000000..d9737212e3 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/CONTCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/INCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/INCAR.gz new file mode 100644 index 0000000000..25ee4f29c1 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/INCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/INCAR.orig.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/INCAR.orig.gz new file mode 100644 index 0000000000..a1e45ec54c Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/INCAR.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/KPOINTS.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/KPOINTS.gz new file mode 100644 index 0000000000..cfae4e7c7f Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/KPOINTS.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/KPOINTS.orig.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/KPOINTS.orig.gz new file mode 100644 index 0000000000..c580411283 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/KPOINTS.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/OUTCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/OUTCAR.gz new file mode 100644 index 0000000000..b4cfad8fe0 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/OUTCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/POSCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/POSCAR.gz new file mode 100644 index 0000000000..ad9b09b7d5 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/POSCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/POSCAR.orig.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/POSCAR.orig.gz new file mode 100644 index 0000000000..172dbaff39 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/POSCAR.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/POTCAR.spec b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/POTCAR.spec new file mode 100644 index 0000000000..5bd0b257d9 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/POTCAR.spec @@ -0,0 +1,2 @@ +Au +O diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/custodian.json.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/custodian.json.gz new file mode 100644 index 0000000000..14b2679bd9 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/custodian.json.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/vasprun.xml.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/vasprun.xml.gz new file mode 100644 index 0000000000..47620e3150 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_1_3/outputs/vasprun.xml.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/inputs/INCAR b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/inputs/INCAR new file mode 100644 index 0000000000..e79b773971 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/inputs/INCAR @@ -0,0 +1,26 @@ +ALGO = Fast +EDIFF = 1e-05 +EDIFFG = -0.02 +ENAUG = 1360 +ENCUT = 700 +GGA = Rp +IBRION = 2 +ISIF = 2 +ISMEAR = 0 +ISPIN = 2 +LAECHG = True +LASPH = True +LCHARG = False +LDAU = False +LELF = False +LMAXMIX = 4 +LMIXTAU = True +LORBIT = 11 +LREAL = False +LVTOT = True +LWAVE = False +MAGMOM = 16*0.0 1*1.0 +NELM = 500 +NSW = 300 +PREC = Accurate +SIGMA = 0.2 diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/inputs/KPOINTS b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/inputs/KPOINTS new file mode 100644 index 0000000000..9413decf46 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/inputs/KPOINTS @@ -0,0 +1,4 @@ +pymatgen with grid density = 475 / number of atoms +0 +Gamma +4 4 1 diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/inputs/POSCAR b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/inputs/POSCAR new file mode 100644 index 0000000000..2320b3d120 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/inputs/POSCAR @@ -0,0 +1,25 @@ +Au16 O1 +1.0 + 8.3973470668481660 0.0000000000000000 0.0000000000000005 + 0.0000000000000014 8.3973470668481660 0.0000000000000005 + 0.0000000000000000 0.0000000000000000 25.1920412005444980 +Au O +16 1 +direct + 0.0000000000000000 0.0000000000000000 0.4583333333333334 Au + 0.0000000000000000 0.5000000000000000 0.4583333333333334 Au + 0.5000000000000000 0.0000000000000000 0.4583333333333334 Au + 0.5000000000000000 0.5000000000000000 0.4583333333333334 Au + 0.0000000000000000 0.2500000000000000 0.5416666666666667 Au + 0.0000000000000000 0.7500000000000000 0.5416666666666667 Au + 0.4999999999999999 0.2500000000000000 0.5416666666666667 Au + 0.5000000000000000 0.7500000000000000 0.5416666666666667 Au + 0.2500000000000000 0.0000000000000000 0.5416666666666667 Au + 0.2500000000000001 0.5000000000000000 0.5416666666666667 Au + 0.7500000000000000 0.0000000000000000 0.5416666666666667 Au + 0.7500000000000000 0.5000000000000000 0.5416666666666667 Au + 0.2500000000000000 0.2500000000000000 0.4583333333333334 Au + 0.2500000000000001 0.7500000000000000 0.4583333333333334 Au + 0.7500000000000001 0.2500000000000000 0.4583333333333334 Au + 0.7500000000000000 0.7500000000000000 0.4583333333333333 Au + 0.3750000000000004 0.1250000000000004 0.6210568194565397 O diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/inputs/POTCAR.spec b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/inputs/POTCAR.spec new file mode 100644 index 0000000000..5bd0b257d9 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/inputs/POTCAR.spec @@ -0,0 +1,2 @@ +Au +O diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/CONTCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/CONTCAR.gz new file mode 100644 index 0000000000..b70669a5f7 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/CONTCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/INCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/INCAR.gz new file mode 100644 index 0000000000..18b6143b16 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/INCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/INCAR.orig.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/INCAR.orig.gz new file mode 100644 index 0000000000..3ebafa3179 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/INCAR.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/KPOINTS.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/KPOINTS.gz new file mode 100644 index 0000000000..bb2e5bf7f7 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/KPOINTS.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/KPOINTS.orig.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/KPOINTS.orig.gz new file mode 100644 index 0000000000..06ded8e90d Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/KPOINTS.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/OUTCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/OUTCAR.gz new file mode 100644 index 0000000000..a8c1f2b191 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/OUTCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/POSCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/POSCAR.gz new file mode 100644 index 0000000000..7915d400b0 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/POSCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/POSCAR.orig.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/POSCAR.orig.gz new file mode 100644 index 0000000000..10a8891b79 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/POSCAR.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/POTCAR.spec b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/POTCAR.spec new file mode 100644 index 0000000000..5bd0b257d9 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/POTCAR.spec @@ -0,0 +1,2 @@ +Au +O diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/custodian.json.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/custodian.json.gz new file mode 100644 index 0000000000..f1795f1318 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/custodian.json.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/vasprun.xml.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/vasprun.xml.gz new file mode 100644 index 0000000000..2130bfa125 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_2_3/outputs/vasprun.xml.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/inputs/INCAR b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/inputs/INCAR new file mode 100644 index 0000000000..e79b773971 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/inputs/INCAR @@ -0,0 +1,26 @@ +ALGO = Fast +EDIFF = 1e-05 +EDIFFG = -0.02 +ENAUG = 1360 +ENCUT = 700 +GGA = Rp +IBRION = 2 +ISIF = 2 +ISMEAR = 0 +ISPIN = 2 +LAECHG = True +LASPH = True +LCHARG = False +LDAU = False +LELF = False +LMAXMIX = 4 +LMIXTAU = True +LORBIT = 11 +LREAL = False +LVTOT = True +LWAVE = False +MAGMOM = 16*0.0 1*1.0 +NELM = 500 +NSW = 300 +PREC = Accurate +SIGMA = 0.2 diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/inputs/KPOINTS b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/inputs/KPOINTS new file mode 100644 index 0000000000..9413decf46 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/inputs/KPOINTS @@ -0,0 +1,4 @@ +pymatgen with grid density = 475 / number of atoms +0 +Gamma +4 4 1 diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/inputs/POSCAR b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/inputs/POSCAR new file mode 100644 index 0000000000..cef520b983 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/inputs/POSCAR @@ -0,0 +1,25 @@ +Au16 O1 +1.0 + 8.3973470668481660 0.0000000000000000 0.0000000000000005 + 0.0000000000000014 8.3973470668481660 0.0000000000000005 + 0.0000000000000000 0.0000000000000000 25.1920412005444980 +Au O +16 1 +direct + 0.0000000000000000 0.0000000000000000 0.4583333333333334 Au + 0.0000000000000000 0.5000000000000000 0.4583333333333334 Au + 0.5000000000000000 0.0000000000000000 0.4583333333333334 Au + 0.5000000000000000 0.5000000000000000 0.4583333333333334 Au + 0.0000000000000000 0.2500000000000000 0.5416666666666667 Au + 0.0000000000000000 0.7500000000000000 0.5416666666666667 Au + 0.4999999999999999 0.2500000000000000 0.5416666666666667 Au + 0.5000000000000000 0.7500000000000000 0.5416666666666667 Au + 0.2500000000000000 0.0000000000000000 0.5416666666666667 Au + 0.2500000000000001 0.5000000000000000 0.5416666666666667 Au + 0.7500000000000000 0.0000000000000000 0.5416666666666667 Au + 0.7500000000000000 0.5000000000000000 0.5416666666666667 Au + 0.2500000000000000 0.2500000000000000 0.4583333333333334 Au + 0.2500000000000001 0.7500000000000000 0.4583333333333334 Au + 0.7500000000000001 0.2500000000000000 0.4583333333333334 Au + 0.7500000000000000 0.7500000000000000 0.4583333333333333 Au + 0.0000000000000007 0.0000000000000001 0.6210568194565397 O diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/inputs/POTCAR.spec b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/inputs/POTCAR.spec new file mode 100644 index 0000000000..5bd0b257d9 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/inputs/POTCAR.spec @@ -0,0 +1,2 @@ +Au +O diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/CONTCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/CONTCAR.gz new file mode 100644 index 0000000000..b0e913f5b1 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/CONTCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/INCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/INCAR.gz new file mode 100644 index 0000000000..a25c90981b Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/INCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/INCAR.orig.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/INCAR.orig.gz new file mode 100644 index 0000000000..a468bb4008 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/INCAR.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/KPOINTS.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/KPOINTS.gz new file mode 100644 index 0000000000..9cc0bde6a1 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/KPOINTS.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/KPOINTS.orig.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/KPOINTS.orig.gz new file mode 100644 index 0000000000..55b236b500 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/KPOINTS.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/OUTCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/OUTCAR.gz new file mode 100644 index 0000000000..4cbcd8a18f Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/OUTCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/POSCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/POSCAR.gz new file mode 100644 index 0000000000..300ab82bb4 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/POSCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/POSCAR.orig.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/POSCAR.orig.gz new file mode 100644 index 0000000000..9903161c4c Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/POSCAR.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/POTCAR.spec b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/POTCAR.spec new file mode 100644 index 0000000000..5bd0b257d9 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/POTCAR.spec @@ -0,0 +1,2 @@ +Au +O diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/custodian.json.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/custodian.json.gz new file mode 100644 index 0000000000..9568af9301 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/custodian.json.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/vasprun.xml.gz b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/vasprun.xml.gz new file mode 100644 index 0000000000..36978429a1 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_relax_3_3/outputs/vasprun.xml.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_1_3/inputs/INCAR b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/inputs/INCAR new file mode 100644 index 0000000000..7db2bc04b4 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/inputs/INCAR @@ -0,0 +1,24 @@ +ALGO = Fast +EDIFF = 1e-07 +ENAUG = 1360 +ENCUT = 700 +GGA = Rp +IBRION = -1 +ISMEAR = -5 +ISPIN = 2 +LAECHG = True +LASPH = True +LCHARG = True +LDAU = False +LELF = False +LMAXMIX = 4 +LMIXTAU = True +LORBIT = 11 +LREAL = False +LVTOT = True +LWAVE = False +MAGMOM = 17*0.0 +NELM = 500 +NSW = 0 +PREC = Accurate +SIGMA = 0.2 diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_1_3/inputs/KPOINTS b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/inputs/KPOINTS new file mode 100644 index 0000000000..9413decf46 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/inputs/KPOINTS @@ -0,0 +1,4 @@ +pymatgen with grid density = 475 / number of atoms +0 +Gamma +4 4 1 diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_1_3/inputs/POSCAR b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/inputs/POSCAR new file mode 100644 index 0000000000..f685f182a6 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/inputs/POSCAR @@ -0,0 +1,25 @@ +Au16 O1 +1.0 + 8.3973470668481660 0.0000000000000000 0.0000000000000005 + 0.0000000000000014 8.3973470668481660 0.0000000000000005 + 0.0000000000000000 0.0000000000000000 25.1920412005444980 +Au O +16 1 +direct + -0.0000000000000000 0.0086033816389772 0.4609361989342440 Au + -0.0000000000000000 0.4913966183610228 0.4609361989342440 Au + 0.5000000000000000 -0.0033390540432865 0.4576525618738787 Au + 0.5000000000000000 0.5033390540432865 0.4576525618738787 Au + -0.0000000000000000 0.2500000000000000 0.5466254264896492 Au + -0.0000000000000000 0.7500000000000000 0.5369396097699555 Au + 0.5000000000000000 0.2500000000000000 0.5369396097699555 Au + 0.5000000000000000 0.7500000000000000 0.5430427801550559 Au + 0.2584529191498132 -0.0084529191498131 0.5402167255432531 Au + 0.2584529191498132 0.5084529191498129 0.5402167255432531 Au + 0.7415470808501871 -0.0084529191498131 0.5402167255432531 Au + 0.7415470808501871 0.5084529191498129 0.5402167255432531 Au + 0.2413966183610227 0.2500000000000000 0.4609361989342440 Au + 0.2533390540432865 0.7500000000000000 0.4576525618738787 Au + 0.7586033816389772 0.2500000000000000 0.4609361989342440 Au + 0.7466609459567135 0.7500000000000000 0.4576525618738787 Au + -0.0000000000000000 0.2500000000000000 0.6222874478664222 O diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_1_3/inputs/POTCAR.spec b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/inputs/POTCAR.spec new file mode 100644 index 0000000000..5bd0b257d9 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/inputs/POTCAR.spec @@ -0,0 +1,2 @@ +Au +O diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/CONTCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/CONTCAR.gz new file mode 100644 index 0000000000..bd77ea0fcf Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/CONTCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/INCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/INCAR.gz new file mode 100644 index 0000000000..5e11c79f4c Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/INCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/INCAR.orig.gz b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/INCAR.orig.gz new file mode 100644 index 0000000000..7959518d53 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/INCAR.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/KPOINTS.gz b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/KPOINTS.gz new file mode 100644 index 0000000000..e83866d131 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/KPOINTS.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/KPOINTS.orig.gz b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/KPOINTS.orig.gz new file mode 100644 index 0000000000..dc123da72e Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/KPOINTS.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/OUTCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/OUTCAR.gz new file mode 100644 index 0000000000..9674f7d90b Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/OUTCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/POSCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/POSCAR.gz new file mode 100644 index 0000000000..4c175ca057 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/POSCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/POSCAR.orig.gz b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/POSCAR.orig.gz new file mode 100644 index 0000000000..60e6801190 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/POSCAR.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/POTCAR.spec b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/POTCAR.spec new file mode 100644 index 0000000000..5bd0b257d9 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/POTCAR.spec @@ -0,0 +1,2 @@ +Au +O diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/custodian.json.gz b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/custodian.json.gz new file mode 100644 index 0000000000..22c25dca49 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/custodian.json.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/vasprun.xml.gz b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/vasprun.xml.gz new file mode 100644 index 0000000000..244b9d78c7 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_1_3/outputs/vasprun.xml.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_2_3/inputs/INCAR b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/inputs/INCAR new file mode 100644 index 0000000000..7db2bc04b4 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/inputs/INCAR @@ -0,0 +1,24 @@ +ALGO = Fast +EDIFF = 1e-07 +ENAUG = 1360 +ENCUT = 700 +GGA = Rp +IBRION = -1 +ISMEAR = -5 +ISPIN = 2 +LAECHG = True +LASPH = True +LCHARG = True +LDAU = False +LELF = False +LMAXMIX = 4 +LMIXTAU = True +LORBIT = 11 +LREAL = False +LVTOT = True +LWAVE = False +MAGMOM = 17*0.0 +NELM = 500 +NSW = 0 +PREC = Accurate +SIGMA = 0.2 diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_2_3/inputs/KPOINTS b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/inputs/KPOINTS new file mode 100644 index 0000000000..9413decf46 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/inputs/KPOINTS @@ -0,0 +1,4 @@ +pymatgen with grid density = 475 / number of atoms +0 +Gamma +4 4 1 diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_2_3/inputs/POSCAR b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/inputs/POSCAR new file mode 100644 index 0000000000..82b6b5a69f --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/inputs/POSCAR @@ -0,0 +1,25 @@ +Au16 O1 +1.0 + 8.3973470668481660 0.0000000000000000 0.0000000000000005 + 0.0000000000000014 8.3973470668481660 0.0000000000000005 + 0.0000000000000000 0.0000000000000000 25.1920412005444980 +Au O +16 1 +direct + 0.0130061791899231 0.0027820142969057 0.4621243061565772 Au + -0.0043115209022780 0.5043115209022779 0.4570408168095576 Au + 0.4963698771340121 0.0036301228659880 0.4599407116089265 Au + 0.4972179857030943 0.4869938208100770 0.4621243061565772 Au + -0.0060619698437658 0.2591041536103382 0.5384851765070389 Au + -0.0033470236330631 0.7466529763669371 0.5423682594025681 Au + 0.5104014161902517 0.2604014161902513 0.5498650471440670 Au + 0.5091041536103379 0.7439380301562343 0.5384851765070389 Au + 0.2395985838097486 -0.0104014161902514 0.5498650471440670 Au + 0.2408958463896620 0.5060619698437657 0.5384851765070389 Au + 0.7560619698437657 -0.0091041536103381 0.5384851765070389 Au + 0.7533470236330629 0.5033470236330629 0.5423682594025681 Au + 0.2536301228659881 0.2463698771340119 0.4599407116089265 Au + 0.2527820142969057 0.7630061791899236 0.4621243061565772 Au + 0.7369938208100764 0.2472179857030943 0.4621243061565772 Au + 0.7543115209022778 0.7456884790977222 0.4570408168095576 Au + 0.3750000000000000 0.1250000000000000 0.6001892188718374 O diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_2_3/inputs/POTCAR.spec b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/inputs/POTCAR.spec new file mode 100644 index 0000000000..5bd0b257d9 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/inputs/POTCAR.spec @@ -0,0 +1,2 @@ +Au +O diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/CONTCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/CONTCAR.gz new file mode 100644 index 0000000000..9ed8ed701c Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/CONTCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/INCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/INCAR.gz new file mode 100644 index 0000000000..b649573ccc Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/INCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/INCAR.orig.gz b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/INCAR.orig.gz new file mode 100644 index 0000000000..8375646c04 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/INCAR.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/KPOINTS.gz b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/KPOINTS.gz new file mode 100644 index 0000000000..ae0ef12c15 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/KPOINTS.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/KPOINTS.orig.gz b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/KPOINTS.orig.gz new file mode 100644 index 0000000000..090d8712ad Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/KPOINTS.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/OUTCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/OUTCAR.gz new file mode 100644 index 0000000000..352f70574b Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/OUTCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/POSCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/POSCAR.gz new file mode 100644 index 0000000000..005a5d31d1 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/POSCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/POSCAR.orig.gz b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/POSCAR.orig.gz new file mode 100644 index 0000000000..3be2d77c53 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/POSCAR.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/POTCAR.spec b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/POTCAR.spec new file mode 100644 index 0000000000..5bd0b257d9 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/POTCAR.spec @@ -0,0 +1,2 @@ +Au +O diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/custodian.json.gz b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/custodian.json.gz new file mode 100644 index 0000000000..5c965a4936 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/custodian.json.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/vasprun.xml.gz b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/vasprun.xml.gz new file mode 100644 index 0000000000..c02312b1b3 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_2_3/outputs/vasprun.xml.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_3_3/inputs/INCAR b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/inputs/INCAR new file mode 100644 index 0000000000..382bf33015 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/inputs/INCAR @@ -0,0 +1,24 @@ +ALGO = Fast +EDIFF = 1e-07 +ENAUG = 1360 +ENCUT = 700 +GGA = Rp +IBRION = -1 +ISMEAR = -5 +ISPIN = 2 +LAECHG = True +LASPH = True +LCHARG = True +LDAU = False +LELF = False +LMAXMIX = 4 +LMIXTAU = True +LORBIT = 11 +LREAL = False +LVTOT = True +LWAVE = False +MAGMOM = 17*-0.0 +NELM = 500 +NSW = 0 +PREC = Accurate +SIGMA = 0.2 diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_3_3/inputs/KPOINTS b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/inputs/KPOINTS new file mode 100644 index 0000000000..9413decf46 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/inputs/KPOINTS @@ -0,0 +1,4 @@ +pymatgen with grid density = 475 / number of atoms +0 +Gamma +4 4 1 diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_3_3/inputs/POSCAR b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/inputs/POSCAR new file mode 100644 index 0000000000..a8a3d6512a --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/inputs/POSCAR @@ -0,0 +1,25 @@ +Au16 O1 +1.0 + 8.3973470668481660 0.0000000000000000 0.0000000000000005 + 0.0000000000000014 8.3973470668481660 0.0000000000000005 + 0.0000000000000000 0.0000000000000000 25.1920412005444980 +Au O +16 1 +direct + -0.0000000000000000 -0.0000000000000000 0.4511430595031358 Au + -0.0000000000000000 0.5000000000000000 0.4681793006633964 Au + 0.5000000000000000 -0.0000000000000000 0.4681793006633964 Au + 0.5000000000000000 0.5000000000000000 0.4599460166402662 Au + -0.0000000000000000 0.2513120528528345 0.5444642376321651 Au + -0.0000000000000000 0.7486879471471655 0.5444642376321651 Au + 0.5000000000000000 0.2571499617482194 0.5420486633863140 Au + 0.5000000000000000 0.7428500382517809 0.5420486633863140 Au + 0.2513120528528345 -0.0000000000000000 0.5444642376321651 Au + 0.2571499617482194 0.5000000000000000 0.5420486633863140 Au + 0.7486879471471655 -0.0000000000000000 0.5444642376321651 Au + 0.7428500382517809 0.5000000000000000 0.5420486633863140 Au + 0.2429742615168994 0.2429742615168994 0.4606690738353939 Au + 0.2429742615168994 0.7570257384831008 0.4606690738353939 Au + 0.7570257384831008 0.2429742615168994 0.4606690738353939 Au + 0.7570257384831008 0.7570257384831008 0.4606690738353939 Au + -0.0000000000000000 -0.0000000000000000 0.5848812425708549 O diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_3_3/inputs/POTCAR.spec b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/inputs/POTCAR.spec new file mode 100644 index 0000000000..5bd0b257d9 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/inputs/POTCAR.spec @@ -0,0 +1,2 @@ +Au +O diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/CONTCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/CONTCAR.gz new file mode 100644 index 0000000000..b6f662ce6c Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/CONTCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/INCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/INCAR.gz new file mode 100644 index 0000000000..908f91e68a Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/INCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/INCAR.orig.gz b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/INCAR.orig.gz new file mode 100644 index 0000000000..893bc141e7 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/INCAR.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/KPOINTS.gz b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/KPOINTS.gz new file mode 100644 index 0000000000..7631a769f5 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/KPOINTS.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/KPOINTS.orig.gz b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/KPOINTS.orig.gz new file mode 100644 index 0000000000..bb38cc89ab Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/KPOINTS.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/OUTCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/OUTCAR.gz new file mode 100644 index 0000000000..e31afb7251 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/OUTCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/POSCAR.gz b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/POSCAR.gz new file mode 100644 index 0000000000..da9b7ac149 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/POSCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/POSCAR.orig.gz b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/POSCAR.orig.gz new file mode 100644 index 0000000000..a5b660a29a Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/POSCAR.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/POTCAR.spec b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/POTCAR.spec new file mode 100644 index 0000000000..5bd0b257d9 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/POTCAR.spec @@ -0,0 +1,2 @@ +Au +O diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/custodian.json.gz b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/custodian.json.gz new file mode 100644 index 0000000000..7d9c4fbbc7 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/custodian.json.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/vasprun.xml.gz b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/vasprun.xml.gz new file mode 100644 index 0000000000..a427a17f16 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/ads_static_3_3/outputs/vasprun.xml.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/bulk_relax/inputs/INCAR b/tests/test_data/vasp/Au_adsorption/bulk_relax/inputs/INCAR new file mode 100644 index 0000000000..3a5f22f458 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/bulk_relax/inputs/INCAR @@ -0,0 +1,26 @@ +ALGO = Fast +EDIFF = 1e-05 +EDIFFG = -0.02 +ENAUG = 1360 +ENCUT = 700 +GGA = Rp +IBRION = 2 +ISIF = 3 +ISMEAR = 0 +ISPIN = 2 +LAECHG = True +LASPH = True +LCHARG = False +LDAU = False +LELF = False +LMAXMIX = 4 +LMIXTAU = True +LORBIT = 11 +LREAL = False +LVTOT = True +LWAVE = False +MAGMOM = 4*0.6 +NELM = 500 +NSW = 300 +PREC = Accurate +SIGMA = 0.2 diff --git a/tests/test_data/vasp/Au_adsorption/bulk_relax/inputs/KPOINTS b/tests/test_data/vasp/Au_adsorption/bulk_relax/inputs/KPOINTS new file mode 100644 index 0000000000..c0583641bc --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/bulk_relax/inputs/KPOINTS @@ -0,0 +1,4 @@ +pymatgen with grid density = 2730 / number of atoms +0 +Gamma +8 8 8 diff --git a/tests/test_data/vasp/Au_adsorption/bulk_relax/inputs/POSCAR b/tests/test_data/vasp/Au_adsorption/bulk_relax/inputs/POSCAR new file mode 100644 index 0000000000..29523a7289 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/bulk_relax/inputs/POSCAR @@ -0,0 +1,12 @@ +Au4 +1.0 + 4.1736000000000004 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 4.1736000000000004 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 4.1736000000000004 +Au +4 +direct + 0.0000000000000000 0.0000000000000000 0.0000000000000000 Au + 0.0000000000000000 0.5000000000000000 0.5000000000000000 Au + 0.5000000000000000 0.0000000000000000 0.5000000000000000 Au + 0.5000000000000000 0.5000000000000000 0.0000000000000000 Au diff --git a/tests/test_data/vasp/Au_adsorption/bulk_relax/inputs/POTCAR.spec b/tests/test_data/vasp/Au_adsorption/bulk_relax/inputs/POTCAR.spec new file mode 100644 index 0000000000..3f3c266033 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/bulk_relax/inputs/POTCAR.spec @@ -0,0 +1 @@ +Au diff --git a/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/CONTCAR.gz b/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/CONTCAR.gz new file mode 100644 index 0000000000..9ffdc2352b Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/CONTCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/INCAR.gz b/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/INCAR.gz new file mode 100644 index 0000000000..0d7ec6aca5 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/INCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/INCAR.orig.gz b/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/INCAR.orig.gz new file mode 100644 index 0000000000..fdc4fba523 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/INCAR.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/KPOINTS.gz b/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/KPOINTS.gz new file mode 100644 index 0000000000..d1a06eb5ae Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/KPOINTS.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/KPOINTS.orig.gz b/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/KPOINTS.orig.gz new file mode 100644 index 0000000000..4b71924203 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/KPOINTS.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/OUTCAR.gz b/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/OUTCAR.gz new file mode 100644 index 0000000000..c5d43ee145 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/OUTCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/POSCAR.gz b/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/POSCAR.gz new file mode 100644 index 0000000000..abe9f818a0 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/POSCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/POSCAR.orig.gz b/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/POSCAR.orig.gz new file mode 100644 index 0000000000..b8469a624d Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/POSCAR.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/POTCAR.spec b/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/POTCAR.spec new file mode 100644 index 0000000000..3f3c266033 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/POTCAR.spec @@ -0,0 +1 @@ +Au diff --git a/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/custodian.json.gz b/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/custodian.json.gz new file mode 100644 index 0000000000..c739a85e2f Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/custodian.json.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/vasprun.xml.gz b/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/vasprun.xml.gz new file mode 100644 index 0000000000..137f7d3a8b Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/bulk_relax/outputs/vasprun.xml.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/mol_relax/inputs/INCAR b/tests/test_data/vasp/Au_adsorption/mol_relax/inputs/INCAR new file mode 100644 index 0000000000..bd7e482f7d --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/mol_relax/inputs/INCAR @@ -0,0 +1,25 @@ +ALGO = Fast +EDIFF = 1e-05 +EDIFFG = -0.02 +ENAUG = 1360 +ENCUT = 700 +GGA = Rp +IBRION = 2 +ISIF = 2 +ISMEAR = 0 +ISPIN = 2 +LAECHG = True +LASPH = True +LCHARG = False +LDAU = False +LELF = False +LMIXTAU = True +LORBIT = 11 +LREAL = False +LVTOT = True +LWAVE = False +MAGMOM = 1*0.6 +NELM = 500 +NSW = 300 +PREC = Accurate +SIGMA = 0.2 diff --git a/tests/test_data/vasp/Au_adsorption/mol_relax/inputs/KPOINTS b/tests/test_data/vasp/Au_adsorption/mol_relax/inputs/KPOINTS new file mode 100644 index 0000000000..584b25eb65 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/mol_relax/inputs/KPOINTS @@ -0,0 +1,4 @@ +Automatic mesh +0 +Gamma +3 3 3 diff --git a/tests/test_data/vasp/Au_adsorption/mol_relax/inputs/POSCAR b/tests/test_data/vasp/Au_adsorption/mol_relax/inputs/POSCAR new file mode 100644 index 0000000000..daa9ad8f42 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/mol_relax/inputs/POSCAR @@ -0,0 +1,9 @@ +O1 +1.0 + 10.0000000000000000 0.0000000000000000 0.0000000000000006 + -0.0000000000000006 10.0000000000000000 0.0000000000000006 + 0.0000000000000000 0.0000000000000000 10.0000000000000000 +O +1 +direct + 0.5000000000000000 0.5000000000000000 0.4999999999999999 O diff --git a/tests/test_data/vasp/Au_adsorption/mol_relax/inputs/POTCAR.spec b/tests/test_data/vasp/Au_adsorption/mol_relax/inputs/POTCAR.spec new file mode 100644 index 0000000000..2638c45f8e --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/mol_relax/inputs/POTCAR.spec @@ -0,0 +1 @@ +O diff --git a/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/CONTCAR.gz b/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/CONTCAR.gz new file mode 100644 index 0000000000..fb849c3324 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/CONTCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/INCAR.gz b/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/INCAR.gz new file mode 100644 index 0000000000..cf141ee473 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/INCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/INCAR.orig.gz b/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/INCAR.orig.gz new file mode 100644 index 0000000000..a17435f4c2 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/INCAR.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/KPOINTS.gz b/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/KPOINTS.gz new file mode 100644 index 0000000000..ed9dc07070 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/KPOINTS.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/KPOINTS.orig.gz b/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/KPOINTS.orig.gz new file mode 100644 index 0000000000..133f277ba9 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/KPOINTS.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/OUTCAR.gz b/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/OUTCAR.gz new file mode 100644 index 0000000000..7b488d7b48 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/OUTCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/POSCAR.gz b/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/POSCAR.gz new file mode 100644 index 0000000000..4366946840 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/POSCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/POSCAR.orig.gz b/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/POSCAR.orig.gz new file mode 100644 index 0000000000..05c7397e39 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/POSCAR.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/POTCAR.spec b/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/POTCAR.spec new file mode 100644 index 0000000000..2638c45f8e --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/POTCAR.spec @@ -0,0 +1 @@ +O diff --git a/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/custodian.json.gz b/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/custodian.json.gz new file mode 100644 index 0000000000..035225049a Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/custodian.json.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/vasprun.xml.gz b/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/vasprun.xml.gz new file mode 100644 index 0000000000..33a5c64a82 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/mol_relax/outputs/vasprun.xml.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/mol_static/inputs/INCAR b/tests/test_data/vasp/Au_adsorption/mol_static/inputs/INCAR new file mode 100644 index 0000000000..b150281695 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/mol_static/inputs/INCAR @@ -0,0 +1,23 @@ +ALGO = Fast +EDIFF = 1e-07 +ENAUG = 1360 +ENCUT = 700 +GGA = Rp +IBRION = -1 +ISMEAR = 0 +ISPIN = 2 +LAECHG = True +LASPH = True +LCHARG = True +LDAU = False +LELF = False +LMIXTAU = True +LORBIT = 11 +LREAL = False +LVTOT = True +LWAVE = False +MAGMOM = 1*1.553 +NELM = 500 +NSW = 0 +PREC = Accurate +SIGMA = 0.05 diff --git a/tests/test_data/vasp/Au_adsorption/mol_static/inputs/KPOINTS b/tests/test_data/vasp/Au_adsorption/mol_static/inputs/KPOINTS new file mode 100644 index 0000000000..1370e3ffbb --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/mol_static/inputs/KPOINTS @@ -0,0 +1,4 @@ +Automatic kpoint scheme +0 +Gamma +4 4 4 diff --git a/tests/test_data/vasp/Au_adsorption/mol_static/inputs/POSCAR b/tests/test_data/vasp/Au_adsorption/mol_static/inputs/POSCAR new file mode 100644 index 0000000000..65357b65b4 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/mol_static/inputs/POSCAR @@ -0,0 +1,9 @@ +O1 +1.0 + 10.0000000000000000 0.0000000000000000 0.0000000000000006 + -0.0000000000000006 10.0000000000000000 0.0000000000000006 + 0.0000000000000000 0.0000000000000000 10.0000000000000000 +O +1 +direct + 0.5000000000000000 0.5000000000000000 0.5000000000000000 O diff --git a/tests/test_data/vasp/Au_adsorption/mol_static/inputs/POTCAR.spec b/tests/test_data/vasp/Au_adsorption/mol_static/inputs/POTCAR.spec new file mode 100644 index 0000000000..2638c45f8e --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/mol_static/inputs/POTCAR.spec @@ -0,0 +1 @@ +O diff --git a/tests/test_data/vasp/Au_adsorption/mol_static/outputs/CONTCAR.gz b/tests/test_data/vasp/Au_adsorption/mol_static/outputs/CONTCAR.gz new file mode 100644 index 0000000000..76de675297 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/mol_static/outputs/CONTCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/mol_static/outputs/INCAR.gz b/tests/test_data/vasp/Au_adsorption/mol_static/outputs/INCAR.gz new file mode 100644 index 0000000000..8b3c28b38a Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/mol_static/outputs/INCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/mol_static/outputs/INCAR.orig.gz b/tests/test_data/vasp/Au_adsorption/mol_static/outputs/INCAR.orig.gz new file mode 100644 index 0000000000..d70ec6fd02 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/mol_static/outputs/INCAR.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/mol_static/outputs/KPOINTS.gz b/tests/test_data/vasp/Au_adsorption/mol_static/outputs/KPOINTS.gz new file mode 100644 index 0000000000..031c44c61b Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/mol_static/outputs/KPOINTS.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/mol_static/outputs/KPOINTS.orig.gz b/tests/test_data/vasp/Au_adsorption/mol_static/outputs/KPOINTS.orig.gz new file mode 100644 index 0000000000..6e77863a11 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/mol_static/outputs/KPOINTS.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/mol_static/outputs/OUTCAR.gz b/tests/test_data/vasp/Au_adsorption/mol_static/outputs/OUTCAR.gz new file mode 100644 index 0000000000..f54c1bf32a Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/mol_static/outputs/OUTCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/mol_static/outputs/POSCAR.gz b/tests/test_data/vasp/Au_adsorption/mol_static/outputs/POSCAR.gz new file mode 100644 index 0000000000..35d41ca40a Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/mol_static/outputs/POSCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/mol_static/outputs/POSCAR.orig.gz b/tests/test_data/vasp/Au_adsorption/mol_static/outputs/POSCAR.orig.gz new file mode 100644 index 0000000000..1152b502de Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/mol_static/outputs/POSCAR.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/mol_static/outputs/POTCAR.spec b/tests/test_data/vasp/Au_adsorption/mol_static/outputs/POTCAR.spec new file mode 100644 index 0000000000..2638c45f8e --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/mol_static/outputs/POTCAR.spec @@ -0,0 +1 @@ +O diff --git a/tests/test_data/vasp/Au_adsorption/mol_static/outputs/custodian.json.gz b/tests/test_data/vasp/Au_adsorption/mol_static/outputs/custodian.json.gz new file mode 100644 index 0000000000..1d15ca3c49 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/mol_static/outputs/custodian.json.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/mol_static/outputs/vasprun.xml.gz b/tests/test_data/vasp/Au_adsorption/mol_static/outputs/vasprun.xml.gz new file mode 100644 index 0000000000..d508414ea7 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/mol_static/outputs/vasprun.xml.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/slab_relax/inputs/INCAR b/tests/test_data/vasp/Au_adsorption/slab_relax/inputs/INCAR new file mode 100644 index 0000000000..ee958abcda --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/slab_relax/inputs/INCAR @@ -0,0 +1,26 @@ +ALGO = Fast +EDIFF = 1e-05 +EDIFFG = -0.02 +ENAUG = 1360 +ENCUT = 700 +GGA = Rp +IBRION = 2 +ISIF = 2 +ISMEAR = 0 +ISPIN = 2 +LAECHG = True +LASPH = True +LCHARG = False +LDAU = False +LELF = False +LMAXMIX = 4 +LMIXTAU = True +LORBIT = 11 +LREAL = False +LVTOT = True +LWAVE = False +MAGMOM = 16*0.0 +NELM = 500 +NSW = 300 +PREC = Accurate +SIGMA = 0.2 diff --git a/tests/test_data/vasp/Au_adsorption/slab_relax/inputs/KPOINTS b/tests/test_data/vasp/Au_adsorption/slab_relax/inputs/KPOINTS new file mode 100644 index 0000000000..7ef4f531fd --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/slab_relax/inputs/KPOINTS @@ -0,0 +1,4 @@ +pymatgen with grid density = 447 / number of atoms +0 +Gamma +4 4 1 diff --git a/tests/test_data/vasp/Au_adsorption/slab_relax/inputs/POSCAR b/tests/test_data/vasp/Au_adsorption/slab_relax/inputs/POSCAR new file mode 100644 index 0000000000..a7a4ff6737 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/slab_relax/inputs/POSCAR @@ -0,0 +1,24 @@ +Au16 +1.0 + 8.3973470668481660 0.0000000000000000 0.0000000000000005 + 0.0000000000000014 8.3973470668481660 0.0000000000000005 + 0.0000000000000000 0.0000000000000000 25.1920412005444980 +Au +16 +direct + 0.0000000000000000 0.0000000000000000 0.4583333333333334 Au + 0.0000000000000000 0.5000000000000000 0.4583333333333334 Au + 0.5000000000000000 0.0000000000000000 0.4583333333333334 Au + 0.5000000000000000 0.5000000000000000 0.4583333333333334 Au + 0.0000000000000000 0.2500000000000000 0.5416666666666667 Au + 0.0000000000000000 0.7500000000000000 0.5416666666666667 Au + 0.4999999999999999 0.2500000000000000 0.5416666666666667 Au + 0.5000000000000000 0.7500000000000000 0.5416666666666667 Au + 0.2500000000000000 0.0000000000000000 0.5416666666666667 Au + 0.2500000000000001 0.5000000000000000 0.5416666666666667 Au + 0.7500000000000000 0.0000000000000000 0.5416666666666667 Au + 0.7500000000000000 0.5000000000000000 0.5416666666666667 Au + 0.2500000000000000 0.2500000000000000 0.4583333333333334 Au + 0.2500000000000001 0.7500000000000000 0.4583333333333334 Au + 0.7500000000000001 0.2500000000000000 0.4583333333333334 Au + 0.7500000000000000 0.7500000000000000 0.4583333333333333 Au diff --git a/tests/test_data/vasp/Au_adsorption/slab_relax/inputs/POTCAR.spec b/tests/test_data/vasp/Au_adsorption/slab_relax/inputs/POTCAR.spec new file mode 100644 index 0000000000..3f3c266033 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/slab_relax/inputs/POTCAR.spec @@ -0,0 +1 @@ +Au diff --git a/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/CONTCAR.gz b/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/CONTCAR.gz new file mode 100644 index 0000000000..12c92d8c5f Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/CONTCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/INCAR.gz b/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/INCAR.gz new file mode 100644 index 0000000000..fe55866379 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/INCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/INCAR.orig.gz b/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/INCAR.orig.gz new file mode 100644 index 0000000000..c9a125648b Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/INCAR.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/KPOINTS.gz b/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/KPOINTS.gz new file mode 100644 index 0000000000..32ef1c194c Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/KPOINTS.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/KPOINTS.orig.gz b/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/KPOINTS.orig.gz new file mode 100644 index 0000000000..8491bc1667 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/KPOINTS.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/OUTCAR.gz b/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/OUTCAR.gz new file mode 100644 index 0000000000..4c3cbe7b0c Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/OUTCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/POSCAR.gz b/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/POSCAR.gz new file mode 100644 index 0000000000..757ebfb09a Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/POSCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/POSCAR.orig.gz b/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/POSCAR.orig.gz new file mode 100644 index 0000000000..6cd883a29c Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/POSCAR.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/POTCAR.spec b/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/POTCAR.spec new file mode 100644 index 0000000000..3f3c266033 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/POTCAR.spec @@ -0,0 +1 @@ +Au diff --git a/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/custodian.json.gz b/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/custodian.json.gz new file mode 100644 index 0000000000..7db1595760 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/custodian.json.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/vasprun.xml.gz b/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/vasprun.xml.gz new file mode 100644 index 0000000000..caee5be217 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/slab_relax/outputs/vasprun.xml.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/slab_static/inputs/INCAR b/tests/test_data/vasp/Au_adsorption/slab_static/inputs/INCAR new file mode 100644 index 0000000000..78095b65cf --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/slab_static/inputs/INCAR @@ -0,0 +1,24 @@ +ALGO = Fast +EDIFF = 1e-07 +ENAUG = 1360 +ENCUT = 700 +GGA = Rp +IBRION = -1 +ISMEAR = -5 +ISPIN = 2 +LAECHG = True +LASPH = True +LCHARG = True +LDAU = False +LELF = False +LMAXMIX = 4 +LMIXTAU = True +LORBIT = 11 +LREAL = False +LVTOT = True +LWAVE = False +MAGMOM = 16*0.0 +NELM = 500 +NSW = 0 +PREC = Accurate +SIGMA = 0.2 diff --git a/tests/test_data/vasp/Au_adsorption/slab_static/inputs/KPOINTS b/tests/test_data/vasp/Au_adsorption/slab_static/inputs/KPOINTS new file mode 100644 index 0000000000..7ef4f531fd --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/slab_static/inputs/KPOINTS @@ -0,0 +1,4 @@ +pymatgen with grid density = 447 / number of atoms +0 +Gamma +4 4 1 diff --git a/tests/test_data/vasp/Au_adsorption/slab_static/inputs/POSCAR b/tests/test_data/vasp/Au_adsorption/slab_static/inputs/POSCAR new file mode 100644 index 0000000000..e87f7823e0 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/slab_static/inputs/POSCAR @@ -0,0 +1,24 @@ +Au16 +1.0 + 8.3973470668481660 0.0000000000000000 0.0000000000000005 + 0.0000000000000014 8.3973470668481660 0.0000000000000005 + 0.0000000000000000 0.0000000000000000 25.1920412005444980 +Au +16 +direct + 0.0000000000000000 -0.0000000000000000 0.4591293947196093 Au + 0.0000000000000000 0.5000000000000000 0.4591293947196093 Au + 0.5000000000000000 0.0000000000000000 0.4591293947196093 Au + 0.5000000000000000 0.5000000000000000 0.4591293947196093 Au + -0.0000000000000000 0.2500000000000000 0.5408706052803907 Au + -0.0000000000000000 0.7500000000000000 0.5408706052803907 Au + 0.5000000000000000 0.2500000000000000 0.5408706052803907 Au + 0.5000000000000000 0.7500000000000000 0.5408706052803907 Au + 0.2500000000000000 0.0000000000000000 0.5408706052803907 Au + 0.2500000000000000 0.5000000000000000 0.5408706052803907 Au + 0.7500000000000000 -0.0000000000000000 0.5408706052803907 Au + 0.7500000000000000 0.5000000000000000 0.5408706052803907 Au + 0.2500000000000000 0.2500000000000000 0.4591293947196093 Au + 0.2500000000000000 0.7500000000000000 0.4591293947196093 Au + 0.7500000000000000 0.2500000000000000 0.4591293947196093 Au + 0.7500000000000000 0.7500000000000000 0.4591293947196093 Au diff --git a/tests/test_data/vasp/Au_adsorption/slab_static/inputs/POTCAR.spec b/tests/test_data/vasp/Au_adsorption/slab_static/inputs/POTCAR.spec new file mode 100644 index 0000000000..3f3c266033 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/slab_static/inputs/POTCAR.spec @@ -0,0 +1 @@ +Au diff --git a/tests/test_data/vasp/Au_adsorption/slab_static/outputs/CONTCAR.gz b/tests/test_data/vasp/Au_adsorption/slab_static/outputs/CONTCAR.gz new file mode 100644 index 0000000000..33aaef2bdf Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/slab_static/outputs/CONTCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/slab_static/outputs/INCAR.gz b/tests/test_data/vasp/Au_adsorption/slab_static/outputs/INCAR.gz new file mode 100644 index 0000000000..dd716f2419 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/slab_static/outputs/INCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/slab_static/outputs/INCAR.orig.gz b/tests/test_data/vasp/Au_adsorption/slab_static/outputs/INCAR.orig.gz new file mode 100644 index 0000000000..36928ba233 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/slab_static/outputs/INCAR.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/slab_static/outputs/KPOINTS.gz b/tests/test_data/vasp/Au_adsorption/slab_static/outputs/KPOINTS.gz new file mode 100644 index 0000000000..3ec5c77548 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/slab_static/outputs/KPOINTS.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/slab_static/outputs/KPOINTS.orig.gz b/tests/test_data/vasp/Au_adsorption/slab_static/outputs/KPOINTS.orig.gz new file mode 100644 index 0000000000..3914e515a7 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/slab_static/outputs/KPOINTS.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/slab_static/outputs/OUTCAR.gz b/tests/test_data/vasp/Au_adsorption/slab_static/outputs/OUTCAR.gz new file mode 100644 index 0000000000..2dc4bd93e3 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/slab_static/outputs/OUTCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/slab_static/outputs/POSCAR.gz b/tests/test_data/vasp/Au_adsorption/slab_static/outputs/POSCAR.gz new file mode 100644 index 0000000000..1fa4f75cff Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/slab_static/outputs/POSCAR.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/slab_static/outputs/POSCAR.orig.gz b/tests/test_data/vasp/Au_adsorption/slab_static/outputs/POSCAR.orig.gz new file mode 100644 index 0000000000..831aac3080 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/slab_static/outputs/POSCAR.orig.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/slab_static/outputs/POTCAR.spec b/tests/test_data/vasp/Au_adsorption/slab_static/outputs/POTCAR.spec new file mode 100644 index 0000000000..3f3c266033 --- /dev/null +++ b/tests/test_data/vasp/Au_adsorption/slab_static/outputs/POTCAR.spec @@ -0,0 +1 @@ +Au diff --git a/tests/test_data/vasp/Au_adsorption/slab_static/outputs/custodian.json.gz b/tests/test_data/vasp/Au_adsorption/slab_static/outputs/custodian.json.gz new file mode 100644 index 0000000000..de3c41e528 Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/slab_static/outputs/custodian.json.gz differ diff --git a/tests/test_data/vasp/Au_adsorption/slab_static/outputs/vasprun.xml.gz b/tests/test_data/vasp/Au_adsorption/slab_static/outputs/vasprun.xml.gz new file mode 100644 index 0000000000..3465c9185b Binary files /dev/null and b/tests/test_data/vasp/Au_adsorption/slab_static/outputs/vasprun.xml.gz differ diff --git a/tests/vasp/flows/test_adsorption.py b/tests/vasp/flows/test_adsorption.py new file mode 100644 index 0000000000..1d8483adc6 --- /dev/null +++ b/tests/vasp/flows/test_adsorption.py @@ -0,0 +1,96 @@ +from jobflow import run_locally +from pymatgen.core import Molecule, Structure + +from atomate2.vasp.flows.adsorption import AdsorptionMaker +from atomate2.vasp.jobs.adsorption import AdsorptionDocument + + +def test_adsorption(mock_vasp, clean_dir, test_dir): + # mapping from job name to directory containing test files + ref_paths = { + "bulk_relax_maker__bulk_relax_job": "Au_adsorption/bulk_relax", + "mol_relax_maker__mol_relax_job": "Au_adsorption/mol_relax", + "mol_static_maker__mol_static_job": "Au_adsorption/mol_static", + "slab_relax_maker__slab_relax_job": "Au_adsorption/slab_relax", + "slab_static_maker__slab_static_job": "Au_adsorption/slab_static", + "slab_relax_maker__adsconfig_0": ("Au_adsorption/ads_relax_1_3"), + "slab_relax_maker__adsconfig_1": ("Au_adsorption/ads_relax_2_3"), + "slab_relax_maker__adsconfig_2": ("Au_adsorption/ads_relax_3_3"), + "slab_static_maker__static_adsconfig_0": ("Au_adsorption/ads_static_1_3"), + "slab_static_maker__static_adsconfig_1": ("Au_adsorption/ads_static_2_3"), + "slab_static_maker__static_adsconfig_2": ("Au_adsorption/ads_static_3_3"), + } + + fake_run_vasp_kwargs = { + path: {"incar_settings": ["ISIF", "NSW"]} for path in ref_paths + } + + # automatically use fake VASP and write POTCAR.spec during the test + mock_vasp(ref_paths, fake_run_vasp_kwargs) + + molcule_str = Structure.from_file( + test_dir / "vasp/Au_adsorption/mol_relax/inputs/POSCAR" + ) + + molecule_indices = [i for i, site in enumerate(molcule_str)] + molecule_coords = [molcule_str[i].coords for i in molecule_indices] + molecule_species = [molcule_str[i].species_string for i in molecule_indices] + + molecule = Molecule(molecule_species, molecule_coords) + bulk_structure = Structure.from_file( + test_dir / "vasp/Au_adsorption/bulk_relax/inputs/POSCAR" + ) + + flow = AdsorptionMaker(min_lw=5.0, min_slab_size=4.0).make( + molecule=molecule, + structure=bulk_structure, + ) + + # Run the flow or job and ensure that it finished running successfully + responses = run_locally(flow, create_folders=True, ensure_success=True) + + job_names = [ + response.output.task_label + for job_responses in responses.values() + for response in job_responses.values() + if hasattr(response.output, "task_label") + ] + + expected_job_names = [ + "bulk_relax_maker__bulk_relax_job", + "mol_relax_maker__mol_relax_job", + "mol_static_maker__mol_static_job", + "slab_relax_maker__slab_relax_job", + "slab_static_maker__slab_static_job", + "slab_relax_maker__adsconfig_0", + "slab_relax_maker__adsconfig_1", + "slab_relax_maker__adsconfig_2", + "slab_static_maker__static_adsconfig_0", + "slab_static_maker__static_adsconfig_1", + "slab_static_maker__static_adsconfig_2", + ] + + for actual_name in expected_job_names: + assert actual_name in job_names, f"Job '{actual_name}' not found." + + assert flow[-1].uuid in responses, "Adsorption calculation job not found." + + adsorption_document = next(iter(responses[flow[-1].uuid].values())).output + + assert isinstance( + adsorption_document, AdsorptionDocument + ), "Output is not an AdsorptionDocument instance." + + # Extract the adsorption energies + adsorption_energies = adsorption_document.adsorption_energies + + # The energies should already be sorted based on your job function + expected_energies = [ + -3.0666021499999943, + -2.9407460899999904, + -2.0976731399999906, + ] + + assert ( + adsorption_energies == expected_energies + ), "Adsorption energies do not match expected values."