VASP-based workflow
- workflows.vasp_based.run_workflow(config)
Run the full VASP-based materials discovery workflow.
Consists of the following task-based steps (with a dependency between each step):
Structure Generation
generate_structures()CGCNN Prediction
run_cgcnn().Structure Selection
select_structures().VASP Calculations
vasp_calculations()Post Processing
- Parameters:
config (ConfigManager) – The configuration manager that provides runtime parameters, paths, and thresholds for each stage of the workflow.
- Side Effects:
Creates directories and files under config[CK.WORK_DIR]
Executes multiple shell commands and external applications
- Raises:
Exception – If any sub-stage raises an error that is not internally handled.
- workflows.vasp_based.generate_structures(config)
Generate hypothetical structures in parallel (chunked).
Submits
parsl_tasks.gen_structures.gen_structures()for each chunki ∈ [1, n_chunks]wheren_chunks = config[CK.GEN_STRUCTURES_NNODES], and waits for completion.- Parameters:
config (ConfigManager) – workflow configuration
- Returns:
None
- Return type:
None
- workflows.vasp_based.run_cgcnn(config)
Predicts formation energy with CGCNN for the candidates.
Submits
parsl_tasks.cgcnn.cgcnn_prediction()for each chunki ∈ [1, n_chunks]wheren_chunks = config[CK.GEN_STRUCTURES_NNODES]. Mergeswork_dir/test_results_*.csvintowork_dir/test_results.csv, then deletes the shard files.- Parameters:
config (ConfigManager) – workflow configuration
- Returns:
None
- Return type:
None
- workflows.vasp_based.select_structures(config)
Filter, deduplicate, and select candidate structures.
Runs
parsl_tasks.select_structures.select_structures()to produce{work_dir}/new/POSCAR_{i}and{work_dir}/new/id_prop.csv.- Parameters:
config (ConfigManager) – workflow configuration
- Returns:
None
- Return type:
None
- workflows.vasp_based.vasp_calculations(config)
Run two-stage VASP calculations for all selected structures and log outcomes.
Launches
parsl_tasks.dft_optimization.run_vasp_calc()for each ID in{config[CK.VASP_ID_STRUCT_LIST]}. Writes a CSV of per-ID results to{config[CK.VASP_WORK_DIR]}/{config[CK.OUTPUT_FILE]}.- Parameters:
config (ConfigManager) – workflow configuration
- Returns:
None
- Return type:
None
- Raises:
Exception – only if uncaught errors propagate past per-task handling
- workflows.vasp_based.post_processing(config)
Compute Ehull, color the convex hull, and collect promising candidates.
Requires a 3- or 4-element system. Runs
tools.post_processing.get_vasp_hull(),parsl_tasks.ehull.calculate_ehul()andparsl_tasks.convex_hull.convex_hull_color().- Parameters:
config (ConfigManager) – workflow configuration
- Returns:
None
- Return type:
None