Skip to content

vasilsaroka/QEskillbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub (pre-)release Github All Releases License: MIT Support QEskillbox

QEskillbox

Automate Quantum Espresso(QE) routines

Requirements

The code was developed and tested under

  • OS: Linux Mint 21.1 Vera Xfce
  • Python 3.10, with modules os, subprocesses, re, numpy, time, datetime, matplotlib.pyplot.
  • PWSCF v.6.7MaX that is a part of Quantum ESPRESSO suite.

Preliminaries

Under Linux OS:

  • Install QE by typing in the terminal: sudo apt-get install quantum-espresso (recommended) or see QE web page.
  • Install Python distribution by typing in the terminal: sudo apt-get install conda (recommended) or see Anaconda Distribution guidelines.
  • Pseudo potentials can be taken from Pseudo Dojo.

Differential Evolution

This repository contains a Python code for Quantum Espresso parameters optimization with Differential Evolution (DE) global optimization method [1]. A general introduction into DE method together with a python realization can be found in the excellent tutorial by Pablo Rodriguez-Mier. Here, the DE method is adapted for the geometry optimization of the bulk Si crystal. In effect, this allows one to perform in a hassle-free single run 0_Si_bulk tasks 0_cutoff, 1_alat and 2_kpoints from DFT_QE_beginner_tutorial or 0_cutoff, 1_kpoints and 2_alat from DFT-basics.

  • [1] Price, K., Storn, R. (1997). Differential Evolution – A Simple and Efficient Heuristic for Global Optimization over Continuous Spaces. Journal of Global Optimization, 11, 341–359. https://doi.org/10.1023/A:1008202821328

Demo

Bash script DEopt

  • Put Bash script DEopt and Si.pz-vbc.UPF pseudo potential into the same folder, i.e. the working folder.
  • Open terminal in this folder and run the Bash script in terminal as ./DEopt.
  • Find in the working folder the QE outdir ./tmp.
  • Find in the working folder the results of the optimization and convergence plot in QEDE_year-month-day_hours_minutes_seconds.out and QEDE_year-month-day_hours_minutes_seconds.png.

Python file DEopt.py

  • Put Python file DEopt.py with QE input file Si.scf-template.in and pseudo potential Si.pz-vbc.UPF into the same folder, i.e. working folder
  • Open Python file and evaluate it cell after cell sequentially.
  • Find in the working folder the QE outdir ./tmp.
  • Find in the working folder the results of optimization and convergence plot in QEDE_year-month-day_hours_minutes_seconds.out and QEDE_year-month-day_hours_minutes_seconds.png.
  • Find in the working folder the animation for convergence in animation_Si.gif and video_Si.mp4.

QEDE_2023-06-26_17_52_08

animation_Si

Supporting this project

We believe everyone deserves access to knowledge that is grounded in science and integrity. That is why we keep our code open for all users, regardless of where they live or what they can afford to pay. This means more people can be better educated and inspired to make an impact on the global wellbeing. We have no shareholders or billionaire owner, meaning only your donations power our work and ensure it can remain open for all. Every contribution, however big or small, makes a real difference for QEskillbox future. If you find it useful, consider supporting the project .