This project is mirrored from https://*****@github.com/JuliaMolSim/DFTK.jl.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
-
v0.5.081965848 · ·
[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.76289d3cf · ·
[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.6910fae18 · ·
[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.5c288da26 · ·
[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.479058fe3 · ·
[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.393fd93d6 · ·
[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.2e2cc5168 · ·
[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)
-
v0.4.1699cccd5 · ·
[Diff since v0.4.0](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.4.0...v0.4.1) **Closed issues:** - Convergence issues with HybridMixing and shifed k-Point meshes (#283) - Kinetic Terms (#538) - Wrong spglib spacegroup (#539) **Merged pull requests:** - Avoid two-step division and rounding (#537) (@antoine-levitt) - Fix spglib wrapper bug (wrong transpose) (#540) (@jaemolihm)
-
v0.4.035b71436 · ·
[Diff since v0.3.10](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.3.10...v0.4.0) Note that this release increases the minor version and contains a number of breaking changes: - The bandstructure plotting mechanism (`plot_bandstructure` and friends) now uses [`Brillouin.jl`](https://github.com/thchr/Brillouin.jl) to determine the kpath instead of the `pymatgen` python library. Since this effectively changes the determined kpath from the [Setyawan-Curtarolo](http://doi.org/10.1016/j.commatsci.2010.05.010) convention to the [Hinuma *et. al.*](http://doi.org/10.1016/j.commatsci.2016.10.015) convention the obtained bands will now differ in some cases. (#496) - [LdosMixing](https://michael-herbst.com/publications/2020.09.03_ldos_preconditioning.pdf) is now the default mixing/preconditioning for self-consistent field iterations. Due to the auto-adapting nature of this approach we expect this to be a better default mixing choice, albeit it likely implies performance penalties for small systems. The old behaviour can be restored by passing `mixing=SimpleMixing()` to `self_consistent_field`. (#509) - The deprecated `PlaneWaveBasis(model, Ecut; kgrid=...)` constructor has been removed in favour of `PlaneWaveBasis(model; Ecut, kgrid=...)` (i.e. `Ecut` is now a keyword argument). (#517) - The function `kgrid_size_from_minimal_spacing` has been renamed to `kgrid_from_minimal_spacing` and its default argument removed (#523) - The function `compute_fft_size(lattice::AbstractMatrix, Ecut)` has been removed in favour of `compute_fft_size(model::Model, Ecut)`, i.e. if you want to manually compute the FFT size with this function you must now pass a `Model` and not just the lattice vectors. (#524) - The interface of the functions `compute_bands` and `plot_bandstructure` has been made more in line with the rest of the code. Atomic units are now used for all quantities on input and output. This means that bands are by default plotted in Hartree (use `unit=u"eV"` to restore old behaviour of plotting in electron volts). Similarly `kline_density` is no longer assumed to be in Ångström, but in Bohr. The new interfaces of these functions is `compute_bands(basis, kcoords; n_bands, ρ, kwargs...)` or `plot_bandstructure(basis; ρ, n_bands, kwargs...)`, i.e. `n_bands` and `ρ` have become non-mandatory keyword arguments. The more high-level interface `plot_bandstructure(scfres; kwargs...)` remains valid. (#536) **Closed issues:** - Forces and stresses (#47) - homogenize kpoint spelling (#326) - Debug incompatibility with JLD2 beyond 0.4.7 for MPI-parallel `save_scfres` (#444) - Segfault in 1.7 (#480) - Replace pymatgen by Brillouin.jl (#483) - Stresses: API and symmetries (#484) - Windows CI started failing (#501) - stresses without unfold_bz (#506) - Potential Issue with Stresses and Number of Bands (#512) - Applicability of Stresses in Metalic Systems: Comparing Si to Fe (#527) **Merged pull requests:** - Try to lift JLD2 restrictions (#455) (@mfherbst) - Replace pymatgen by Brillouin.jl #483 (#496) (@harrisonlabollita) - Move from Gitter to the JuliaMolSim slack (#507) (@mfherbst) - Make LDOS mixing the default (#509) (@mfherbst) - Use more convenient MPI.Init from MPI 0.19 (#510) (@github-actions[bot]) - Implement stresses without unfold_bz (#511) (@jaemolihm) - Fix stresses for very small occupations (#513) (@antoine-levitt) - Fix and reword symmetries documentation section. (#516) (@mfherbst) - Remove deprecated PlaneWaveBasis constructor (#517) (@mfherbst) - [WIP] Forwarddiff dipole moment example (#520) (@niklasschmitz) - Fix more edge cases when computing the number of occupied bands (#521) (@mfherbst) - Improve basis mapping (#522) (@mfherbst) - Implement kgrid_from_minimal_kpoints (#523) (@mfherbst) - Improved printing with `Base.show` (#524) (@mfherbst) - Some docs explaining periodic problems (#525) (@mfherbst) - Add test for self-adjointness of solve_ΩplusK (#528) (@niklasschmitz) - homogenize k-points in docs and comments (#531) (@thazhemadam) - A collection of various small fixes (#532) (@mfherbst) - Remove reference to pymatgen as dependency (#534) (@mfherbst) - CompatHelper: bump compat for Spglib to 0.5, (keep existing compat) (#535) (@github-actions[bot]) - Refactor plot_bandstructure interface (#536) (@mfherbst)
-
v0.3.1074e08845 · ·
[Diff since v0.3.9](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.3.9...v0.3.10) **Merged pull requests:** - Stresses API (#487) (@antoine-levitt) - Improve _apply_plan type stability (#494) (@niklasschmitz) - Small updates to the documentation (#497) (@mfherbst) - Simplify defining custom elements (#498) (@mfherbst) - Add some missing fallbacks for interval arithmetic (#499) (@mfherbst) - Separate fft normalizations from plans (#500) (@antoine-levitt) - Add Juliacon workshop to DFT materials in the documentation. (#502) (@mfherbst) - Adapt potential mixing heuristics for very large model errors (#505) (@mfherbst)
-
v0.3.951209308 · ·
[Diff since v0.3.8](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.3.8...v0.3.9) **Merged pull requests:** - Support band structures for 1D systems (#492) (@mfherbst) - Search for more symmetries in larger systems (#493) (@mfherbst)
-
v0.3.8fb740849 · ·
[Diff since v0.3.7](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.3.7...v0.3.8) **Closed issues:** - Implement conversions between grids (#43) - [WIP] Autodiff stresses (#443) - Bug Using Charged systems (#485) **Merged pull requests:** - Hellmann-Feynman stresses via ForwardDiff and custom rules (#476) (@niklasschmitz) - Avoid mutation in ρ_from_total_and_spin (#482) (@antoine-levitt) - Pwbasis refactor (#486) (@antoine-levitt) - Extend ForwardDiff fallback for SVector norm to handle multiple partials (#488) (@niklasschmitz) - Allow passing Ecut as a keyword argument (#489) (@mfherbst) - Simplify loading logic for ForwardDiff workarounds (#490) (@mfherbst)
-
v0.3.71261e061 · ·
[Diff since v0.3.6](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.3.6...v0.3.7) **Merged pull requests:** - Ω+K, split version (#477) (@antoine-levitt) - Psp sanity check for lower dimensionality (#478) (@mfherbst) - Fix documentation generation (#479) (@mfherbst)
-
v0.3.648b856bf · ·
[Diff since v0.3.5](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.3.5...v0.3.6) **Closed issues:** - Test real/fourier consistency of local/nonlocal potentials (#141) - Adding options for setting the charge and mass of the electrons (#380) - New folder for research codes? (#381) **Merged pull requests:** - Solve_Ω at finite temperature, use it for χ0 (#468) (@antoine-levitt) - Remove occupation_function (#471) (@antoine-levitt) - Remove obsolete warning for forces (#472) (@antoine-levitt) - Overhaul pack/unpack routines to not assume that psi are fully occupied (#473) (@antoine-levitt) - Centralize spin asserts, error on :full (#474) (@antoine-levitt) - Final round of parameter tuning for potential mixing (#475) (@mfherbst)
-
v0.3.5cb32848d · ·
[Diff since v0.3.4](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.3.4...v0.3.5) **Closed issues:** - Fix and document conventions for response-like computations (#460) **Merged pull requests:** - newton algorithm (#433) (@gkemlin) - Workaround reorganization (#463) (@antoine-levitt) - A few more tweaks for potential mixing (#464) (@mfherbst) - Fermi-Dirac stability improvement (#465) (@antoine-levitt) - Remove starring (#469) (@mfherbst) - Remove code switching Accelerator off (#470) (@mfherbst)
-
v0.3.494cada6d · ·
[Diff since v0.3.3](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.3.3...v0.3.4) **Merged pull requests:** - interpolation from a basis to a smaller basis (#447) (@gkemlin) - Potential mixing (#450) (@mfherbst) - Remove BlockArrays workaround (#458) (@antoine-levitt) - Small minor fixes in docs and dependencies (#462) (@mfherbst)
-
v0.3.304765638 · ·
[Diff since v0.3.2](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.3.2...v0.3.3) **Closed issues:** - Use ETSF nanoquanta file structure for silicon_runners.jl (#26) - Thoughts on a New Package (#373) - Comparison of DFTK vs QE for magnetic PrNiO3 (#434) - Binder tutorial issue (#448) - Timing regression due to #442 (#452) **Merged pull requests:** - Workround for timing regression (#457) (@mfherbst)
-
v0.3.203575726 · ·
[Diff since v0.3.1](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.3.1...v0.3.2) **Closed issues:** - How to verify a PlaneWaveBasis has been updated? (#445) **Merged pull requests:** - Fix binder setup (#449) (@mfherbst) - Prioritise DFTK-related packages in Binder Manifest (#451) (@mfherbst) - Performance workaround for BlockArrays (#453) (@antoine-levitt) - Undo performance workaround for newer version of BlockArrays (#454) (@github-actions[bot])
-
v0.3.1876f9566 · ·
[Diff since v0.3.0](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.3.0...v0.3.1) **Closed issues:** - Proper type stability (#60) - Decide on r_to_G vs from_fourier().real (#311) - Rethink RealFourierArray (#313) - Data structure for `ρ` and `ρspin` (#320) - Use of Measurements.jl in DFTK (#417) - Magnetism warning (#438) - Optimize linear algebra in LOBPCG (#441) **Merged pull requests:** - Bail out in density guess if magnetisation is too large (#439) (@mfherbst) - Non-allocating dot in kinetic (#440) (@antoine-levitt) - Use BlockArrays in LOBPCG (#442) (@antoine-levitt)
-
v0.3.0d6c228f7 · ·
[Diff since v0.2.8](https://github.com/JuliaMolSim/DFTK.jl/compare/v0.2.8...v0.3.0) **Closed issues:** - Remove using GenericLinearAlgebra warning when GenericLinearAlgebra is already defined (#429) - Documentation for spin not up to date (#436) **Merged pull requests:** - Remove RealFourierArray and refactor internal density datastructures (#413) (@antoine-levitt) - Refactor damping out of mixing datastructures (#426) (@mfherbst) - Remove remaining from_fourier (#427) (@gkemlin) - Remove using GenericLinearAlgebra warning when GenericLinearAlgebra is already defined (#430) (@mfherbst) - CompatHelper: bump compat for "MPI" to "0.18" (#432) (@github-actions[bot]) - Add RWTH Aachen funding (#435) (@mfherbst) - Extra forces test for magnetic ground state (#437) (@mfherbst)