- The core-level shift was including the effect of V_{xc}. For self-energy corrections, V_{xc} should be removed. Initial testing has shown that the relative shifts between sites w/ or w/o V_{xc} are largely the same, but in absolute terms there will be a large change (10s of eVs).
- The valence BSE can now self-consistently determine the static dielectric constant by setting bse.val.epsilon_threshold to be > 0.
- When using QuantumESPRESSO, the static dielctric constant of insulating systems can be determined using density-functional perturbation theory. This is attempted automatically if there is no dielectric constant set in the input file. Systems run as metals will use a default value.
- Improved compatibility with older versions of QE.
- Problems in the valence BSE with spin systems for both valence and RIXS.
- A small, odd number for the first k-point dimension combined with a different number of x-points in the first two dimensions could lead to problems.
- Some x-mesh grids could lead to failures in processing the density for valence calculations
- MPSE support added back. The many-pole self-energy model from AI2NBSE has been re-enabled. The scripts and source are in POST/MPSE. This is a post- processing step for after valence UV/optical calculations.
- Screening had small bug. Mostly didn't seem to change spectra, but induced potential could change slightly from run to run.
- Completely new formatting for input files (the old format or a mix of old and new are supported). The new style maps to a json file. See the file Common/postDefaultsOceanDatafile for a complete picture of the input following parsing the user-supplied inputs and filling in with defaults.
- The Umklapp wasn't functioning correctly for large-q valence calculations (thanks Ishiaka Mansaray for the bug report).
- Potential problem in parsing the 'nelec' element in the QE xml output (thanks Max Radin for the bug report).
- Support for D. R. Hamann's Optimized Norm-conserving Vanderbilt pseudopotentials
- Create your own
- Use built in database from PseudoDoJo collection
- Improvements to parallelism
- Screening calculation is faster
- Prep stage is faster too
- The DFT calculations for the BSE are split in two whenever there is finite-q
- OPF calculation should be slightly more robust, but noticeable differences are unlikely
- Large finite-q valence calculations should be working again
- Impoved screening calculations
- Augmentation of pseudo-wavefunctions to restore all-electron character
- Much faster
- Better core-level shift calculations
- Fixed bugs in new screening method in 2.5.0 and 2.5.1
- Fixed bug in valence (UV/optical) calculations
- Failed to initialize a variable in mpi_avg.x
- Rare bug gives bad densities in mpi_avg.x
- No longer need iotk.a for QE support. Faster PREP stage for QE
- Cleaned up inputs and defaults
- Improvements for spin with QE
- Database of core hole lifetime widths
- Changes to alignment! By default, OCEAN sets the DFT LUMO = 0. However! When core_offset is specified the DFT energies will not be adjusted.
- Fixed bug in calculating the core-hole screening for some metals
- Improvements to OPF generation and error checking
- Consistency between ABINIT and QuantumESPRESSO occupation numbers (occopt/smearing/etc)
- Updates to core-level shifts to improve feedback to user. Updated documentation.
- A call to OpenMP wasn't behind a sentinel
- Fixed a crashing bug with FFTs in the BSE
- Fixed DFT+U support for QE-6.0+
- Cleaned up the openmp directives in the BSE section
- Fixed major bug in the valence BSE regarding FFTs.
- RIXS! The valence BSE code (formerly AI2NBSE by Hadley Lawler, et al) is now included, allowing for direct RIXS calculations with a relatively simple workflow. See the diamond example.
- The optimal basis functions (PAW-style reconstruction) has been improved. Thanks to Eric Shirley for these changes.
- Changes under the hood to MPI calls in the BSE.
- More consistent determination of the Fermi level for metallic systems.
- Better switching between (optional) FFTW3 and legacy FFT
- Some bugs that surfaced with MPI calls, see Makefile.arch.example for new -D__OLD_MPI flag.
At the end of the CNBSE section the code will automatically create averages:
- By site over all photon files, e.g. for multiple polarizations
- By photon file over all sites
- Everything for the given edge
Fixed up LDA+U support (QuantumEspresso only). Thanks to Yufeng Liang for spearheading this effort.
- Improvements to the parsing of QE wavefunctions
- More consistent determination of the Fermi level for metallic systems.
- Some bugs that surfaced with MPICH
- Cleaned up the OCEAN2/Makefile
Changed mpi_double to mpi_double_precision in several files. Thanks to Liang Li at ANL for the bug report.
The array ordering of calls to FFTW was switched (C/Fort). Only compilations using FFTW (-D__FFTW3 in Makefile.arch) would have been affected.
- Option to disable spin-orbit splitting from the input file
- Code can generate its own cnbse.spect_range
- Code detects when number of xpoints is too small compared to bands
- Some checks for NaN cropping up in BSE
- Some support for FFTW instead of legacy FFT in OBF pathway
- Some support for RIXS workflows