![]() |
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 167 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 272 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 285 of file magnetic_constrain.F90.
integer, parameter, public magnetic_constrain_oct_m::constrain_none = 0 |
Definition at line 142 of file magnetic_constrain.F90.
integer, parameter, public magnetic_constrain_oct_m::constrain_dir = 1 |
Definition at line 142 of file magnetic_constrain.F90.
integer, parameter, public magnetic_constrain_oct_m::constrain_full = 2 |
Definition at line 142 of file magnetic_constrain.F90.
|
private |
Definition at line 161 of file magnetic_constrain.F90.