Skip to content
Tags give the ability to mark specific points in history as being important
This project is mirrored from https://*****@github.com/JuliaMolSim/DFTK.jl.git. Pull mirroring updated .
  • v0.5.13 Release: v0.5.13
    [Diff since v0.5.12](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.5.12...v0.5.13)
    
    **Closed issues:**
    - Unsure about role of `l_local` in UPF (#765)
    - Error with irrfbz_path (#767)
    
    **Merged pull requests:**
    - Splitting computations of δψ and δocc (#758) (@epolack)
    - Require Interpolations 1.14 (#768) (@antoine-levitt)
    - Update Brillouin to 0.5.10 (#769) (@antoine-levitt)
    - More systematic use of named tuples (#770) (@epolack)
    - update comments and dH->dV (#771) (@gkemlin)
    - Computing density with occupation threshold (#772) (@epolack)
    - Drop compatibility for older versions (#773) (@mfherbst)
  • v0.5.12 Release: v0.5.12
    [Diff since v0.5.11](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.5.11...v0.5.12)
    
    **Closed issues:**
    - Test on forces derivatives is failing unexpectedly (#742)
    - Broken link (#763)
    
    **Merged pull requests:**
    - Cell to supercell routines (#627) (@LaurentVidal95)
    - Shifting functions for `k`-points (#714) (@epolack)
    - Support for NC pseudos in UPF format (#741) (@azadoks)
    - Custom CG (#750) (@gkemlin)
    - Optimize symmetry checking (#751) (@antoine-levitt)
    - Added reference for the energy cutoff smearing (#754) (@LaurentVidal95)
    - update forces publication (#755) (@gkemlin)
    - CG callback (#757) (@gkemlin)
    - Integrate pseudopotential documentation (#764) (@mfherbst)
  • v0.5.11 Release: v0.5.11
    [Diff since v0.5.10](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.5.10...v0.5.11)
    
    **Merged pull requests:**
    - Allowing for fixed Fermi level (#727) (@epolack)
    - DFPT paper (#747) (@gkemlin)
    - Switch chat spaces to zulip (#748) (@mfherbst)
  • v0.5.10 Release: v0.5.10
    [Diff since v0.5.9](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.5.9...v0.5.10)
    
    **Closed issues:**
    - Use real FFTs (#36)
    - Derivative in Fourier space of real function not real (#694)
    - Reduce computation time for energy calculation  (#703)
    
    **Merged pull requests:**
    - Band structure for non-standard lattice, cleanup (#555) (@jaemolihm)
    - Bump compat for MPI to 0.20 (#743) (@github-actions[bot])
    - Fix forces with symmetries (#744) (@antoine-levitt)
    - Update citations (#745) (@mfherbst)
  • v0.5.9 Release: v0.5.9
    [Diff since v0.5.8](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.5.8...v0.5.9)
    
    **Closed issues:**
    - Dynamically adjust number of targeted bands in SCF (#562)
    - Get rid of n_ep_extra (#652)
    - Failling CI (#730)
    
    **Merged pull requests:**
    - Automatically adapt number of bands during SCF (#695) (@mfherbst)
    - Make LOBPCG GPU-compatible (#711) (@GVigne)
    - Fix computation of Fermi level at zero temperature (#728) (@gkemlin)
    - Misc fixes for the examples (#731) (@epolack)
    - Restrict upper version bound to Brillouin.jl (#734) (@mfherbst)
    - Small bugfixes and changes (#736) (@mfherbst)
    - Make CUDA an optional dependency (#738) (@mfherbst)
    - Test for consistency of psp correction (#739) (@mfherbst)
    - Save some matrix-vector products in Sternheimer solver (#740) (@gkemlin)
  • v0.5.8 Release: v0.5.8
    [Diff since v0.5.7](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.5.7...v0.5.8)
    
    **Closed issues:**
    - G_to_r/r_to_G -> ifft/fft? (#715)
    - Type question (#724)
    
    **Merged pull requests:**
    - Add blowup functions to Kinetic term for cutoff smearing (#696) (@LaurentVidal95)
    - ForwardDiff: Return dual energies in scfres (#709) (@niklasschmitz)
    - Add a few NaN checks in LOBPCG (#710) (@GVigne)
    - Remove advertisement for summer school (#716) (@mfherbst)
    - Derivative of complex erfc (#720) (@epolack)
    - Changing naming convention for FFT (#721) (@epolack)
    - Introduce `irfft` for inverse FFT of real-valued quantities (#722) (@epolack)
    - Adding ElementGaussian (#723) (@epolack)
    - Fix definition of erfc (#725) (@epolack)
    - Add brackets around where clauses (#726) (@epolack)
  • v0.5.7 Release: v0.5.7
    [Diff since v0.5.6](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.5.6...v0.5.7)
    
    **Merged pull requests:**
    -  Add documentation about conducting a convergence study (#701) (@killah-t-cell)
    - Fix some image links in documentation (#713) (@mfherbst)
  • v0.5.6 Release: v0.5.6
    [Diff since v0.5.5](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.5.5...v0.5.6)
    
    **Closed issues:**
    - Overly excessive `n_bands` by default for spin-polarised calculations (#692)
    
    **Merged pull requests:**
    - DFTK Juliacon demo code (#677) (@mtowara)
    - Overhaul docs organisation (#684) (@antoine-levitt)
    - Reduce default number of bands for spin-polarised (#693) (@mfherbst)
    - Fix dual handling for parametrised functionals (#699) (@mfherbst)
    - Typo in dos.jl (#702) (@gkemlin)
    - Zygote scf merge (#705) (@mtowara)
    - Update to next spglib (#707) (@mfherbst)
  • v0.5.5 Release: v0.5.5
    [Diff since v0.5.4](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.5.4...v0.5.5)
    
    **Merged pull requests:**
    - Integrate with DftFunctionals.jl (#633) (@mfherbst)
    - Cap tolerance in check on electron count (#682) (@mfherbst)
    - Graphene band structure (#683) (@antoine-levitt)
    - CompatHelper: bump compat for Interpolations to 0.14, (keep existing compat) (#685) (@github-actions[bot])
    - Fixup stylistic aspects raised in #633 (#686) (@mfherbst)
    - Fix bug on magnetization in guess_density (#687) (@gkemlin)
    - Band energy derivatives using ForwardDiff (#688) (@mfherbst)
    - Add code for paper by Cazalis on 2D-confined graphene (#689) (@antoine-levitt)
  • v0.5.4
    43e59f34 · Fix version to 0.5.4 ·
    Release: v0.5.4
    [Diff since v0.5.3](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.5.3...v0.5.4)
    
    **Closed issues:**
    - How to set up models (#666)
    - Stronger type annotations for model construction (#668)
    - Get rid of lowpass_for_symmetry! (#672)
    - Don't hardcode ylims in band structure (#674)
    - MPI error with redirect_stdout() (#681)
    
    **Merged pull requests:**
    - Handling complex numbers for PairwisePotential (#655) (@epolack)
    - Add more type annotations to model constructors (#670) (@mfherbst)
    - Performance optimizations (#671) (@antoine-levitt)
    - Handling of extra bands in response calculations (#679) (@gkemlin)
    - Store G_vectors and r_vectors in the basis (#680) (@antoine-levitt)
  • v0.5.3 Release: v0.5.3
    [Diff since v0.5.2](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.5.2...v0.5.3)
    
    **Closed issues:**
    - Rewrite ewald (#656)
    - DFTK doesn't precompile (#660)
    
    **Merged pull requests:**
    - Precompute Ewald summation bounds (#659) (@niklasschmitz)
    - Small changes to improve working with intervals (#661) (@mfherbst)
    - Testing RealSpaceMultiplication consistency as well (#662) (@epolack)
    - Refactor Pairwise term to precompute summation bounds (#663) (@niklasschmitz)
    - fix typo (#664) (@killah-t-cell)
    - Fix performance gotcha (#665) (@antoine-levitt)
    - Turn LOBPCG problem size warning to error (#667) (@antoine-levitt)
  • v0.5.2
    a7ac04b2 · Fix bumpversion issue ·
    Release: v0.5.2
    [Diff since v0.5.1](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.5.1...v0.5.2)
    
    **Closed issues:**
    - Fix forwarddiff with symmetries (#643)
    - Tolerance issue when using ForwardDiff (#651)
    
    **Merged pull requests:**
    - Forwarddiff for metals (#638) (@mfherbst)
    - Fix cart (#657) (@epolack)
    - Forward-diff support for pseudo parameters (#658) (@mfherbst)
  • v0.5.1 Release: v0.5.1
    [Diff since v0.5.0](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.5.0...v0.5.1)
    
    **Closed issues:**
    - Pretty traces (#123)
    - Define and use cis2pi (#400)
    - Direct minimization with Double64 does not work (#428)
    - Investigate forces test failure (#625)
    - Help Needed  (#649)
    
    **Merged pull requests:**
    - Remove dead and unused code (#634) (@mfherbst)
    - Remove deprecation wrappers (#635) (@mfherbst)
    - Zygote scf (#636) (@mtowara)
    - Use chemical_formula function from AtomsBase (#639) (@mfherbst)
    - Simplify pwbasis constructors (#640) (@antoine-levitt)
    - Add and use cis2pi functions (#641) (@kvnoct)
    - Filter rgrid symmetries (#642) (@antoine-levitt)
    - Zygote scf (#644) (@mtowara)
    - Integrate with InteratomicPotentials.jl (#645) (@jrdegreeff)
    - CompatHelper: bump compat for Roots to 2, (keep existing compat) (#646) (@github-actions[bot])
    - Test consistency of local potential in both real and Fourier space (#647) (@antoine-levitt)
    - Using Cartesian routine (#648) (@epolack)
    - update support for InteratomicPotentials v0.2 (#654) (@jrdegreeff)
  • v0.5.0 Release: v0.5.0
    [Diff since v0.4.7](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.4.7...v0.5.0)
    
    Note that this release increases the minor version and contains a number of breaking changes:
    
    - The `atoms` field in the `Model` data structure, which used to contain pairs mapping from an element to a list of associated positions, is now split up into a plain `atoms` vector (containing a flat and repeated list of all elements) and a `positions` vector (containing the list of respective positions). I.e. whereas before one would have, for example:
      ```julia
          Ga = ElementCoulomb(:Ga)
          As = ElementCoulomb(:As)
          atoms = [Ga => [[0.1, 0.2, 0.3], [0.4, 0.5, 0.6], ], As => [[0.7, 0.8, 0.9], ], ]
      ```
      we now have
      ```julia
          Ga = ElementCoulomb(:Ga)
          As = ElementCoulomb(:As)
          atoms     = [Ga, Ga, As]
          positions = [[0.1, 0.2, 0.3], [0.4, 0.5, 0.6], [0.7, 0.8, 0.9], ]
      ```
      This change is carried forward to **all interfaces** of DFTK. This means that all `Model` constructors as well as the `model_atomic`, `model_DFT`, `model_LDA`, `model_PBE`, `model_SCAN` functions change interface. E.g. constructing an LDA model for this fictitious gallium arsenide system could now be done as such:
      ```julia
          Ga = ElementCoulomb(:Ga)
          As = ElementCoulomb(:As)
          atoms     = [Ga, Ga, As]
          positions = [[0.1, 0.2, 0.3], [0.4, 0.5, 0.6], [0.7, 0.8, 0.9], ]
    
          lattice = 5.6 * I(3)
          model = model_LDA(lattice, atoms, positions)
      ```
      All examples and tests have been updated and can be used to draw examples for the new interface. For convenience and to simplify amending downstream code the old `model_LDA` etc. function have not been completely removed for now, but only marked as deprecated. However, removal will occur at the next patch release. (#626)
    
    - The `compute_forces` and `compute_forces_cart` functions now also return arrays of `Vec3` (Static vector of 3 dimensions). These vectors are the forces on a particular atom in the same order as the `model.positions` and `model.atoms` arrays. (#626)
    
    - The `Model(lattice; atoms, positions, kwargs...)` constructor has been dropped in favour of `Model(lattice, atoms, positions; kwargs...)`, i.e. `atoms` and `positions` are now positional arguments. This was done to make the constructor resemble more the structure of the `model_LDA`, `model_PBE`, etc. functions. (#629).
    
    - The default LDA model constructed by `model_LDA` is now `[:lda_x, :lda_c_pw]` instead of `[:lda_xc_teter93]`. To return to the old behaviour replace `model_LDA(lattice, atoms, positions; kwargs...)`
      by `model_DFT(lattice, atoms, positions, :lda_xc_teter93; kwargs...)`. (#629)
    
    - The default `kshift` in the `PlaneWaveBasis` constructor is now always `(0, 0, 0)`. It used to be `1/2` in one direction in case the `kgrid` was even in this direction. Manually specifying the desired `kshift` returns the old behaviour. (#630)
    
    - The `load_psp(element; kwargs...)` function is discontinued and has been removed. Instead use a combination of `list_psp(element; kwargs...)` with `load_psp(identifier)` or the `attach_psp(system::AbstractSystem)` function. (#558)
    
    - The deprecated `compute_stresses(scfres)` function has now been removed in favour of `compute_stresses_cart(scfres)`. (#628)
    
    - The deprecated `PowerNonlinearity(C, α)` constructor has now been removed in favour of `LocalNonlinearity(ρ -> C * ρ^α)`. (#628)
    
    **Closed issues:**
    - Autodiff (#107)
    - Figure out notations for the symmetry operations (#266)
    - Possibility to "unfold" the k grid (#382)
    - Make another round of profiling (#425)
    - Improve density computation (#456)
    - Employing DFTK results for Machine-Learning (#595)
    - Refactor SymOp to be primarily (W,w) rather than (S,tau) (#618)
    - Remove ksymops (#621)
    
    **Merged pull requests:**
    - Integrate with AtomsBase (#558) (@mfherbst)
    - Adding framework for pairwise interactions (#602) (@epolack)
    - Random optimization (#610) (@antoine-levitt)
    - Fix performance issue in block array (#611) (@antoine-levitt)
    - Small cleanup in LOBPCG (#612) (@mfherbst)
    - Remove coordinate_cart field from Kpoint (#613) (@niklasschmitz)
    - Small optimizations (#615) (@antoine-levitt)
    - Refactoring diagonalize_all_kblocks (#617) (@antoine-levitt)
    - Symop refactoring (again!) (#619) (@antoine-levitt)
    - Fixes for julia 1.8 (#620) (@mfherbst)
    - Excise ksymops (#622) (@antoine-levitt)
    - Excise symops, part 2 (#624) (@antoine-levitt)
    - Refactor atoms field in Model (#626) (@mfherbst)
    - Remove deprecated features (#628) (@mfherbst)
    - Make atoms and positions positional arguments of the Model (#629) (@mfherbst)
    - Change default kshift to zero (#630) (@mfherbst)
    - Remove kpoint fallback (#631) (@mfherbst)
    - Remove final mention of ksymops (#632) (@mfherbst)
  • v0.4.7 Release: v0.4.7
    [Diff since v0.4.6](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.4.6...v0.4.7)
    
    **Closed issues:**
    - Segfault in preconditioning (#529)
    - Investigate eigensolver bad convergence (#578)
    - Convergence monitoring (#579)
    - De-`threadid`ing parallel loops (#588)
    
    **Merged pull requests:**
    - CompatHelper: bump compat for Polynomials to 3, (keep existing compat) (#598) (@github-actions[bot])
    - Use Val(true) in G_to_r to help const-prop (#605) (@antoine-levitt)
    - Change printing (#606) (@antoine-levitt)
    - Switch maximum iteration count to 100 (#607) (@antoine-levitt)
    - Fix unsafe use of unpack (#608) (@antoine-levitt)
  • v0.4.6 Release: v0.4.6
    [Diff since v0.4.5](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.4.5...v0.4.6)
    
    **Closed issues:**
    - Use symmetrization for forces (#515)
    
    **Merged pull requests:**
    - Replace `@timing_seq` by thread-local timers (#574) (@mfherbst)
    - Optimization to density building (#575) (@antoine-levitt)
    - Cleanup Chi0Mixing docstrings and timings (#576) (@mfherbst)
    - Symop refactoring (#577) (@antoine-levitt)
    - Fix type in periodic problems guide (#580) (@epolack)
    - AtomicNonlocal Zygote compatibility (#581) (@mtowara)
    - Show function for kpoints (#582) (@antoine-levitt)
    - Proper integration of SCF with ForwardDiff (#583) (@mfherbst)
    - Schur complement in Sternheimer solver (#584) (@gkemlin)
    - Selection from zoo of PBE functionals (#586) (@mfherbst)
    - Use symmetrization in density construction (#589) (@antoine-levitt)
    - Remove a forwarddiff workaround (#590) (@antoine-levitt)
    - Fix threading (#592) (@antoine-levitt)
    - Fix formula to match comment (#594) (@epolack)
    - Symmetrize forces (#596) (@antoine-levitt)
    - Simplify the erfc cutoff in ewald (#597) (@antoine-levitt)
    - Support for multiple partials in ForwardDiff SCF (#599) (@niklasschmitz)
    - Using pseudo-inverse for one- and two-dimensional cells (#601) (@epolack)
    - Fix stress symmetrization (#603) (@antoine-levitt)
    - Add explicit error if SCF is used with no kinetic term (#604) (@epolack)
  • v0.4.5 Release: v0.4.5
    [Diff since v0.4.4](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.4.4...v0.4.5)
    
    **Closed issues:**
    - Make perturbation-based error bounds available in master (#560)
    
    **Merged pull requests:**
    - Merge the two functions for standardising cells (#568) (@mfherbst)
    - More XC fallback implementations (#569) (@mfherbst)
    - Recode lda_c_vwn (#570) (@antoine-levitt)
    - Implement meta-GGA functionals (#571) (@mfherbst)
    - Implement meta-GGAs depending on the laplacian of the density (#572) (@mfherbst)
    - Remove outdated and broken ABINIT interface (#573) (@mfherbst)
  • v0.4.4 Release: v0.4.4
    [Diff since v0.4.3](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.4.3...v0.4.4)
    
    **Closed issues:**
    - Error showing basis without kshift (#554)
    
    **Merged pull requests:**
    - Turn generators into arrays (#556) (@antoine-levitt)
    - Implement Marzari-Vanderbilt-DeVita-Payne (cold) smearing (#557) (@azadoks)
    - Fix typo (#559) (@haampie)
    - new example using AD to compute error bounds for forces (#561) (@gkemlin)
    - [WIP] Zygote SCF (#563) (@niklasschmitz)
    - Generalize PowerNonlinearity to LocalNonlinearity (#564) (@antoine-levitt)
    - Simplify xc fallbacks, allow second derivatives, remove codegen (#565) (@antoine-levitt)
    - Reformulate readme (#566) (@mfherbst)
  • v0.4.3 Release: v0.4.3
    [Diff since v0.4.2](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.4.2...v0.4.3)
    
    **Merged pull requests:**
    - Update to Wannier example and rename `atomic_symbol` (#550) (@mfherbst)
    - Refactor ene_ops and Terms interface (#551) (@mfherbst)
    - Remove model backreference from `Kpoint` structure (#552) (@mfherbst)
    - Include advertisement to DFTK school 2022 (#553) (@mfherbst)
  • v0.4.2 Release: v0.4.2
    [Diff since v0.4.1](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.4.1...v0.4.2)
    
    **Closed issues:**
    - Magnetic fields in Package features. (#544)
    - Atomic positions in cartesian coordinates (#546)
    
    **Merged pull requests:**
    - First steps towards an interface to wannier90 (#518) (@LaurentVidal95)
    - Fixed minor issues in periodic_problems tutorial (#541) (@cw-tan)
    - Kinetic Energy Density function (#543) (@cw-tan)
    - Change magnetic field wording in docs (#545) (@mfherbst)
    - CompatHelper: bump compat for SpecialFunctions to 2, (keep existing compat) (#547) (@github-actions[bot])
    - Docfix: Math rendering for guess_density (#548) (@niklasschmitz)
    - Add basic routine for wannier plotting (#549) (@mfherbst)