DELTA is a Python package designed to search for the minimum energy configurations of crystal structures using DDE algorithms and various computational chemistry tools.
- Load configuration from JSON files
- Setup and display logging information
- Process atomic structures using the ASE library
- Generate and evolve populations of crystal structures
- Handle VASP and LAMMPS file formats
- Perform parallel computations
-
Create a virtual environment:
conda create -n delta python=3.9 #choose your python version and env name conda activate delta #
-
Clone the repository:
git clone https://github.com/luowh35/delta.git
-
Install DELTA:
cd DELTA pip install .
-
Example for the Al2O3 structure searching:
cd example cat param.json
Then you will get this output, which is about the input parameters:
"input_file" : "./input/POSCAR", "lammps_in_file": "./input/in.lammps", "run_lammps_file": "./input/submit.sh", "output_dir" : "./out", "atoms" : 64, "total" : 264, "pop_size" : 4, "generation" : 3, "mpi_tasks" : 4, "CR_start" : 0.8, "CR_end" : 0.2, "F_start" : 0.8, "F_end" : 0.2, "restart" : 0
-
Explanation of parameters:
input_file
: Path to the POSCAR, which is filled with all possible positions.output_dir
: Output director.atoms
: Real atoms, now only support Al.total
: All the Al + vacancy.pop_size
: The total population of each generation.generation
: The total generation.mpi_tasks
: It determines how many tasks run at the same time.CR_start
andCR_end
: The starting and ending crossrate of the DDE algorithm.F_start
andF_end
: The starting and ending Mutation Factor of the DDE algorithm.restart
: The flag to set continue calculation, only can be set to 0 or 1. -
Run the main script:
delta
Or use
nohup delta
to prevent printing log information to the screen.You can also submit
delta
to the queue system, eg: PBS, Slurm.qsub rundelta.sh
The OUTPUT logfile is Generation.log, which contains the necessary output