![]() |
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_copy (this_out, this_in) |
| Deep-copy magnetic constrain data. 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 170 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 275 of file magnetic_constrain.F90.
| subroutine, public magnetic_constrain_oct_m::magnetic_constrain_copy | ( | type(magnetic_constrain_t), intent(out) | this_out, |
| type(magnetic_constrain_t), intent(in) | this_in | ||
| ) |
Deep-copy magnetic constrain data.
Definition at line 288 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 324 of file magnetic_constrain.F90.
| integer, parameter, public magnetic_constrain_oct_m::constrain_none = 0 |
Definition at line 145 of file magnetic_constrain.F90.
| integer, parameter, public magnetic_constrain_oct_m::constrain_dir = 1 |
Definition at line 145 of file magnetic_constrain.F90.
| integer, parameter, public magnetic_constrain_oct_m::constrain_full = 2 |
Definition at line 145 of file magnetic_constrain.F90.
|
private |
Definition at line 164 of file magnetic_constrain.F90.