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
 
  146    assert(f_in%status() == f_out%status())
 
  148    select case (f_in%status())
 
  154        do ii = 1, f_in%nst_linear
 
  157            f_out%dff_linear(ip, ii) = gr%x(ip, this%dir)*f_in%dff_linear(ip, ii)
 
  163        do ii = 1, f_in%nst_linear
 
  166            f_out%zff_linear(ip, ii) = gr%x(ip, this%dir)*f_in%zff_linear(ip, ii)
 
  178          do ii = 1, f_in%nst_linear
 
  179            f_out%dff_pack(ii, ip) = gr%x(ip, this%dir)*f_in%dff_pack(ii, ip)
 
  187          do ii = 1, f_in%nst_linear
 
  188            f_out%zff_pack(ii, ip) = gr%x(ip, this%dir)*f_in%zff_pack(ii, ip)
 
  206#include "perturbation_electric_inc.F90" 
  209#include "complex.F90" 
  210#include "perturbation_electric_inc.F90" 
This module implements batches of mesh functions.
 
integer, parameter, public batch_not_packed
functions are stored in CPU memory, unpacked order
 
integer, parameter, public batch_device_packed
functions are stored in device memory in packed order
 
integer, parameter, public batch_packed
functions are stored in CPU memory, in transposed (packed) order
 
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 messages_not_implemented(feature, namespace)
 
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.
 
type(type_t), public type_float