Release notes

What changed in each release of RESCU, newest first. Unless otherwise specified, bug fixes do not influence previous results.

RESCU 2.10.1

  • New Calculation type zfs: electron spin–spin zero-field splitting D and E (MHz) of a spin-polarized defect, from an LCAO ground state given through rho.in and saved with option.saveLCAO = true (collinear spin, Γ point only, integer occupations, S ≥ 1). With zfs.correction = 'frozen' (default), D is also given with the spin-contamination correction of Biktagirov, Schmidt and Gerstmann, Phys. Rev. Research 2, 022024 (2020), using M_S = S − 1 determinants built from the ground-state orbitals; 'none' gives the uncorrected values only. D is reported along zfs.axis (default: the principal axis of the tensor), also without the contribution of the periodic copies of the defect (point-spin estimate). The ground state may use a hybrid functional. The values are saved under zfs in the .mat file. Example: Tests/deploy/zfs (NV⁻ center).

  • New Spin contamination: at the end of a collinear spin-polarized SCF with a single k-point and integer occupations, the output prints ⟨S²⟩ of the Kohn–Sham determinant, S(S+1) of the pure spin state and their difference; they are saved as spin.S2 and spin.S2pure. Real space, or LCAO without LCAO.usePoleExpansion.

  • Improved Excited states (IMOM): density-matrix mixing (mixing.type = 'density-matrix') is now supported in LCAO. Unless LCAO.coeff, LCAO.DMkcell or Exx.DMinput is given, the mixer starts from the density matrix of the reference given through rho.in; when given, these keywords must point to the reference calculation, otherwise the run stops with an error. Example: step 6 of Tests/deploy/imom (O₂), with its LCAO reference in step 5.

  • Improved Excited states (IMOM): hybrid functionals are now supported in LCAO for self-consistent single points, such as vertical excitations or the excited state at a geometry relaxed with another functional. A relaxation with a hybrid functional stops with an error, since RESCU has no exact-exchange forces. Use mixing.type = 'density-matrix', the default for hybrid functionals; a warning is printed otherwise. As in other hybrid runs that read rho.in, Exx.* keywords not given in the input are taken from a hybrid reference.

  • Improved Excited states (IMOM): DFT+U is now supported in LCAO for self-consistent single points; the Hubbard occupations and potential follow the excited determinant. Forces are switched off (with a warning if the input sets force.status = true), and a DFT+U relaxation stops with an error, since RESCU does not compute the Hubbard contribution to the forces. DFT+U excited states in real space stop with an error. Use mixing.type = 'density-matrix'; a warning is printed otherwise. Example: steps 7 and 8 of Tests/deploy/imom (antiferromagnetic NiO with LDA+U).

  • Improved Docs: the input reference now lists the keywords with three-level names, such as units.domain.latvec, ph.dos.range and stm.tip.type, which were missing; info.calculationType now lists stm-tersoff, stm-current and stm-chen.

  • Bug fix Hybrid functionals: the total energy counted the exact-exchange energy twice. The Kohn–Sham energies include the exact-exchange term of the Hamiltonian and nothing removed it, so hybrid total energies (energy.Etot, and energy.Ftot and energy.Etot0, which derive from it) were too low by the magnitude of the exact-exchange energy, which is now saved as energy.Eexx. This changes previous results: hybrid total energies, and hybrid energy differences, which change by the difference of the exact-exchange energies of the two calculations (for example ΔSCF excitation energies or formation energies). Calculations without a hybrid functional do not change. In hybrid calculations, eigenvalues, band structures, densities of states and densities do not change, except that the SCF may stop at a different iteration, since its convergence test uses the total energy. With Exx.highGcorr = false the total energy is now consistent with the eigenvalues (Janak’s theorem); with the default Exx.highGcorr = true, the high-G correction adds a term to the Hamiltonian that is not the derivative of the total energy, so the two are still not fully consistent.

  • Bug fix Hybrid functionals with LCAO.coeff (and neither LCAO.DMkcell nor Exx.DMinput), with density-matrix mixing or DFT+U: the run stopped with an error in fileparts while building the initial density matrix.

  • Bug fix MATLAB R2026a: rescu --mat2txt stopped with “Colon operands must be real scalars” on results with saved wavefunctions; so did Raman plots, and input lines whose continuation has more than three dots. The --mat2txt disk-size guard (wavefunctions above 512 MB stay in HDF5 only) now applies as intended.

RESCU 2.10.0

  • New Excited states with ΔSCF and the Initial Maximum Overlap Method (IMOM), for vertical excitation energies and, with excited-state forces and relaxation, zero-phonon lines (ZPL) and Stokes shifts. Set excited.status = true and excited.promote on top of a converged reference calculation given through rho.in; at every SCF iteration IMOM occupies the orbitals that overlap most with that target. Real space or LCAO, serial or MPI, collinear spin. The requirements and the current limitations (hybrid functionals, DFT+U and density-matrix mixing are not yet supported) are listed on the excited.* keyword reference page. The .mat results hold an excited block with the target and final occupations and the IMOM overlap scores.

  • New Calculation type stm-chen: constant-height STM images from Chen’s derivative rule for s, p and d tips and their mixtures (stm.tip.type, stm.tip.coeff), extending Tersoff–Hamann to tips with orbital character. It works from an LCAO self-consistent result given through rho.in; the tip height and bias are stm.z0 and stm.voltage, as in stm-current. Examples: Tests/deploy/bardeen/c2_lcao_chen_*.input.

  • New stm.ldos.spin (sum, default; up; down) selects how a collinear spin-polarized LDOS enters Tersoff–Hamann outputs: the total of both spins, or one spin for a spin-resolved image.

  • New Tersoff–Hamann constant-height and constant-current maps with stm.vacuum.zref (the height of the reference plane from which the LDOS is propagated into the vacuum) now read only the LDOS planes near that plane instead of the whole volume, so larger systems can be imaged with limited memory; the maps are identical. stm.ldos.stream (auto, default; on; off) controls this.

  • Bug fix Tersoff–Hamann STM (stm-tersoff); images and maps differ from previous versions:

    • maps, slices, line scans and STS points were offset by one grid point in x and y relative to the image axes;

    • constant height: stm.vacuum.zref was ignored. When stm.vacuum.phi is not given, the work function is now estimated at the reference plane, and a reference plane where the LDOS is zero stops with an error instead of giving a flat image;

    • constant current: with stm.vacuum.zref set, the LDOS is now propagated into the vacuum and the isocurrent surface is solved there; before, with an LCAO basis, the search could return the edge of the basis. Without stm.vacuum.zref the previous scan of the raw LDOS is kept, with a warning;

    • with stm.images.periodicZ = 1, the LDOS was interpolated one z layer too high; the default, 0, was not affected;

    • a collinear spin-polarized LDOS was read with its spin and energy channels mixed, so the map matched neither the requested bias nor either spin; the two spins are now summed by default (see stm.ldos.spin). A non-collinear LDOS, and an LDOS whose channel count does not match the spin.type recorded in its .mat file, now stop with an error.

  • Bug fix Documentation: the keyword reference gave 0 as the default of kpoint.sigma; the default is, and already was, 0.001 Ha, so results do not change. kpoint.nocc now documents the second column used for spin channel 2 with collinear spin.

  • Improved Documentation reorganized into Getting Started, How-To Guides (formerly Advanced Tutorials) and Tutorials (formerly Basic Tutorials, now also holding the hands-on lessons previously in Getting Started). The STM Bardeen example is now a tutorial of its own.

  • New Docs tutorial: Zero-phonon line of the NV⁻ center in diamond (configuration-coordinate workflow, 511-atom production inputs and a 63-atom practice set).

  • New Docs tutorial: Band Offsets in Strained Si/Si₁₋ₓGeₓ Heterostructures, now included in the manual.

  • New Docs: input reference page for the excited.* keywords (Solver section). O2 excited-state examples, with a README, are in Tests/deploy/imom.

RESCU 2.9.0

  • New RESCU now uses its native LDOS calculation for STM simulations via the Tersoff–Hamann method. This unifies the electronic-structure and STM pipelines, improving performance by eliminating intermediate I/O and ensuring accurate bias-window integration. New options include energy-windowed maps, constant-height and constant-current imaging, line scans, and STS outputs.

  • Improved Documentation revamped across the board; tutorials reorganized into Basic and Advanced.

  • New Docs (Advanced) tutorial: DFT on Windows — Phosphorus Doping in Silicon (setup, runs, CPU-only notes, common pitfalls).

  • New Docs (Advanced) tutorial: SCF & Impurity-State Analysis of a P-in-Si Donor System (defect levels, charge state, LDOS/PDOS workflow).

  • New Docs (Basic) tutorial: Numerical Convergence (cutoffs, k-points, smearing).

  • New Docs (Basic) tutorial: Equation of State & Geometry Optimization (EOS curve, relaxations).

  • New Docs (Basic) tutorial: Adsorption Energy (binding energies, reference states).

  • New Docs (Basic) tutorial: STM Simulations – Tersoff–Hamann (constant-height/current, bias windows, Scanning tunneling spectroscopy (STS)).

RESCU 2.8.1

  • Bug fix Added support for older linux operating systems

RESCU 2.8.0

  • New licenser. RESCU 2.8.0 has a new licenser which permits the distribution of floating licenses. If you update your RESCU installation, you will need to copy your new license to .nanoacademic/RESCU/license.lic.

  • Improved IR spectrum feature. One can now add Lorentzian broadening.

  • Improved units internally with single central definition.

  • Bug fix parallel support on some Matlab distributions.

  • Bug fix missing orbInfo when saveLevel = 2.

  • Improved documentation. Fixed typos, update and add sections.

RESCU 2.7.0

  • New Change licenser workflow. From now on, license location should be specified setting the environment variable RESCU_LICENSE_PATH to the full path to the license.lic file.

  • New Docs are now found online and in documentation/html.

  • Improved The entire electron-phonon driver is optimized for scalable performance and lower memory requirement.

  • New Generalized transport coefficients due to electron-phonon scattering are computed within relaxation time approximation (RTA) of Boltzmann transport equations using elph calculation type.

  • New Temperature dependent electrical conductivity due to electron-phonon scattering is calculated within relaxation time approximation (RTA) of Boltzmann transport equations using elph calculation type.

  • New Complex band structure calculator to analyze the electronic properties of surface states.

  • New Flag --basis allows parsing through pseudopotential databases.

  • New Flag --convert converts POSCAR files to xyz format and displays copy-pastable keyword values.

  • New Flag --help displays the help menu.

  • New Flag --parameter displays the input reference and allows navigating conveniently.

RESCU 2.6.1

  • Bug fix inconsistent array dimensions in certain DFPT phonon calculations.

RESCU 2.6.0

  • Optimized DFPT module. The time to load large wavefunction sets (as required by DFPT calculations) is improved. Dynamical matrix Fourier transforms are vectorized to improve efficiency. The –dry-run option returns better memory estimates for DFPT calculations.

  • Improved XC interface is more comprehensive and more robust.

RESCU 2.5.0

  • New DFPT functions computing the electron-phonon interaction matrix faster using interpolation techniques.

  • New DFPT functions calculating the imaginary part of the electron self-energy due to electron-phonon interactions within the self-energy relaxation time approximation (SRTA) at finite temperature.

  • New DFPT functions computing the electron-phonon limited electron lifetime within the self-energy relaxation time approximation (SRTA) at finite temperature.

  • New tutorials for: equation of states (equilibrium lattice constant), valence band position, dielectric constant/tensor and defect formation energy and method transition level diagram.

  • New potential.external keyword to introduce an external field. This allows to determine the dielectric tensor, among other applications.

  • New occupancy scheme fixedocc allows setting occupancies to minimize dispersion effects in defect calculations.

  • New makeVacuum function creates vacuum atoms.

RESCU 2.4.0

  • New DFPT calculation elph computes the electron-phonon coupling matrix elements. This experimental feature provides the raw matrix elements which researchers may use to compute various physical parametersdepending on the electron-phonon interaction.

  • New DFPT framework now handles systems without an electronic band gap, and hence spans insulators, semiconductors and metals.

  • New keyword spin.kresolved allows computing the non-collinear magnetic moment with respect to k-point. This allows visualizing spin textures among other things.

  • Improved DFPT framework now takes advantage of symmetry to significantly reduce the phonons calculation time in crystalline systems.

  • Bug fix Vacuum atoms may now be introduced in non-collinear spin calculations.

  • Bug fix Phonons energy unit is unified and set to cm-1 in DFPT optic and Raman calculations.This may have broken the plotting feature in certain cases (wrong units).

  • Bug fix The contribution of images charges is more robustly captured in calculation of phonons band-structure and density of states.This may have resulted in incorrect BS and DOS in certain cases (would show as wild oscillations).