62 integer,
public,
parameter :: &
69 type(ions_t),
pointer :: ions => null()
72 generic ::
assignment(=) => copy_to
82 procedure perturbation_magnetic_constructor
93 class(perturbation_magnetic_t),
pointer :: pert
94 type(namespace_t),
intent(in) :: namespace
95 type(ions_t),
target,
intent(in) :: ions
109 type(perturbation_magnetic_t),
intent(out) :: this
110 type(namespace_t),
intent(in) :: namespace
111 type(ions_t),
target,
intent(in) :: ions
135 call parse_variable(namespace,
'MagneticGaugeCorrection', gauge_gipaw, this%gauge)
145 type(perturbation_magnetic_t),
intent(inout) :: this
154 class(perturbation_magnetic_t),
intent(out) :: this
160 this%ions => source%ions
162 this%gauge = source%gauge
179#include "perturbation_magnetic_inc.F90"
182#include "complex.F90"
183#include "perturbation_magnetic_inc.F90"
This module implements batches of mesh functions.
This module implements common operations on batches of mesh functions.
Module implementing boundary conditions in Octopus.
This module calculates the derivatives (gradients, Laplacians, etc.) of a function.
This module implements the underlying real-space grid.
This module is intended to contain "only mathematical" functions and procedures.
This module defines functions over batches of mesh functions.
This module defines various routines, operating on mesh functions.
This module defines the meshes, which are used in Octopus.
subroutine, public messages_input_error(namespace, var, details, row, column)
subroutine zperturbation_magnetic_apply(this, namespace, space, gr, hm, ik, f_in, f_out, set_bc)
Returns f_out = H' f_in, where H' is perturbation Hamiltonian Note that e^ikr phase is applied to f_i...
class(perturbation_magnetic_t) function, pointer perturbation_magnetic_constructor(namespace, ions)
The factory routine (or constructor) allocates a pointer of the corresponding type and then calls the...
subroutine zperturbation_magnetic_apply_order_2(this, namespace, space, gr, hm, ik, f_in, f_out)
subroutine dperturbation_magnetic_apply(this, namespace, space, gr, hm, ik, f_in, f_out, set_bc)
Returns f_out = H' f_in, where H' is perturbation Hamiltonian Note that e^ikr phase is applied to f_i...
integer, parameter, public gauge_icl
subroutine dperturbation_magnetic_apply_order_2(this, namespace, space, gr, hm, ik, f_in, f_out)
subroutine perturbation_magnetic_copy(this, source)
subroutine perturbation_magnetic_finalize(this)
subroutine perturbation_magnetic_init(this, namespace, ions)
subroutine perturbation_magnetic_info(this)
subroutine, public perturbation_copy(this, source)
This module handles spin dimensions of the states and the k-point distribution.