A -threads or --threads option has been added to pdgui.
Added QT6 support by including the qtpy module
Changed the use of scipy.interpolate.trapz to np.trapz
Introduced a pyproject.toml file
Added version number to the pyproject.toml file and modified the setup.py file accordingly
Removed setup.cfg file. setup.py no longer sets the version number.
Updated the requirements.txt file using pipreq
Updated the conda_installs.txt file
Removed the need for the mkl package. But this means the number of processors used for threading
is set by the environment variables. It is best to NOT use threading and have the number of
processors set to the number of cores. The number of threads used by each core should be 1.
To force the BLAS routines to use threads it is best to use environment variables to control the
number of threads. For example....
export OMP_NUM_THREADS=1
export OPENBLAS_NUM_THREADS=1
export MKL_NUM_THREADS=1
export VECLIB_MAXIMUM_THREADS=1
export NUMEXPR_NUM_THREADS=1
The exporting of these variables is now performed automatically at runtime from App.py, before numpy is loaded
pdmake.py has been modified to allow -cpus and -threads to be passed to pdgui during benchmarking
Added additional escape characters to pdmake.py - to remove SyntaxWarning errors
Added additional escape characters to Mie.py - to remove SyntaxWarning errors
Added additional escape characters to CastepOutputReader.py - to remove SyntaxWarning errors
Added additional escape characters to CrystalOutputReader.py - to remove SyntaxWarning errors
Added a -style default in the creation of the App. Default style is "fusion"
Fixed a bug in the save cif file (ViewerTab)
Added xml readers to VaspOutputReader and QEOutputReader
Added a new example to QE/Urea which tests the xml reader
Added a new example to Vasp/Urea which test the xml reader
GenericOutputReader:
Created a new routine to find the frequencies and normal modes from the mass-weighted hessian
QEOutputReader:
Added a code to read pwscf.xml and tensors.xml
PhonopyOutputReader:
PDGui now reads the conversion factor store by Phonopy to scale the Hessian
Utilities:
Altered the logic in the "find_program_from_routine". The routine now
recognises pwscf.xml and vasprun.xml files. If an OUTCAR (Vasp) or a QE .log/.out is specified
on the command line the old method of analysing the output is used and the xml files are not read.
If vasprun.xml (Vasp) or a .dynG file is given on the command line then the xml will be read if it is there.
Changed the GTMCore.py use of clongdouble to cdouble.
Added a .nojekyll file into the docs/ directory to stop git hub pages over processing things
Changed the name PDielec to pdielec in setup.py to help with Windows install on conda-forge
Changed the find_program_from_name() function to return (program,qmprogram). Affected routines are;
- Utilities.py, HelperRoutines.py p1reader.py, preader.py, vibanalysis,py, App.py, NoteBook.py,
- MainTab.py, p2cif.py.
- Also changes in Helper/ and Jupyter/ Example directories.
Removed the slicing capability as it is no longer needed
Added new code for handling Phonopy DFT programs other than Vasp
The materials database is now cached to improve performance
The materials database is now kept open, instead of repeated opening and closing
Added support for AbInit v10 files, changed the AlAs abinit example to a version 10 example
Added support for Crystal 23: modified file extension handling to include .log as a crystal output file.
- Added a Crystal23 example in Examples/Crystal/Quartz
- Added an AbInit 10.0 example in Examples/Abinit/AlAs
- Added an QE 7.3.1 example in Examples/QE/Na2SO42-v7
- Added support for Phonopy-Crystal calculations: example in Examples/Phonopy/Crystal
Revamped the README.md files in the Examples directories
Modified the jupyter lab notebooks to use os.path.join for all directory access
Removed linked directories in Examples/Helper/Jupyter/..