Skip to content

Latest commit

 

History

History
353 lines (297 loc) · 16.3 KB

ChangeLog.md

File metadata and controls

353 lines (297 loc) · 16.3 KB

(changelog)=

Changelog

Version 3.3.0

solid_dmft 3.3.0 is a major release, compatible with TRIQS 3.3, updated to the latest app4triqs skeleton, and bringing major changes to the code:

  • the input parser is switched to a general toml parser, i.e. strings have to be passed in quotes, boolean parameters given without capitalization, and lists passed with brackets. Check below separate section for detailed changes.
  • the new input parser allows to define for each impurity problem a different solver if wanted, i.e. d-shell with cthyb and p-shell with Hartree-Fock. See new text NiO-cthyb
  • docker images are automatically build on each push for all major releases to ghcr.io
  • switch from old ctseg to new ctseg_j solver
  • allow CRM Dyson solver for both cthyb and ctseg to obtain Sigma_imp from G_tau: "crm_dyson_solver=true" and dlr_wmax and dlr_eps (see https://triqs.github.io/triqs/unstable/documentation/python_api/triqs.gf.dlr_crm_dyson_solver.html#module-triqs.gf.dlr_crm_dyson_solver for details)
  • add new DC schemes 'crpa_static', 'crpa_static_qp', 'crpa_dynamic'
  • use cRPA calculated Uijkl as interaction via 'crpa', 'crpa_density_density', 'dyn_density_density', 'dyn_full' hint types
  • read interaction tensor from AIMBES h5
  • new experimental gw_embedding module. See gw_embedding/gw_flow.py for details allowing to run solid_dmft on top of AIMBES
  • allow to use Pade for AC in post-processing

We thank all contributors: Sophie Beck, Thomas Hahn, Alexander Hampel, Henri Menke, Maximilian Merkel, and Nils Wentzell

Find below an itemized list of changes in this release.

General

  • merge dev GW embedding (includes other fixes as well) (#78)
  • pass gw params to all methods
  • multiple solvers and toml input parser (#74)
  • added toml to docker images
  • Restore Python 3.8 compatibility for dictionary merge (#63)
  • Allow mathematical expression to be passed for random_seed (#61)
  • allow PCB to read from TRIQS TB object
  • respack fit slater for p shell
  • add Pade Sigma analytic continuation and refine tests
  • add simple_intra interaction, for intro orbital only interaction
  • add dc_orb_shift param to allow orbital dependent shift in impurity levels
  • allow 0.0 mixing to perform stat sampling
  • switch all pytest to unit tests

new toml input parser

  • The following input parameters can now be a list per impurity:

    • general_params: U, J, U_prime, ratio_F4_F2, h_int_type, enforce_off_diag, dc_type
    • advanced_params: dc_U, dc_J, dc_fixed_occ, map_solver_struct, pick_solver_struct, mapped_solver_struct_degeneracies
  • Multiple solvers can be used, which only solve the impurity problems specified in idx_impurities

    • general parameter solver_type moved to solver section and renamed to type
    • general parameter n_l moved to solver section
    • general parameter measure_chi moved to solver section
    • general parameter delta_interface moved to solver section
  • All possible input parameters are defined in the python/solid_dmft/io_tools/default.toml

  • according to toml format the config file is now called .toml (instead of .ini), and boolean are not capitalized, strings are given with quotes and lists are given with brackets.

  • Documentation of the input is now generated from python/solid_dmft/io_tools/documentation.txt

  • For an example, refer to the new integration test (see below)

  • Updated interface to python scripts wrapping solid_dmft: new routine main.run_dmft that expects the params as python dictionaries, which are then supplemented with the defaults etc equivalent to what happens when reading in a toml file

  • the existence of the parameter general_params['beta'] now determines if a imaginary- or real-frequency grid is used within solid_dmft

  • Bug fix: Slater interaction for p orbitals can now be constructed

  • Renaming of solver parameters for the different solvers is now moved to solver.py. The idea is that every other part of solid_dmft should care as little as possible what solvers are used, with the details abstracted by the SolverStructure class

    • In solver.py, all solver parameters that are passed to the triqs solver are transferred to a dict triqs_solver_params. When adding new triqs solver parameter to solid_dmft in the future, they also need to be added within solver.py.
  • In the determination of the block structure, the largely unused parameter general_params['block_suppress_orbital_symm'] removed. Its behavior can be replaced by using advanced_params['mapped_solver_struct_degeneracies']

  • Integration tests: previously existing tests updated, new tests added. One with ftps solver (requires installation of ftps, otherwise just passes without doing anything) and one with a combination of CT-HYB and Hartree solver

  • Unit tests: added test for toml-related functionality

  • read_config.py removed and the functionality for dealing with the dicts from reading a toml file moved to postproc_toml_dict.py

  • io_tools/verify_input_params.py contains all checks of the input params that the code performs before starting the DMFT calculations

  • Updated the documentation of the input parameters

doc

  • add comment that proj in postprocessing is only correct for diag A(k,w)
  • update NNO magnetic tutorial
  • fix Vasp CSC tutorial for PNO after CSC fixes

build

  • add new tests for CRM Dyson solver (requires triqs 3.3)
  • add new GW embedding tests that run optionally with -DTest_GW_embedding=ON
  • modify basic SVO test to do crm test instead of gl
  • add useful apt packages to openmpi image
  • use ghcr.io images when testing PR
  • ci: build and cache base image separately (#70)
  • use new auto build ghcr.io docker images
  • add GitHub Actions workflow for Docker images (#66)
  • simplify dockerfile for github ci
  • trigger pypi build on tags
  • add pypi workflow
  • update Vasp patches for ver 6.4
  • Cleaned up VASP diff files for CSC
  • use cmake variable to determine max number of mpi ranks during testing

other fixes

  • Added warning for matrix-valued selfenergy continuation
  • draw colorbar only once in kslices
  • PCB bug aprx Sigma as diagonal if interpolation is used
  • broken FS: np.shape -> len
  • fix small FTPS problems and introduce a different eta for FTPS
  • maxent test precision fix and test dependency
  • use of origin in Fermi surface
  • fix calculation of Akw for off-diag Sigma

Version 3.2.3

solid_dmft version 3.2.3 and 3.2.2 are minor releases that fixes bugs in the post-processing routines and brings small new improvements:

  • allow 0.0 mixing to perform stat sampling
  • allow mathematical expression to be passed for random_seed
  • fix broken FS plot in PCB: np.shape -> len
  • fix PCB bug aprx Sigma as diagonal if interpolation is used
  • fix PCB to draw coloarbar only once in kslices

We thank all contributors: Alexander Hampel, Henri Menke

Version 3.2.1

solid_dmft version 3.2.1 is a minor release that automatizes the pypi packaging release

Version 3.2.0

solid_dmft version 3.2.0 is a release that

  • adds Jenkins CI support via flatiron-jenkins
  • includes several fixes to match the latest triqs 3.2.x release
  • changes the Z estimate to a correct linear fit of the first two Matsubara frequencies
  • fixes for QE and Vasp CSC
  • add option to add a magnetic field in DMFT
  • add solid_dmft JOSS paper reference (doi.org/10.21105/joss.04623)
  • add simple Ntot interaction
  • allow Uprime!=U-2J in Kanamori
  • updates the tutorials
  • introduces input output documentation
  • add support for the TRIQS Hartree Solver
  • add RESPACK support

We thank all contributors: Sophie Beck, Alberto Carta, Alexander Hampel, Max Merkel, Harrison LaBollita, Nils Wentzell

Find below an itemized list of changes in this release.

General

  • fix SzSz measurement in triqs unstable
  • Updated mpich VASP5 docker file to include HF solver
  • add hartree solver
  • feat: add regular kmesh option to pcb postproc
  • Fix to charge-self-consistency with Vasp (#48)
  • removed QE fix files which are now in official release
  • Modified dockerfile to add pmi support for cray supercomputing environments
  • add RESPACK postprocessing routines (#38)
  • Added correction to energy calculation
  • add triqs logos to skeleton and include ico in install directive of doc
  • change name of dft_mu to mu_initial_guess
  • support different DFT cubic basis conventions (#36)
  • allow magnetic calculation for CSC (output den correction is always averaged)
  • fix sym bug in hubbardI postprocessing
  • always calculate dft_mu at start of calculation
  • add h_field_it to remove magnetic field after x iterations
  • Write solid_dmft hash to h5
  • fix delta interface of cthyb for multiple sites with different block structures
  • correctly use tail fitted Sigma from cthyb not via double dyson equation
  • add paper ref to toml
  • minor addition of post-processing script: add_local Hamiltonian, separate from add_lambda. We might remove add_lambda
  • update doc with JOSS references
  • Bug fix for changes in sumk mesh definition in maxent_gf_latt
  • adapt vasp patch files for ver6.3.2
  • function to det n_orb_solver, fix test
  • apply block picker before block mapping
  • fix header writing for obs file
  • add pick solver struct option to select specific blocks for the impurity problem
  • fix print for failing comparison test
  • allow different interaction Hamiltonians per impurity
  • enforce PEP standard in interaction Hamiltonian
  • print optimal alpha in other maxent scripts
  • final corrections for PCB functions
  • add proj_on_orb functionality to Akw
  • fix bug in max_G_diff function ignoring norm_temp
  • change Sigma_imp_iw / _w to Sigma_imp (DFTTools unstable)
  • fix load Sigma with new gf_struct in triqs 3.1.x
  • adapt to sumk mesh changes in dfttools
  • Made the way mesh is stored in maxent_gf_latt consistent with maxent_gf_imp

fix

  • fix deg shells in magnetic calculations
  • fix parameter n_orb in hint construction
  • doc strings of cRPA avering for Slater
  • critical bug in hubbardI interface
  • PCB fermi surface plot
  • updates from triqs unstable
  • simple Z estimate as linear fit
  • PCB: removing "linearize" function, changing the model
  • delta_interface with SOC and store solver options
  • convert warmup cycles to int automatically
  • problem with ish vs icrsh in PCB Thanks @HenryScottx for reporting!
  • h_int uses now n_orb instead of orb_names

build

  • adapt jenkins CI files
  • simplify docker image
  • update openmpi docker file with clang-15
  • update CI dockerfile
  • Updated docker file to ubuntu 22

feat

  • enable MPI for maxent_gf_imp post-processing routines
  • add possibility to specify Uprime in Kanamori interaction
  • add loc_n_min / max arg for cthyb
  • add additional support for hartree when computing DC from the solver
  • add Ntot interaction

doc

  • Added observables documentation for DMFT output
  • Updated tutorial svo one-shot

test

  • fix tests after Hartree additions
  • add Hartree Solver test
  • Integration test for maxent gf imp and latt, bug fixes to both scripts (#30)
  • add new test for pcb get_dmft_bands function

Version 3.1.5

solid_dmft version 3.1.5 is a patch-release that improves / fixes the following issues:

  • fix to charge-self-consistency with Vasp and QE
  • feat add loc_n_min / max arg for cthyb
  • fix simple Z estimate as linear fit
  • adapt docker images for ubuntu 22.04

Contributors: Sophie Beck, Alberto Carta, Alexander Hampel, Max Merkel:

Version 3.1.4

solid_dmft version 3.1.4 is a patch-release that improves / fixes the following issues:

  • fix and improve rootfinder in PCB for quasiparticle dispersion
  • fix pypi package version.py module

Contributors: Sophie Beck, Alberto Carta, Alexander Hampel, Max Merkel:

Version 3.1.3

solid_dmft version 3.1.3 is a patch-release that improves / fixes the following issues:

  • fix delta interface of cthyb for multiple sites with different block structures
  • correctly use tail fitted Sigma from cthyb not via double dyson equation
  • magnetic param not available in CSC crash PM calc
  • improve PCB script from unstable branch
  • convert warmup cycles to int automatically
  • fix function calls in gap finder
  • fix delta_interface with SOC and store solver options
  • fix: update svo example for PCB test from unstable

Contributors: Sophie Beck, Alberto Carta, Alexander Hampel, Max Merkel

Version 3.1.2

solid_dmft version 3.1.1 is a patch-release that improves / fixes the following issues:

  • fix deg shells in magnetic calculations
  • fix bug in max_G_diff function ignoring norm_temp
  • fix load Sigma with new gf_struct in triqs 3.1.x
  • Made the way mesh is stored in maxent_gf_latt consistent with maxent_gf_imp
  • adapt vasp patch files for ver6.3.2
  • update README.md for Joss publication
  • print optimal alpha in other maxent scripts
  • update postprocessing routines for plotting spectral functions
  • add new test for pcb get_dmft_bands function
  • DOC: extend install instructions & improve readme for #21 #22
  • DOC: update support & contribute section, bump ver to 3.1.1
  • add proj_on_orb functionality to Akw
  • Added observables documentation for DMFT output
  • Added input documentation
  • Added ETH logo to website, small fixes to documentation
  • rename examples to debbuging_examples
  • pip package build files

Contributors: Sophie Beck, Alberto Carta, Alexander Hampel, Max Merkel

Version 3.1.1

solid_dmft version 3.1.1 is a patch-release that improves / fixes the following issues:

  • delete obsolete make_spaghetti.py
  • SOC self energies can be continued in maxent
  • run hubbardI solver on all nodes due to slow bcast performance of atomdiag object
  • fix DFT energy read when running CSC QE
  • updated documentation, small fixes to tutorials
  • exposed params of maxent_gf_imp
  • fix the way dft_mu is loaded in PCB
  • fix executable in SVO tutorial
  • fix shift in sigma continuator to remove dft_mu
  • fix chemical potential in plot Akw and minor fixes
  • correct plotlabels in postprocessing
  • tiny modification of printing H_loc in postprocessing

Contributors: Sophie Beck, Alberto Carta, Max Merkel

Version 3.1.0

solid_dmft version 3.1.0 is a major release that provides tutorials in the documentation, changes to app4triqs skeleton, allows CSC calculations with QE, improves postprocessing routines, and add functionality for SOC calculations.

  • all new tutorials
  • generalize measure_chi functionality
  • CSC with Vasp 6.3.0 works, examples updated
  • fix two bugs in w90 interface in vasp
  • Renamed files
  • fix Fermi level print in mlwf.F LPRJ_WRITE call
  • Automatic patching of vasp 6.3.0 with Docker
  • Updated tutorial
  • Added check on all mpi ranks if dmft_config exists at beginning of run
  • fix small bug in convergence.py thanks @merkelm
  • Rework convergence metrics
  • remove gf_struct_flatten from solver in accordance with latest dfttools version
  • Renaming to solid_dmft
  • Update of maxent_gf_latt.py: more parameters exposed and spin averaging is not default anymore
  • fix bug in afm calculation when measuring density matrix
  • Add w90_tolerance flag for CSC
  • use sphinx autosummary for module reference
  • small changes in IO, additional mpi barriers in csc flow for better stability
  • With SOC now program prints real and imag part of matrices
  • Fixed creation of Kanamori Hamiltonian with SOC
  • Improvements in plot_correlated_bands.py and updated tutorial
  • change output name of MaxEnt Sigma to Sigma_maxent
  • change to develop version of w90 because of mpi bug in openmpi dockerfile
  • bugfix in plot_correlated_bands and cleaning up
  • update OpenMPI Dockerfile to latest Ubuntu
  • Tutorial to explore correlated bands using the postprocessing script
  • check in CSC with QE if optional files are presesnt, otherwise skip calculation
  • Updated maxent_sigma: mpi parallelization, continuator types, bug fixes, parameters exposed
  • update installation instructions
  • add workflow and code structure images
  • Updated maxent sigma script
  • W90 runs in parallel
  • Fixing a bug related to measure_pert_order and measure_chi_SzSz for afm_order
  • add vasp crpa scripts and tutorials
  • add delta interface for cthyb
  • fix get_dmft_bands and pass eta to alatt_k_w correctly
  • allows to recompute rotation matrix even if W90 is used
  • bugfix in initial_self_energies.py in case dc = False
  • flatten gf_struct for triqs solvers to remove depracted warning
  • add example files for SVO and LNO
  • bump triqs and package version to 3.1

Contributors: Sophie Beck, Alberto Carta, Max Merkel

Version 3.0.0

solid_dmft version 3.0.0 is a compatibility release for TRIQS version 3.0.0 that

  • introduces compatibility with Python 3 (Python 2 no longer supported)
  • adds a cmake-based dependency management
  • fixes several application issues