52 generic ::
assignment(=) => copy
63 procedure perturbation_electric_constructor
74 class(perturbation_electric_t),
pointer :: pert
75 type(namespace_t),
intent(in) :: namespace
88 type(perturbation_electric_t),
intent(out) :: this
89 type(namespace_t),
intent(in) :: namespace
101 type(perturbation_electric_t),
intent(inout) :: this
110 class(perturbation_electric_t),
intent(out) :: this
111 class(perturbation_electric_t),
intent(in) :: source
123 class(perturbation_electric_t),
intent(in) :: this
132 class(perturbation_electric_t),
intent(in) :: this
133 type(namespace_t),
intent(in) :: namespace
134 class(space_t),
intent(in) :: space
135 type(grid_t),
intent(in) :: gr
136 type(hamiltonian_elec_t),
intent(in) :: hm
137 type(wfs_elec_t),
intent(in) :: f_in
138 type(wfs_elec_t),
intent(inout) :: f_out
144 assert(f_in%status() == f_out%status())
154#include "perturbation_electric_inc.F90"
157#include "complex.F90"
158#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.