lp:~nickpapior/siesta/trunk-k-file

Created by Nick Papior and last modified
Get this branch:
bzr branch lp:~nickpapior/siesta/trunk-k-file
Only Nick Papior can upload to this branch. If you are Nick Papior please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Nick Papior
Project:
Siesta
Status:
Merged

Recent revisions

702. By Nick Papior

Fixed Alberto's suggestions (except point #2).

Amended documentation for the kgrid.File format.

701. By Nick Papior

Updated Makefiles in Util directories

700. By Nick Papior

Made some memory usages smaller.

699. By Nick Papior

Updated Makefiles in utilities and ensured everything builds

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.File

in 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-points

Now 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).

697. By Alberto Garcia

Merged 4.1, r919: io_close placement

696. By Alberto Garcia

Merged 4.1, r910-918

695. By Nick Papior

Merged r905-909, small fixes here and there, improved print-out for ts

694. By Nick Papior

Merged r903, pivoting fixes, DM in tbtrans and custom energy-points

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,
use

   Spin { 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
This branch contains Public information 
Everyone can see this information.

Subscribers