63 integer,
public,
parameter :: &
70 type(ions_t),
pointer :: ions => null()
73 generic ::
assignment(=) => copy_to
83 procedure perturbation_magnetic_constructor
94 class(perturbation_magnetic_t),
pointer :: pert
95 type(namespace_t),
intent(in) :: namespace
96 type(ions_t),
target,
intent(in) :: ions
110 type(perturbation_magnetic_t),
intent(out) :: this
111 type(namespace_t),
intent(in) :: namespace
112 type(ions_t),
target,
intent(in) :: ions
136 call parse_variable(namespace,
'MagneticGaugeCorrection', gauge_gipaw, this%gauge)
146 type(perturbation_magnetic_t),
intent(inout) :: this
155 class(perturbation_magnetic_t),
intent(out) :: this
161 this%ions => source%ions
163 this%gauge = source%gauge
180#include "perturbation_magnetic_inc.F90"
183#include "complex.F90"
184#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 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.