dopeflow
DopeFlow: DFT Calculation Workflow for Atomic Substitution Problem
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (6.5%) to scientific vocabulary
Repository
DopeFlow: DFT Calculation Workflow for Atomic Substitution Problem
Basic Info
- Host: GitHub
- Owner: Tack-Tau
- License: mit
- Language: Shell
- Default Branch: master
- Size: 82 KB
Statistics
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
DopeFlow: DFT Calculation Workflow for Atomic Substitution Problem
This repository contains scripts for managing VASP calculations on a SLURM-based cluster system.
1. job_monitor.sh
A script for submitting and monitoring sequential VASP calculations (Relax → SC → Band → DOS).
Usage
bash
nohup bash job_monitor.sh <calc_type> &
where <calc_type> can be:
- Relax: Structure relaxation
- SC: Self-consistent calculation
- Band: Band structure calculation
- DOS: Density of states calculation
Directory Structure
bash
structure_directory/
├── Relax/
├── SC/
├── DOS/
└── Band/
Required Files
INCAR_<calc_type>: INCAR file for each calculation typesbp_<calc_type>.sh: SLURM submission script for each calculation typePOTCAR: VASP pseudopotential file../aflow_sym/uniq_poscar_list: List of structures to processdiverge_structs: (optional) List of structures to skip
2. redooptics.sh/restartoptics.sh
Scripts for managing optical calculations (SC → DIAG → GW0 → BSE) with automatic error checking and resubmission.
Usage
For normal execution with error checking:
bash
nohup ./redo_optics.sh > redo_optics.log 2>&1 &
For forced restart of all calculations:
bash
nohup ./restart_optics.sh > restart_optics.log 2>&1 &
Required Files
Direct_dir: File containing list of directories to process- INCAR files:
INCAR_SCINCAR_DIAGINCAR_GW0INCAR_BSE
- SLURM submission scripts:
sbp_SC.shsbp_DIAG.shsbp_GW0.shsbp_BSE.sh
POTCAR_GW: VASP GW pseudopotential file
<calc_type> can be:
SC: DFT groundstate calculationDIAG: DFT "virtual" orbitals (empty states)GW0: RPA quasiparticles with single-shot GWBSE: BSE calculation
Directory Structure
bash
structure_directory/
├── Optics/
│ ├── SC/
│ ├── DIAG/
│ ├── GW0/
│ └── BSE/
Output Logs
For redooptics.sh:
- `opticaljobs.log: Detailed job submission information
-job<calctype>.log`: Job counting logs for each calculation type
For restartoptics.sh:
- `restartopticaljobs.log: Detailed job submission information for restarts
-job
Features
redo_optics.sh: - Automatic error detection and job resubmission - Sequential dependency handling - Detailed logging of job submissions - Limits concurrent jobs up to 60 computational nodes
restart_optics.sh: - Forces restart of all calculations regardless of previous status - Maintains same workflow and dependencies - Uses separate log files to avoid confusion with original runs - Limits concurrent jobs up to 60 computational nodes
Features
job_monitor.sh
- Manages sequential job submissions
- Limits concurrent jobs to 60
- Handles failed calculations
- Supports structure skipping via
diverge_structs
redooptics.sh/restartoptics.sh
- Automatic directory creation and management
- Sequential dependency handling (SC → DIAG → GW0 → BSE)
- Automatic error detection and job resubmission
- Detailed logging of job submissions
- Limits concurrent jobs to 60
Common Issues
- Missing required files - ensure all INCAR and submission scripts are present
- Directory permissions - ensure write access in all directories
- SLURM queue limits - script will wait if queue is full
- Failed calculations - check individual VASP output files for errors
- Missing vasprun.xml - script will detect and resubmit affected calculations
- Failed phonon calculations - use geterrphon.sh to generate resubmission script
Notes
- Both scripts assume SLURM job scheduler
- Maximum concurrent jobs is set to 60
- Scripts will create necessary directories if they don't exist
- Error handling includes automatic resubmission of failed jobs
3. submit_phonon.sh
A script for managing phonon calculations with automatic supercell generation and job monitoring.
Usage
bash
chmod +x submit_phonon.sh
nohup ./submit_phonon.sh > nohup.out 2>&1 &
Required Files
phonon_list: File containing list of directories to processINCAR_PHON: INCAR file for phonon calculationssbp_PHON.sh: SLURM submission script for phonon calculations- Supporting scripts:
convert_kpath.shgenerate_supercell.shextract_band_conf.shpreprocess_high_symmetry_points.sh
Directory Structure
bash
structure_directory/
├── Relax/
│ └── CONTCAR
└── PHON/
├── POSCAR-*
├── INCAR
├── POTCAR
└── sbp.sh
Output Logs
job_PHON.log: Detailed job submission tracking- Records which phonon calculations have been submitted for each structure
Features
- Automatic supercell generation using VASPKIT
- Batch submission (10 jobs at a time)
- Limits concurrent jobs to 50
- Resumes from last submitted job if interrupted
- Maintains submission history in log file
Workflow
- Reads structures from
phonon_list - For each structure:
- Creates PHON directory
- Copies CONTCAR from Relax directory
- Generates primitive cell using VASPKIT
- Generates supercells
- Submits jobs in batches
- Monitors job queue and maintains submission limits
- Tracks progress in log file
Tips for Phonon Calculations
- Check supercell size in
generate_supercell.sh - Monitor convergence in individual phonon calculations
- Use
job_PHON.logto track submission progress - Check VASPKIT output for primitive cell generation
4. Post-Processing Scripts
post-proc_phonon.sh
A script for post-processing phonon calculations with automatic error detection and data generation.
Usage
bash
sbatch phonon-pp-job.sh
Features
- Automatic error detection in SLURM output files
- Generates FORCE_SETS using phonopy
- Creates phonon band plots and raw data files
- Handles LaTeX formatting for band labels
- Detailed logging with configurable verbosity
Required Files
phonon_list: List of structures to process- Supporting scripts:
convert_kpath.shextract_band_conf.shpreprocess_high_symmetry_points.sh
band_gap-pp.sh
A script for analyzing and categorizing band structures based on their electronic properties.
Usage
bash
./band_gap-pp.sh
Features
- Automatically categorizes structures as Direct, Indirect, or Metallic
- Uses VASPKIT for band structure analysis
- Error detection in SLURM output files
- Generates categorized lists of structures
Output Files
Direct_dir: List of structures with direct band gapsIndirect_dir: List of structures with indirect band gapsMetallic_dir: List of structures with metallic/semimetallic band gaps
geterrphon.sh
A utility script for handling failed phonon calculations.
Usage
bash
./get_err_phon.sh
Features
- Analyzes phonon post-processing logs for errors
- Generates resubmission script for failed calculations
- Handles missing or corrupted vasprun.xml files
- Automatic cleanup and job resubmission
Script Dependencies
Python Dependencies
Depending on which doping script you use, you'll need different Python packages:
For general substitution WITHOUT symmetry bias: \
Example: aflow_sym/rnd_SiGe_doping.py or aflow_sym/NaSiGe_doping.py
- ASE
For using Fingerprint energy as symmetry bias: \
Example: aflow_sym/Doping.py
- ASE
- libfp
For explicitly using group-subgroup splitting: \
Example: aflow_sym/subgroup_doping.py
- ASE
- Pymatgen
- PyXtal
Environment Setup
Ensure these environment variables are set:
- $AFLOW_HOME: Path to AFLOW executable
- $VASPKIT_HOME: Path to VASPKIT executable
- $PHONOPY_HOME: Path to Phonopy executable
Common Workflow
- Structure Relaxation (
job_monitor.sh Relax) - Electronic Structure (
job_monitor.sh SC/Band/DOS) - Optical Properties (
redo_optics.sh) - Phonon Calculations (
submit_phonon.sh)
Owner
- Name: Shuo Tao
- Login: Tack-Tau
- Kind: user
- Location: Newark, NJ
- Company: Department of Physics, Rutgers University-Newark
- Repositories: 3
- Profile: https://github.com/Tack-Tau
Citation (CITATION.cff)
cff-version: 1.2.0
title: "DopeFlow: DFT Calculation Workflow for Atomic Substitution Problem"
message: "If you use this software, please cite it using these metadata."
type: software
authors:
- given-names: Shuo
family-names: Tao
orcid: https://orcid.org/0000-0003-2539-9305
affiliation: "Physics Department, Rutgers University-Newark"
date-released: "2024"
version: "0.0.1"
repository-code: "https://github.com/Tack-Tau/DopeFlow"
license: MIT
abstract: >-
A collection of scripts for managing VASP calculations on SLURM-based cluster systems.
Includes tools for sequential job submission, optical calculations, and phonon calculations
with job monitoring and error checking capabilities.
keywords:
- vasp
- computational-materials
- high-throughput-computing
- slurm
- job-scheduling
- phonon-calculations
- optical-properties
references:
- type: software
title: "VASP"
url: "https://www.vasp.at/"
- type: software
title: "AFLOW"
url: "https://aflowlib.org/"
- type: software
title: "VASPKIT"
url: "https://vaspkit.com/"
- type: software
title: "Phonopy"
url: "https://phonopy.github.io/phonopy/"
GitHub Events
Total
- Watch event: 1
- Push event: 12
- Public event: 1
Last Year
- Watch event: 1
- Push event: 12
- Public event: 1