Octopus
|
Data Types | |
type | poisson_psolver_t |
Functions/Subroutines | |
subroutine, public | poisson_psolver_init (this, namespace, space, cube, mu, qq, force_isolated) |
subroutine, public | poisson_psolver_end (this) |
subroutine, public | poisson_psolver_reinit (this, space, cube, coulb, qq_in) |
subroutine, public | poisson_psolver_parallel_solve (this, mesh, cube, pot, rho, mesh_cube_map) |
subroutine, public | poisson_psolver_global_solve (this, mesh, cube, pot, rho, sm) |
subroutine, public | poisson_psolver_get_dims (this, cube) |
Variables | |
logical, save | flib_initialized = .false. |
real(real64), parameter | tol_vanishing_q = 1e-6_real64 |
subroutine, public poisson_psolver_oct_m::poisson_psolver_init | ( | type(poisson_psolver_t), intent(out) | this, |
type(namespace_t), intent(in) | namespace, | ||
class(space_t), intent(in) | space, | ||
type(cube_t), intent(inout) | cube, | ||
real(real64), intent(in) | mu, | ||
real(real64), dimension(:), intent(in) | qq, | ||
logical, intent(in), optional | force_isolated | ||
) |
Definition at line 199 of file poisson_psolver.F90.
subroutine, public poisson_psolver_oct_m::poisson_psolver_end | ( | type(poisson_psolver_t), intent(inout) | this | ) |
Definition at line 343 of file poisson_psolver.F90.
subroutine, public poisson_psolver_oct_m::poisson_psolver_reinit | ( | type(poisson_psolver_t), intent(inout) | this, |
class(space_t), intent(in) | space, | ||
type(cube_t), intent(inout) | cube, | ||
type(fourier_space_op_t), intent(inout) | coulb, | ||
real(real64), dimension(:), intent(in) | qq_in | ||
) |
Definition at line 358 of file poisson_psolver.F90.
subroutine, public poisson_psolver_oct_m::poisson_psolver_parallel_solve | ( | type(poisson_psolver_t), intent(in), target | this, |
type(mesh_t), intent(in) | mesh, | ||
type(cube_t), intent(in) | cube, | ||
real(real64), dimension(:), intent(out) | pot, | ||
real(real64), dimension(:), intent(in) | rho, | ||
type(mesh_cube_parallel_map_t), intent(in) | mesh_cube_map | ||
) |
pot_ion: additional external potential that is added to the output when the XC parameter ixc/=0 and sumpion=.true. When sumpion=.true., it is always provided in the distributed form, clearly without the overlapping terms which are needed only for the XC part
Definition at line 434 of file poisson_psolver.F90.
subroutine, public poisson_psolver_oct_m::poisson_psolver_global_solve | ( | type(poisson_psolver_t), intent(in), target | this, |
type(mesh_t), intent(in) | mesh, | ||
type(cube_t), intent(in) | cube, | ||
real(real64), dimension(:), intent(out), contiguous | pot, | ||
real(real64), dimension(:), intent(in), contiguous | rho, | ||
type(submesh_t), intent(in), optional | sm | ||
) |
[in] | sm | If present pot and rho are assumed to come from it |
pot_ion: additional external potential that is added to the output when the XC parameter ixc/=0 and sumpion=.true. When sumpion=.true., it is always provided in the distributed form, clearly without the overlapping terms which are needed only for the XC part
Definition at line 492 of file poisson_psolver.F90.
subroutine, public poisson_psolver_oct_m::poisson_psolver_get_dims | ( | type(poisson_psolver_t), intent(inout) | this, |
type(cube_t), intent(inout) | cube | ||
) |
ixc eXchange-Correlation code. Indicates the XC functional to be used for calculating XC energies and potential. ixc=0 indicates that no XC terms are computed. The XC functional codes follow the ABINIT convention. n3d third dimension of the density. For distributed data, it takes into account the enlarging needed for calculating the XC functionals. For global data it is simply equal to n03. When there are too many processes and there is no room for the density n3d=0
n3p third dimension for the potential. The same as n3d, but without taking into account the enlargment for the XC part. For non-GGA XC, n3p=n3d.
n3pi Dimension of the pot_ion array, always with distributed data. For distributed data n3pi=n3p
i3xcsh Shift of the density that must be performed to enter in the non-overlapping region. Useful for recovering the values of the potential when using GGA XC functionals. If the density starts from rhopot(1,1,1), the potential starts from rhopot(1,1,i3xcsh+1). For non-GGA XCs and for global distribution data i3xcsh=0
i3s Starting point of the density effectively treated by each processor in the third direction. It takes into account also the XC enlarging. The array rhopot will correspond To the planes of third coordinate from i3s to i3s+n3d-1. The potential to the planes from i3s+i3xcsh to i3s+i3xcsh+n3p-1 The array pot_ion to the planes from i3s+i3xcsh to i3s+i3xcsh+n3pi-1 For global disposition i3s is equal to distributed case with i3xcsh=0.
use_gradient: .true. if functional is using the gradient.
use_wb_corr: .true. if functional is using WB corrections.
Definition at line 562 of file poisson_psolver.F90.
|
private |
Definition at line 191 of file poisson_psolver.F90.
|
private |
Definition at line 194 of file poisson_psolver.F90.