Use this skill for slab construction, vacuum and layer choices, surface supercell setup, and atom-fixing strategy in heterogeneous catalysis workflows.
Use this skill to build slab models, choose a freezing strategy, and resize the surface cell without corrupting later adsorption workflows.
supercell only when coverage or lateral separation requires it.build_slabfix_atoms_by_layersfix_atoms_by_heightfix_atoms_by_indicessupercellbuild_slab can run on one bulk structure or a whole bulk_dir.slab_thickness, vacuum_thickness, supercell, orthogonal, and lll_reduce fixed across compared slabs unless there is a reason to change them.fix_atoms_by_layers bins atoms by z using layer_tol; freeze_layers must not exceed the detected layer count.fix_atoms_by_height freezes atoms inside explicit z_ranges and rejects invalid ranges.fix_atoms_by_indices uses explicit 0-based atom indices and is the safest choice when downstream metadata such as ads_indices already identifies the target atoms.reverse=true, which inverts the usual meaning and keeps the selected atoms free while freezing everything else.centralize=true is a real geometry transform; use it intentionally, not by habit.supercell supports single-file and batch directory mode.supercell preserves selective_dynamics in POSCAR/VASP outputs, so fixed/free masks can survive lateral expansion when the input already carries them.Return:
selective_dynamics was preserved through any supercell expansionadsorption-site-screening instead of mixing slab generation and adsorption placement in one step.surface-and-termination-screening once the slab family is ready.