Octopus
exponential.F90 File Reference

Go to the source code of this file.

Modules

module  exponential_oct_m
 

Data Types

type  exponential_oct_m::exponential_t
 
type  exponential_oct_m::operator_t
 
interface  exponential_oct_m::operator_apply
 
interface  exponential_oct_m::hamiltonian_operator_t
 

Functions/Subroutines

subroutine, public exponential_oct_m::exponential_init (te, namespace, full_batch)
 
subroutine, public exponential_oct_m::exponential_copy (teo, tei)
 
subroutine exponential_oct_m::exponential_apply_single (te, namespace, mesh, hm, zpsi, ist, ik, deltat, imag_time)
 Wrapper to batchified routine for applying exponential to an array. More...
 
subroutine exponential_oct_m::exponential_apply_batch (te, namespace, mesh, hm, psib, deltat, psib2, deltat2, imag_time, inh_psib, op)
 This routine performs the operation: More...
 
subroutine exponential_oct_m::exponential_taylor_series_batch (te, namespace, mesh, hm, psib, deltat, op, psib2, deltat2, inh_psib, phik_shift)
 
subroutine exponential_oct_m::exponential_lanczos_batch (te, namespace, mesh, hm, psib, deltat, op, inh_psib)
 
subroutine, public exponential_oct_m::exponential_lanczos_function_batch (te, namespace, mesh, hm, psib, deltat, fun, op)
 Compute fun(H) psib, i.e. the application of a function of the Hamiltonian to a batch. More...
 
subroutine exponential_oct_m::exponential_cheby_batch (te, namespace, mesh, hm, psib, chebyshev_function, op)
 Calculates the exponential of the Hamiltonian through an expansion in Chebyshev polynomials. More...
 
subroutine, public exponential_oct_m::exponential_apply_all (te, namespace, gr, hm, st, deltat, order)
 Note that this routine not only computes the exponential, but also an extra term if there is a inhomogeneous term in the Hamiltonian hm. More...
 
subroutine exponential_oct_m::exponential_apply_phi_batch (te, namespace, mesh, hm, psib, deltat, k, op)
 
type(hamiltonian_operator_t) function, pointer exponential_oct_m::hamiltonian_operator_constructor (namespace, mesh, hm)
 
subroutine exponential_oct_m::hamiltonian_operator_init (this, namespace, mesh, hm)
 
subroutine exponential_oct_m::hamiltonian_operator_apply (this, psib, hpsib)
 

Variables

integer, parameter, public exponential_oct_m::exp_lanczos = 2
 
integer, parameter, public exponential_oct_m::exp_taylor = 3
 
integer, parameter, public exponential_oct_m::exp_chebyshev = 4