From a bulk crystal to actionable cleavage models
ECP is built for fast pre-screening before higher-cost first-principles validation. It keeps physically distinct slabs, tracks periodic bonds explicitly, and records the exact cleavage position used for export.
Generate candidates automatically
Build XRD reflection tables directly from structures and filter weak peaks before slab generation.
Preserve meaningful structures
Deduplicate only structurally identical slabs while retaining distinct terminations and stackings.
Count periodic bonds explicitly
Use StructureGraph and jimage-aware edges to reduce ambiguity at periodic boundaries.
Seven linked screening stages
Each stage narrows the search while retaining the structural information needed to reproduce the final ranking.
Auto XRD Candidates
XRDCalculatorGenerate reflection candidates from the bulk structure and remove weak peaks before slab construction.
Conservative hkl Filtering
keep true directionsMerge trivial duplicates early while retaining non-equivalent directions for real slab comparison.
Stable Slab Build
production geometryConstruct slabs with fixed production settings so the internal scan region remains reproducible.
Slab Identity Check
deduplicate after buildSkip only structurally identical slabs; distinct terminations and internal stackings are preserved.
Jimage Bond Tracing
StructureGraphTrack crossing bonds as explicit periodic edges with their jimage context.
Smart Scan and Rank
auto / fixed / eventSelect the appropriate scan strategy and rank positions with the production metric N / V_old.
Export the Best 2D Model
selected terminationRegenerate a dedicated slab whose top and bottom surfaces match the selected minimum-density cleavage position.
Configure once, then run the production script
The default entry point reads SCRIPT_RUN_CONFIG near the top of version_5.0.py. Command-line subcommands remain available when needed.
- 01
Install the environment
Use Python 3.9-3.12 with pymatgen, ASE, pandas, and the supporting packages below.
- 02
Set input and scan options
Edit
poscar_folder,scan_mode, intensity thresholds, and output paths in the config block. - 03
Run and inspect outputs
Start the script, then review ranked tables in
after_deal/and models in each surface folder.
pip install numpy pandas matplotlib pymatgen ase openpyxl tqdm
python version_5.0.py
Generate XRD only
python version_5.0.py generate-xrd --input-dir INPUT_DIR --output-dir XRDParallel representative set
python run_version_5_parallel.pyEdit USER_CONFIG before running.
Cluster job
sbatch newvasp.shUse the shell files as templates for your scheduler and paths.
Results that remain traceable to the selected plane
Each retained surface keeps its ranking data, evaluated geometry, and exported 2D structure together.
after_deal/*.xlsxPer-material metrics, selected height, shift, and scan metadata.
face_h_k_l/Files grouped by the retained Miller-index surface.
POSCAR_h_k_l.vaspThe slab geometry used during cleavage-plane evaluation.
POSCAR_2D_h_k_l.vaspThe final termination selected from the minimum bonding-density position.
ECP prioritizes candidates for downstream study. Final exfoliation claims should still be validated with higher-accuracy structural relaxation and first-principles calculations.
Choose the entry point for your workload
The Python files are maintained entry points. The shell scripts are editable templates for cluster preparation and submission.
version_5.0.py
Core screening, ranking, and best-plane export.
run_version_5_parallel.py
Process representative material sets in parallel.
prepare_newvasp_jobs.sh
Create per-material job folders.
submit_all_newvasp.sh
Submit prepared jobs in a batch.