Use this skill for preparing canonical VASP relax/static/frequency/DOS/MD input sets, choosing the correct regime and preset, handling INCAR patch-policy edge cases, explicit slab-frequency setup, and producing execution-ready folder layouts before dispatch.
Use this skill to produce execution-ready VASP input trees without fighting tool-enforced defaults.
vasp_prepare with the right preset: relax, static, freq, dos, or md.regime correctly: bulk, slab, or gas.output_root.patch_policy="safe" by default.dos and md, treat the preset as a starter template and do job-specific tuning through user_incar_patch in the same call.CHGCAR, make that an explicit upstream requirement and preserve the file in the self-consistent stage.vasp_band_prepare instead of vasp_prepare when the job is a line-mode band-structure calculation with an explicit band .KPOINTSfix_atoms_by_indicesvasp_preparevasp_band_preparegenerate_kpathvasp_prepare(preset="relax", ...) is for ionic relaxation jobs.vasp_prepare(preset="static", ...) is for static jobs and enforces NSW=1, IBRION=-1.vasp_prepare(preset="freq", ...) is for finite-difference vibrational jobs and enforces the frequency-specific overrides.vasp_prepare(preset="dos", ...) is for DOS/PDOS-style jobs. The tool starts from a bulk-leaning tetrahedron-style template with ISMEAR=-5, NEDOS=2001, LORBIT=11, and if dos_charge_density_path is provided it copies CHGCAR, sets ICHARG=11, and auto-fills a recommended LMAXMIX baseline when absent.vasp_prepare(preset="md", ...) is for molecular dynamics. The tool starts from a Nose-Hoover NVT-style template with IBRION=0, MDALGO=2, NSW=1000, POTIM=1.0, TEBEG=300, TEEND=300, and SMASS=0.bulk: periodic bulk models; relax_cell=True is allowed only with preset="relax" and switches ISIF=3.slab: surface slabs; ISIF=2, KPOINTS z forced to 1, relax_cell=True is invalid.gas: molecules or gas references; forced 1x1x1 KPOINTS and relax_cell=True is invalid.ENCUT, EDIFF, smearing defaults, and relax-vs-SP mode settings.compute_dos, use_d3, use_dft_plus_u, and enable_dipole are the toggles worth surfacing when they matter.k_product is 35 for production slab work unless the task explicitly provides a convergence-backed value.user_incar_patch.ISMEAR=0, SIGMA=0.05-0.1; for clearly gapped or unknown-gap cases, consider EFERMI=MIDGAP.ISMEAR=1 or 2, with SIGMA≈0.2 as a practical first pass; check that the entropy term is acceptably small before treating the setup as converged.ISMEAR=-5 on a sufficiently dense Gamma-centered mesh.ISMEAR=0 with small SIGMA, typically 0.03-0.1.ISYM=0, ISMEAR=0, SIGMA=0.01, and 1x1x1 KPOINTS.user_incar_patch is for targeted overrides. For dos and md, it is also the preferred path for one-call tuning of method knobs.ISMEAR, SIGMA, EFERMI, NEDOS, EMIN, EMAX, and occasionally LMAXMIX.MAGMOM, LDAUU, and LDAUJ must be element maps.patch_policy="safe" rejects overrides only for the small protected set of preset/regime-bound keys. For dos and md, safe intentionally leaves most method controls overrideable so the model can change NEDOS, ISMEAR, NSW, POTIM, TEBEG, TEEND, SMASS, MDALGO, and similar knobs without switching to force.patch_policy="force" applies the patch after canonical defaults, including explicit removal with null.force when you are intentionally breaking the preset identity itself, for example replacing IBRION with a non-matching job type or tearing down other protected invariants.output_root/<stem>/.<stem>/ per structure.generate_kpath only after a relaxed bulk baseline is accepted; it emits the band-path KPOINTS, not a full calc directory.vasp_band_prepare when that line-mode KPOINTS should become a dedicated band-structure job root.vasp_prepare; the prepare tool should only own the force-job input deck after the displacement set already exists.IBRION=5, POTIM=0.015, NFREE=2, and ISYM=0.ads_indices are available, explicitly run fix_atoms_by_indices(indices=ads_indices, reverse=true) on the relaxed adsorbate-slab structure before writing the frequency input.ENCUT, EDIFF, smearing policy, spin treatment, DFT+U, D3, dipole correction, and other reference-sensitive toggles.use_d3, use_dft_plus_u, enable_dipole, spin treatment, or reference-state-sensitive INCAR toggles when they affect comparison.ISMEAR=0 with small SIGMA is the safer generic starting point than jumping directly to Methfessel-Paxton.ISMEAR=1, SIGMA=0.2, then check the entropy term before treating it as production-worthy.relax_cell=true unless the task explicitly requires a variable-cell study and the system is not in slab mode.k*a ~= 35 Å as the initial project default unless convergence evidence justifies something else.k_product should be chosen from the bulk convergence requirement, not copied mechanically from slab policy.k_product to around 50 when the extra sampling is part of the stated objective.DOSCAR as the final result.ISMEAR=0 with small SIGMA (0.03-0.1).ISMEAR=-5 is a good explicit start only when the mesh is dense enough and Gamma-centered.EFERMI=MIDGAP.CHGCAR, surface that explicitly with dos_charge_density_path, and make sure the upstream self-consistent stage actually kept CHGCAR (for example by setting LCHARG=True there).ICHARG=11), VASP Wiki recommends LMAXMIX=2/4/6 for s,p / d / f dominated systems; the tool now auto-fills a baseline when absent, but deliberate overrides should still be reported.NEDOS together with EMIN/EMAX when narrow peaks or edge resolution matter; VASP Wiki recommends checking the integrated DOS to confirm the grid is fine enough.user_incar_patch.Return:
output_root_relpreset and regimek_gridk_product, DFT+U, or INCAR normalization matter.band-and-dos-analysis or phonon-displacement-workflow when the task goes beyond pure input preparation.band-and-dos-analysis, strain grids to elastic-property-workup, displacement sets to phonon-displacement-workflow, and MD trajectories to md-diffusion-analysis.