lp:~nickpapior/siesta/trunk-k-file
- Get this branch:
- bzr branch lp:~nickpapior/siesta/trunk-k-file
Branch merges
- Alberto Garcia: Approve
-
Diff: 9670 lines (+3312/-2590)49 files modifiedDocs/siesta.tex (+107/-48)
RELEASE_NOTES (+2/-0)
Src/Makefile (+62/-57)
Src/compute_dm.F (+8/-5)
Src/cranknic_evolk.F90 (+9/-9)
Src/final_H_f_stress.F (+7/-7)
Src/kpoint_grid.F90 (+0/-228)
Src/kpoint_pdos.F90 (+51/-209)
Src/kpoint_scf.F90 (+53/-0)
Src/kpoint_t.F90 (+598/-0)
Src/local_DOS.F (+3/-2)
Src/m_initwf.F90 (+16/-16)
Src/m_ncdf_siesta.F90 (+6/-6)
Src/m_transiesta.F90 (+7/-7)
Src/m_ts_fullk.F90 (+4/-4)
Src/m_ts_kpoints.F90 (+0/-323)
Src/m_ts_mumpsk.F90 (+4/-4)
Src/m_ts_trik.F90 (+8/-8)
Src/post_scf_work.F (+5/-3)
Src/projected_DOS.F (+18/-31)
Src/sankey_change_basis.F90 (+236/-236)
Src/siesta_analysis.F (+10/-8)
Src/siesta_dicts.F90 (+3/-3)
Src/siesta_forces.F90 (+1/-1)
Src/siesta_init.F (+13/-12)
Src/siesta_tddft.F90 (+6/-6)
Src/state_init.F (+18/-10)
Src/ts_init.F90 (+8/-8)
Src/ts_kpoint_scf.F90 (+89/-0)
Src/wavefunctions.F90 (+333/-333)
Src/writewave.F (+2/-2)
Tests/Reference/si_coop_kp_file.out (+483/-0)
Tests/si_coop_kp_file/makefile (+7/-0)
Tests/si_coop_kp_file/si_coop_kp_file.KP.input (+6/-0)
Tests/si_coop_kp_file/si_coop_kp_file.fdf (+41/-0)
Tests/si_coop_kp_file/si_coop_kp_file.pseudos (+1/-0)
Util/COOP/Makefile (+106/-98)
Util/Denchar/Src/Makefile (+67/-62)
Util/Gen-basis/Makefile (+106/-98)
Util/Grimme/Makefile (+106/-98)
Util/Helpers/Makefile (+106/-98)
Util/STM/ol-stm/Src/Makefile (+106/-98)
Util/SpPivot/Makefile (+106/-98)
Util/TS/TBtrans/Makefile (+60/-56)
Util/TS/ts2ts/Makefile (+106/-98)
Util/TS/tshs2tshs/Makefile (+106/-98)
Util/VCA/Makefile (+106/-98)
Util/build_all.sh (+5/-3)
version.info (+1/-1)
Branch information
Recent revisions
- 702. By Nick Papior
-
Fixed Alberto's suggestions (except point #2).
Amended documentation for the kgrid.File format.
- 698. By Nick Papior
-
Restructured k-point sampling
Now k-points may be user-supplied for further finetuning.
This may be extremely useful in various situations:
1) Detailed analysis on PDOS for spin-orbit calculations
2) Faster convergence with fewer k-points
3) Improved convergence for bias calculations by adding zoom-in
k-points in the bias-window.
4) And others.Now the kpoints are associated with a type:
kpoint_t
this will allow one to read k-points using kgrid.File flag.
The precedence is much like the older implementation:1) kgrid.MonkhorstPack
2) kgrid.Cutoff
3) kgrid.Filein that order. If none are specified, then the Gamma-point will be used.
This meant that several places the code needed updating.
- Projected DOS k-points
- TranSiesta k-points
- SCF k-pointsNow all references to the kpoint_grid module is using kpoint_scf_m module
which uses the type.
This not only reduces lots of duplicated code, but it also allows
one implementation to benefit across all code segments.Also added a test that reads in the k-points from a file (si_coop_kp_file).
- 693. By Ramon Cuadrado
-
Merge the 'offsite spin-orbit' implementation by Ramon Cuadrado.
Reference:
R. Cuadrado and J. I. Cerda,
"Fully relativistic pseudopotential formalism under an atomic orbital
basis: spin–orbit splittings and magnetic anisotropies",
J. Phys.: Condens. Matter 24, 086005, (2012)
(DOI:10.1088/0953- 8984/24/ 8/086005) The new 'offsite' implementation is now the default when
Spin { SO, SOC, S+O }
SpinOrbit T (deprecated)is specified in the input fdf file. To request the 'onsite' approximation,
useSpin { SO+onsite, SOC+onsite, S+O+onsite}
In this 'offsite' implementation the introduction of a fully
relativistic Hamiltonian is done by using fully non-local operators
for the pseudopotentials. In this way it is possible to avoid the
'onsite' approximation needed to reduce the computational effort
required when explicitly computing the LS term.The construction of a fully relativistic Hamiltonian involves the use
of a full set of lj KB projectors. These are constructed by new code
in 'atom', and processed in the new routine 'nlefsm_SO_off', which has
roughly the same structure as 'nlefsm', but constructs at the same
time the 'ion' and 'SO' pieces from the relativistic projectors.This routine calls 'calc_Vj_
offsiteSO' , where VSO and Vion and the
corresponding forces are computed using the Clebsch–Gordan
coefficients needed to change from the basis |l,m,sigma> to |j,mj>.The conventions for structure and signs in H and the DM are the same
as in the existing 'onsite' implementation, so there are no changes in
the diagonalization routines, or in the analysis routines and tools.Eventually, the 'offsite' qualifier might be removed, as this is a
full spin-orbit implementation which involves a similar computational
effort using less drastic approximations.Note that this merge focuses on the core electronic-
structure
functionality of full spin-orbit coupling, and does not provide any
spin-orbit enhancements to the analysis tools.
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:siesta