-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Context & Motivation
The current workflow for CLEED relies on legacy input formats (.inp, .bul, .ctr) which define surface structures using a "Layered" philosophy (explicit separation of Bulk and Overlayer).
However, the modern computational materials science community (DFT users, High-Throughput screening) has standardized around the "Supercell" philosophy: a single 3D periodic box containing bulk, surface, and vacuum, typically exchanged via POSCAR (VASP) or CIF files and manipulated via Python libraries like ASE (Atomic Simulation Environment) or pymatgen.
The Problem
There is a structural mismatch between modern tools and CLEED:
- Modern Tools (VASP/ASE): "Here is a bag of atoms in a box." (3D periodicity, vacuum is just empty space).
- CLEED: "Here is a semi-infinite Bulk (
.bul) and a finite Overlayer (.inp)." (2D periodicity, vacuum is handled analytically).
Currently, a user wanting to simulate a structure from VASP must manually decompose their POSCAR into CLEED's specific format, which is error-prone and hinders automation.
Proposed Solution: The "Python Bridge"
Instead of refactoring the core C/Fortran kernel to parse complex formats, we should implement a Python-based pre-processor (e.g., tools/cleed_converter.py) that acts as a bridge.
Workflow:
- Input: User provides a standard file (
POSCAR,.cif,.xyz). - Processing:
- The script uses ASE to read the geometry.
- It applies an "Automated Slicing" algorithm to identify the periodic bulk unit from the bottom layers of the slab.
- It treats the remaining top layers as the Overlayer.
- Output: The script generates valid
.buland.inpfiles for CLEED.
This approach immediately grants CLEED compatibility with 30+ file formats supported by ASE and aligns it with tools like ViPErLEED, which natively uses POSCARs.