![]() |
Octopus
|
This modules implements the routines for doing constrain DFT for noncollinear magnetism. More...
This modules implements the routines for doing constrain DFT for noncollinear magnetism.
This closely follows the VASP implementation, as described in Ma and Dudarev, PRB 91, 054420 (2015).
Data Types | |
type | magnetic_constrain_t |
Datatype containing the magnetic constrain information. More... | |
Functions/Subroutines | |
subroutine, public | magnetic_constrain_init (this, namespace, mesh, std, natoms, min_dist) |
Initilializes the magnetic_constrain_t object. More... | |
subroutine, public | magnetic_constrain_end (this) |
Releases memory of the magnetic constrain. More... | |
subroutine, public | magnetic_constrain_update (this, mesh, std, space, latt, pos, rho) |
Recomputes the magnetic contraining potential. More... | |
Variables | |
integer, parameter, public | constrain_none = 0 |
integer, parameter, public | constrain_dir = 1 |
integer, parameter, public | constrain_full = 2 |
real(real64), parameter | tol_mag_norm = 1.0e-6_real64 |
subroutine, public magnetic_constrain_oct_m::magnetic_constrain_init | ( | type(magnetic_constrain_t), intent(inout) | this, |
type(namespace_t), intent(in) | namespace, | ||
class(mesh_t), intent(in) | mesh, | ||
type(states_elec_dim_t), intent(in) | std, | ||
integer, intent(in) | natoms, | ||
real(real64), intent(in) | min_dist | ||
) |
Initilializes the magnetic_constrain_t object.
Definition at line 169 of file magnetic_constrain.F90.
subroutine, public magnetic_constrain_oct_m::magnetic_constrain_end | ( | type(magnetic_constrain_t), intent(inout) | this | ) |
Releases memory of the magnetic constrain.
Definition at line 274 of file magnetic_constrain.F90.
subroutine, public magnetic_constrain_oct_m::magnetic_constrain_update | ( | type(magnetic_constrain_t), intent(inout) | this, |
class(mesh_t), intent(in) | mesh, | ||
type(states_elec_dim_t), intent(in) | std, | ||
class(space_t), intent(in) | space, | ||
type(lattice_vectors_t), intent(in) | latt, | ||
real(real64), dimension(:,:), intent(in) | pos, | ||
real(real64), dimension(:,:), intent(in) | rho | ||
) |
Recomputes the magnetic contraining potential.
Definition at line 287 of file magnetic_constrain.F90.
integer, parameter, public magnetic_constrain_oct_m::constrain_none = 0 |
Definition at line 144 of file magnetic_constrain.F90.
integer, parameter, public magnetic_constrain_oct_m::constrain_dir = 1 |
Definition at line 144 of file magnetic_constrain.F90.
integer, parameter, public magnetic_constrain_oct_m::constrain_full = 2 |
Definition at line 144 of file magnetic_constrain.F90.
|
private |
Definition at line 163 of file magnetic_constrain.F90.