40    real(real64) :: spectral_middle_point
 
   41    real(real64) :: spectral_half_span
 
   44    procedure(is_hermitian),              
deferred :: is_hermitian
 
   45    procedure(hamiltonian_update_span),   
deferred :: update_span
 
   46    procedure(dhamiltonian_apply),        
deferred :: dapply
 
   47    procedure(zhamiltonian_apply),        
deferred :: zapply
 
   48    procedure(dhamiltonian_magnus_apply), 
deferred :: dmagnus_apply
 
   49    procedure(zhamiltonian_magnus_apply), 
deferred :: zmagnus_apply
 
   55      class(hamiltonian_abst_t), 
intent(in) :: hm
 
   60      class(hamiltonian_abst_t), 
intent(inout) :: hm
 
   61      real(real64),              
intent(in)    :: delta(:)
 
   62      real(real64),              
intent(in)    :: emin
 
   63      type(namespace_t),         
intent(in)    :: namespace
 
   68      class(hamiltonian_abst_t),   
intent(in)    :: hm
 
   69      type(namespace_t),           
intent(in)    :: namespace
 
   70      class(mesh_t),               
intent(in)    :: mesh
 
   71      class(batch_t),      
target, 
intent(inout) :: psib
 
   72      class(batch_t),      
target, 
intent(inout) :: hpsib
 
   73      integer,           
optional, 
intent(in)    :: terms
 
   74      logical,           
optional, 
intent(in)    :: set_bc
 
   79      class(hamiltonian_abst_t),   
intent(in)    :: hm
 
   80      type(namespace_t),           
intent(in)    :: namespace
 
   81      class(mesh_t),               
intent(in)    :: mesh
 
   82      class(batch_t),      
target, 
intent(inout) :: psib
 
   83      class(batch_t),      
target, 
intent(inout) :: hpsib
 
   84      integer,           
optional, 
intent(in)    :: terms
 
   85      logical,           
optional, 
intent(in)    :: set_bc
 
   90      class(hamiltonian_abst_t),   
intent(in)    :: hm
 
   91      type(namespace_t),           
intent(in)    :: namespace
 
   92      class(mesh_t),               
intent(in)    :: mesh
 
   93      class(batch_t),              
intent(inout) :: psib
 
   94      class(batch_t),              
intent(inout) :: hpsib
 
   95      real(real64),                
intent(in)    :: vmagnus(:, :, :)
 
  100      class(hamiltonian_abst_t),   
intent(in)    :: hm
 
  101      type(namespace_t),           
intent(in)    :: namespace
 
  102      class(mesh_t),               
intent(in)    :: mesh
 
  103      class(batch_t),              
intent(inout) :: psib
 
  104      class(batch_t),              
intent(inout) :: hpsib
 
  105      real(real64),                
intent(in)    :: vmagnus(:, :, :)
 
This module implements batches of mesh functions.
 
This module defines an abstract class for Hamiltonians.
 
This module defines the meshes, which are used in Octopus.
 
The abstract Hamiltonian class defines a skeleton for specific implementations.