There is a newer version of the record available.

Published December 5, 2021 | Version v7.0.1
Software Open

JohnKendrick/PDielec: PDielec Version 7.0.1 - Powder and Single Crystal Infrared Calculations

  • 1. University of Leeds

Description

The Python package PDielec calculates the infrared and terahertz absorption characteristics of crystalline materials by post processing the output of solid state quantum mechanical and molecular mechanical calculations of the phonons or dielectric response of the crystalline material. For crystalline samples (thin films or thick slabs) the program uses a generalized transfer matrix approach to calculate the transmission, absorption and reflection. For powdered systems, the package calculates the internal electric field arising from different particle morphologies and calculates the resulting shift in absorption frequency and intensity arising from the coupling between a phonon and the internal field. The theory of the approach for small crystallites is published in Journal of Computational Chemistry, DOI: 10.1002/jcc.24344 .

version 7.0.1 Added a single crystal tab to show transmission and reflectance at a single crystal surface The method used is that described by Passler et al Rewrote the calculation of dielectric permittivity so that it would be much more general. There is now a class which looks after dielectric permittivity information The sign convention for the imaginary component of the permittivity has changed - e(real)-e(imag)j Moved the CrystalPermittivity to the SettingsTab Modified the scripting, scripts written before version 7 may not work. Modified the way masses are handled, so if the gui modifies the masses they are written out to the script. Changed the communication between tabs, it was completed before and it still is unfortunately Stopped setting the requestRefresh variable directly - now use a subroutine to do it. Added a lot of debugging information to the tabs so it is much clearer what the flow is through the code Two new input file type has been added 'experimental' and 'pdgui'. 'experimental' allows an experimental dieletric to be specified this includes a lorentz type spectrum 'pdgui' allows a script to be read in and executed 'experimental' and 'pdgui'. The mainTab gui no longer needs to have specified the 'program' name (eg. castep, or vasp). This is determined from the name of the file. Added a new example of using the fitter and the fitting tab Revised all the documentation Added the Mie module from PyMieScatt as there were some issues about crossover Major changes to the parallel methods used by the code. Now using 'partial' from functools also removed sending the whole crystal_permittivity array at once. also create the pool in the notebook and keep reusing it. also switch back to multiprocessing MKL threads are no longer changed by the code

version 6.4.5 Fixed a couple of problems when switching molecule using the GUI. The sigmas array and the mode fitting flags are now reset when a new molecule/crystal is read in. Modified the ViewerTab to display super-cells Added a new VibAnalysis module based on the work of filipe teixeira https://github.com/teixeirafilipe/vibAnalysis Example output in Examples/Castep/AsparticAcid/phonon.nm (generated with 'vibanalysis phonon) Examples/Vasp/Na2SO42/OUTCAR.nma (generated with 'vibanalysis OUTCAR) Added sklearn to the list of required packages

version 6.4.4 (Internal release only) Added an option in viewerTab to write the vibrating molecule as a cif file. Modified the cif output format so it is more like that of Mercury Introduced psutil.cpu_count as this will give the number of physical processors Switched the multiprocessing module to the multiprocess module (pickling is better) Overrode the mkl environment variable for the number of threads. PDgui now uses mkl threading, unless it is in multiprocessing mode. Used dill for the pickling itself. In preader added an option to pickle each of the readers that are created and store them in a file Added a script, pickled_reader which can read the pickled file. The script is just an example of how the readers can be read in and the contents accessed. Modified UnitCell.py to use print_info instead of printInfo New set of pyhton packages are needed for the above; dill,multiprocess,psutil Added new test for p2cif Removed redundant imports from all files

version 6.4.3 Modified p2cif so that it becomes a windows executable Modified p2cif and preader to be more robust when reading phonopy output Re-introduced fitting the frequency scaling in the fitter tab

version 6.4.2 Modified the plotting in fitter so that scaling is always applied Removed the tick box in the Fitter tab that switches scaling on/off Only store the optical permittivity in a script if it has been altered in the GUI This means that older scripts will not be compatible with the newer defaults.

version 6.4.1 Fixed a packaging problem on pypi and conda-forge No changes to source code

version 6.4.0 Removed the imageio-ffmpeg download code added pip install dependence instead Updated the installation instructions on the documentation to reflect conda-forge installation Added environment variables to control threading and number of cpus Made the refractive_index_medium variable real (not complex) to remove the warning message from PyMieScatt

Files

JohnKendrick/PDielec-v7.0.1.zip

Files (128.5 MB)

Name Size Download all
md5:e72241046c03c2e527d29c4701fec893
128.5 MB Preview Download

Additional details

Related works