Exfoliating Crystallographic Plane (ECP) v1.3
This page documents the current production workflow for screening exfoliable crystallographic planes
from non-vdW bulk materials. The method has been updated to match the latest implementation used in
version_5.0.py.
What Is New in v1.3
- The production script is now
version_5.0.py, and the result table records the best cleavage height, shift, and 2D slab metadata for each retained surface. - After the minimum-bonding-density plane is identified, the workflow regenerates a dedicated
POSCAR_2D_h_k_l.vaspmodel whose top and bottom surfaces correspond to that optimal cleavage position.
Historical Updates: v1.2
- Automated XRD generation from crystal structures using
pymatgen; no manual VESTA export is required. - Candidate
hklprocessing is more conservative: low-intensity reflections can be filtered, obvious duplicates such as001/002and001/00-1are merged, but non-equivalent directions such as102and012are retained until slab generation. - Before cleavage scanning, all generated slabs are compared. Only slabs with identical structures are deduplicated; different slab terminations or different internal stackings are kept.
- Broken bonds are counted with
StructureGraph + jimage, avoiding manual image mapping and reducing periodic-boundary ambiguity. - Cleavage-plane scanning supports
fixed,event, andautomodes. The event mode evaluates only the heights where the bond topology orV_oldcan change. - The main screening metric in the production workflow is
bonding_density = N / V_old, whileN / Ais kept as an auxiliary area-normalized descriptor.
Updated Workflow
The production pipeline is summarized below as seven linked stages, from reflection generation to the final cleavage ranking.
Auto XRD Candidates
XRDCalculatorGenerate reflection candidates directly from the bulk structure and remove weak peaks before slab construction.
Conservative hkl Filtering
keep true directionsMerge only trivial duplicates early, while retaining non-equivalent directions until real slab structures can be compared.
Stable Slab Build
production geometryConstruct slabs with the fixed production settings so the internal scan region stays reproducible across materials.
Slab Identity Check
deduplicate after buildSkip only slabs that are structurally identical after generation, instead of over-relying on symmetry reduction up front.
Jimage Bond Tracing
StructureGraphTrack broken bonds with explicit periodic edges so each crossing bond is counted with its jimage context.
Smart Scan and Rank
auto / fixed / eventChoose the cheaper scan strategy for each slab, then rank cleavage positions with the production metric N / V_old.
Export 2D Model
best cleavage layerRegenerate a dedicated 2D slab from the original bulk so the top and bottom surfaces align with the previously selected minimum-density cleavage position.
2D export: once the best internal cleavage plane is identified,
version_5.0.pywrites a correspondingPOSCAR_2D_h_k_l.vaspmodel into the sameface_h_k_lfolder for downstream relaxation or visualization.
Recommended Usage
Local Batch Workflow
1 | python version_5.0.py |
Parallel Representative Workflow
To process many representative structures in parallel, edit the USER_CONFIG block in
run_version_5_parallel.py and run:
1 | python run_version_5_parallel.py |
The launcher prepares a flat input staging directory from materials_ecp_representatives and
then calls version_5.0.py with process-level parallelism.
Server Workflow
For HPC usage, each material can be prepared as an independent job folder that contains:
- the target
.vaspfile version_5.0.pynewvasp.sh- an optional pre-generated
XRD/folder
This allows direct submission with:
1 | sbatch newvasp.sh |
Download Scripts
- version_5.0.py: the current production script for material screening and best-plane 2D slab export.
- run_version_5_parallel.py: optional parallel launcher for representative datasets; modify the
USER_CONFIGblock to match your local paths and Python environment. - prepare_newvasp_jobs.sh: helper script for preparing per-material job folders; modify paths and environment settings according to your own machine.
- submit_all_newvasp.sh: helper script for submitting all prepared jobs; modify it according to your own cluster usage.
Note:
version_5.0.pyis the core materials-analysis script.run_version_5_parallel.pyis an optional launcher for multi-material parallel runs and should be edited to match your local representative root, Python executable, and output paths. The shell scripts are also templates and should be adjusted to match your own server environment, paths, and scheduler settings.
Dependencies
- Python 3.9-3.12
numpy,pandas,matplotlib,pymatgen,ase,openpyxl,tqdm
1 | pip install numpy pandas matplotlib pymatgen ase openpyxl tqdm |
Scope
ECP v1.3 is intended for fast screening of potentially exfoliable crystallographic planes before higher-cost first-principles validation. The current implementation emphasizes reproducibility of slab construction, explicit periodic bond handling, reduced redundant scans, and direct export of the final 2D cleavage model.
License
This project is licensed under the MIT License.