61 integer,
public,
parameter :: &
68 type(ions_t),
pointer :: ions => null()
71 generic ::
assignment(=) => copy_to
81 procedure perturbation_magnetic_constructor
92 class(perturbation_magnetic_t),
pointer :: pert
93 type(namespace_t),
intent(in) :: namespace
94 type(ions_t),
target,
intent(in) :: ions
108 type(perturbation_magnetic_t),
intent(out) :: this
109 type(namespace_t),
intent(in) :: namespace
110 type(ions_t),
target,
intent(in) :: ions
134 call parse_variable(namespace,
'MagneticGaugeCorrection', gauge_gipaw, this%gauge)
144 type(perturbation_magnetic_t),
intent(inout) :: this
153 class(perturbation_magnetic_t),
intent(out) :: this
154 class(perturbation_magnetic_t),
intent(in) :: source
159 this%ions => source%ions
161 this%gauge = source%gauge
178#include "perturbation_magnetic_inc.F90"
181#include "complex.F90"
182#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.
A module to handle KS potential, without the external potential.
This module is intended to contain "only mathematical" functions and procedures.
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.