Skip to content

Summer release of 2023 with many new features and bug-fixes

Compare
Choose a tag to compare
@sblisesivdin sblisesivdin released this 04 Jul 14:44
· 53 commits to main since this release
9ed0682

This is the second release of 2023. Like v23.2.0, this release has some major changes that make it incompatible with the previous versions. If you use your old input files, mostly you will get an error about ground state calculations. Because, instead of using a -r argument to pass ground state calculations and always-do ground state behavior, this version introduces a new keyword: Ground_calc. Mostly, just put a line

Ground_calc =  True

to your old input and everything will be fine. From this version, gpawsolve.py is not a simple script anymore. This is the first step to using gpawsolve as a library in the future. Also, another big news is gpawsolve.py can use GPAW and PHONOPY for basic phonon dispersion calculations! Another interesting feature is the -e argument. If you are using a computer with using Intel CPU after Sandy Bridge generation, you can easily calculate the energy consumption of your calculation in kWh unit! It is included in gpawsolve.py as our small contribution to global green computing - ICT sustainability efforts.

There are many other fixes and changes in this version. Please refer to the release notes below.

We kindly ask you to help us with your issues and pull requests.

Thank you for trying and helping to gpaw-tools to make it better.

Release notes

  • Using dtype as default for PW calculations.
  • Drawn DOS and Band figures are aligned with respect to Fermi energy level.
  • Implementing autoscale in y-direction for DOS graphs.
  • Correcting all possible errors due to gpts and kpts density usage.
  • Lowering memory consumption in optical calculations.
  • Some examples are changed (Tetrahedron method is used in CrO2 calculations, Bulk-Al calculations are now Bulk-GaAs).
  • Using world.size for nblocks in optical RPA calc.
  • Updated some calculation default values in both gpawsolve.py and gg.py.
  • Small corrections are done to EXX-related parts, XYYY formatted band result data output, optical RPA calculation, ...etc...
  • Using DielectricFunction with frequencies.
  • PW-EXX mode is removed. EXX can be used directly under PW.
  • Mostly, no need to use outdir variable. However, still can be used.
  • Phonon calculation feature is added to gg.py.
  • Phonopy version information can be viewed when using -v argument.
  • Energy consumption measurement with -e argument. This feature only works with Intel CPUs after Sandy Bridge generation. Results are given in kWh!
  • Restart -r, --restart argument is now depreceted. There is nothing to be restarted. Instead of -r argument, the new keyword Ground_calc is introduced.
  • Basic phonon dispersion calculation feature with Phonopy! At least it works for bulk Al. It is not very mature so please keep this in mind. (Thanks to Michael Lamparski for his help and MIT licensed code that he shared.)
  • Save figures in higher dpi.
  • Fix some bugs, add new variable and rearrange some variable in gg.py.
  • Add Energy_min variable. Energy_min and Energy_max variables are now working on both band and DOS figures.
  • Remove unnecessary variables in the input file for the examples/Si-2atoms-optical example.
  • Band structure data can be now exported in XYYYY type ASCII file (Thanks to Andrej Kesely).
  • Fixed some unused imports and local variables.
  • Small fixes at gg.py file.
  • Adding struct_from_file() function for future usage.
  • gpawsolve.py is not only a Python script anymore. The structure of the gpawsolve.py is rewritten. The calculations are related to a class named gpawsolve. Also, there are functions related to all possible calculations in this class as: structurecalc(), groundcalc(), elasticcalc(), doscalc(), bandcalc(), densitycalc() and opticalcalc(). The structure is still primitive and code is rely mostly on global variables, however it is a start and it will be easy to use when it finished properly.
  • From this release "-o" argument is deprecated. Code, all examples and related BASH script are fixed.