Octopus
poisson.F90 File Reference

Go to the source code of this file.

Modules

module  poisson_oct_m
 

Data Types

type  poisson_oct_m::poisson_t
 

Functions/Subroutines

subroutine, public poisson_oct_m::poisson_init (this, namespace, space, der, mc, stencil, qtot, label, solver, verbose, force_serial, force_cmplx, fft_batch_size)
 
subroutine, public poisson_oct_m::poisson_end (this)
 
subroutine poisson_oct_m::zpoisson_solve_real_and_imag_separately (this, namespace, pot, rho, all_nodes, kernel)
 
subroutine poisson_oct_m::zpoisson_solve_real_and_imag_separately_batch (this, namespace, pot, rho, kernel)
 Batched analogue of zpoisson_solve_real_and_imag_separately. More...
 
subroutine poisson_oct_m::zpoisson_solve_real_and_imag_separately_accel (this, namespace, pot_buffer, rho_buffer, kernel, count)
 Device variant of zpoisson_solve_real_and_imag_separately. More...
 
subroutine, public poisson_oct_m::zpoisson_solve (this, namespace, pot, rho, all_nodes, kernel, reset)
 
subroutine, public poisson_oct_m::poisson_solve_batch (this, namespace, potb, rhob, all_nodes, kernel)
 
logical function poisson_oct_m::poisson_is_batch_capable (this)
 Whether this solver can transform a whole batch of functions in one call. More...
 
logical function, public poisson_oct_m::poisson_is_device_batch_capable (this)
 Whether a batch can be solved with the densities and potentials kept on the device. More...
 
subroutine, public poisson_oct_m::dpoisson_solve (this, namespace, pot, rho, all_nodes, kernel, reset)
 Calculates the Poisson equation. Given the density returns the corresponding potential. More...
 
subroutine, public poisson_oct_m::poisson_init_sm (this, namespace, space, main, der, sm, grp, method, force_cmplx)
 
logical pure function poisson_oct_m::poisson_solver_is_iterative (this)
 
subroutine, public poisson_oct_m::poisson_async_init (this, mc)
 
subroutine, public poisson_oct_m::poisson_async_end (this, mc)
 
subroutine, public poisson_oct_m::poisson_slave_work (this, namespace)
 
logical pure function, public poisson_oct_m::poisson_is_async (this)
 
subroutine, public poisson_oct_m::poisson_build_kernel (this, namespace, space, coulb, qq, cam, singul)
 
real(real64) function, public poisson_oct_m::poisson_get_full_range_weight (this, cam)
 Most Poisson solvers do not implement Coulomb attenuated potentials, and can only be used for global hybrids like PBE0. For these ones, this routine returns the weight of the full-range hybrids. More...
 
subroutine poisson_oct_m::poisson_kernel_init (this, namespace, space, mc, stencil)
 
subroutine poisson_oct_m::poisson_solve_direct (this, namespace, pot, rho)
 
subroutine poisson_oct_m::dpoisson_solve_direct_sm (this, namespace, sm, pot, rho)
 
subroutine poisson_oct_m::zpoisson_solve_direct_sm (this, namespace, sm, pot, rho)
 
subroutine, public poisson_oct_m::dpoisson_solve_start (this, rho)
 
subroutine, public poisson_oct_m::dpoisson_solve_finish (this, pot)
 
subroutine, public poisson_oct_m::dpoisson_solve_sm (this, namespace, sm, pot, rho, all_nodes)
 Calculates the Poisson equation. Given the density returns the corresponding potential. More...
 
subroutine, public poisson_oct_m::dpoisson_solve_batch (this, namespace, pot, rho, kernel, all_nodes, pot_buffer, rho_buffer, count)
 Solves the Poisson equation for batched quantities, using fast Fourier transforms (FFTs). More...
 
subroutine, public poisson_oct_m::zpoisson_solve_start (this, rho)
 
subroutine, public poisson_oct_m::zpoisson_solve_finish (this, pot)
 
subroutine, public poisson_oct_m::zpoisson_solve_sm (this, namespace, sm, pot, rho, all_nodes)
 Calculates the Poisson equation. Given the density returns the corresponding potential. More...
 
subroutine, public poisson_oct_m::zpoisson_solve_batch (this, namespace, pot, rho, kernel, all_nodes, pot_buffer, rho_buffer, count)
 Solves the Poisson equation for batched quantities, using fast Fourier transforms (FFTs). More...
 

Variables

integer, parameter, public poisson_oct_m::poisson_direct_sum = -1
 
integer, parameter, public poisson_oct_m::poisson_fft = 0
 
integer, parameter, public poisson_oct_m::poisson_cg = 5
 
integer, parameter, public poisson_oct_m::poisson_cg_corrected = 6
 
integer, parameter, public poisson_oct_m::poisson_multigrid = 7
 
integer, parameter, public poisson_oct_m::poisson_isf = 8
 
integer, parameter, public poisson_oct_m::poisson_psolver = 10
 
integer, parameter, public poisson_oct_m::poisson_no = -99
 
integer, parameter, public poisson_oct_m::poisson_null = -999
 
integer, parameter poisson_oct_m::cmd_finish = 1
 
integer, parameter poisson_oct_m::cmd_poisson_solve = 2