51 generic ::
assignment(=) => copy
62 procedure perturbation_electric_constructor
73 class(perturbation_electric_t),
pointer :: pert
74 type(namespace_t),
intent(in) :: namespace
87 type(perturbation_electric_t),
intent(out) :: this
88 type(namespace_t),
intent(in) :: namespace
100 type(perturbation_electric_t),
intent(inout) :: this
109 class(perturbation_electric_t),
intent(out) :: this
110 class(perturbation_electric_t),
intent(in) :: source
122 class(perturbation_electric_t),
intent(in) :: this
131 class(perturbation_electric_t),
intent(in) :: this
132 type(namespace_t),
intent(in) :: namespace
133 class(space_t),
intent(in) :: space
134 type(grid_t),
intent(in) :: gr
135 type(hamiltonian_elec_t),
intent(in) :: hm
136 type(wfs_elec_t),
intent(in) :: f_in
137 type(wfs_elec_t),
intent(inout) :: f_out
143 assert(f_in%status() == f_out%status())
153#include "perturbation_electric_inc.F90"
156#include "complex.F90"
157#include "perturbation_electric_inc.F90"
batchified multiplication by mesh function with optional conjugation:
This module implements batches of mesh functions.
This module implements common operations on batches of mesh functions.
This module implements the underlying real-space grid.
This module defines the meshes, which are used in Octopus.
subroutine, public perturbation_electric_init(this, namespace)
subroutine zperturbation_electric_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...
subroutine perturbation_electric_info(this)
subroutine perturbation_electric_finalize(this)
class(perturbation_electric_t) function, pointer perturbation_electric_constructor(namespace)
The factory routine (or constructor) allocates a pointer of the corresponding type and then calls the...
subroutine zperturbation_electric_apply_order_2(this, namespace, space, gr, hm, ik, f_in, f_out)
subroutine perturbation_electric_copy(this, source)
subroutine perturbation_electric_apply_batch(this, namespace, space, gr, hm, f_in, f_out)
subroutine dperturbation_electric_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...
subroutine dperturbation_electric_apply_order_2(this, namespace, space, gr, hm, ik, f_in, f_out)
subroutine, public perturbation_copy(this, source)
This module handles spin dimensions of the states and the k-point distribution.