Documentation for module pw_poisson_types

functions related to the poisson solver on regular grids

source: pw_poisson_types.F
Loading...

public Types:

pw_poisson_type
environment for the poisson solver
pw_poisson_parameter_type
parameters for the poisson solver independet of input_section
greens_fn_type
contains all the informations needed by the fft based poisson solvers

public Subroutines/Functions:

Allocates and sets up the green functions for the fft based poisson solvers
destroys the type (deallocates data)
Initialize the poisson solver You should call this just before calling the work routine pw_poisson_solver Call pw_poisson_release when you have finished
releases the poisson solver
retains the pw_poisson_env

Parameters:

INTEGER
:: analytic0d = 1003
INTEGER
:: analytic1d = 1002
INTEGER
:: analytic2d = 1001
INTEGER
:: do_ewald_ewald = 2
INTEGER
:: do_ewald_none = 1
INTEGER
:: do_ewald_pme = 3
INTEGER
:: do_ewald_spme = 4
INTEGER
:: hockney0d = 1203
INTEGER
:: hockney1d = 1202
INTEGER
:: hockney2d = 1201
INTEGER
:: multipole0d = 1303
INTEGER
:: multipole1d = 1302
INTEGER
:: multipole2d = 1301
INTEGER
:: periodic3d = 1000
INTEGER
:: ps_implicit = 1400
INTEGER
:: pw_poisson_analytic = 2
INTEGER
:: pw_poisson_hockney = 5
INTEGER
:: pw_poisson_implicit = 7
INTEGER
:: pw_poisson_mt = 3
INTEGER
:: pw_poisson_multipole = 4
INTEGER
:: pw_poisson_none = 0
INTEGER
:: pw_poisson_periodic = 1
INTEGER
:: pw_poisson_wavelet = 6

public Types:

TYPE :: greens_fn_type

contains all the informations needed by the fft based poisson solvers


INTEGER
:: method ...
INTEGER
:: special_dimension ...
INTEGER
:: id_nr ...
INTEGER
:: ref_count ...
REAL(dp)
:: radius ...
REAL(dp)
:: mt_alpha ...
REAL(dp)
:: mt_rel_cutoff ...
REAL(dp)
:: slab_size ...
REAL(dp)
:: alpha ...
LOGICAL
:: p3m ...
INTEGER
:: p3m_order ...
REAL(dp)
:: p3m_alpha ...
REAL(dp),
DIMENSION(:,:), POINTER :: p3m_coeff ...
REAL(dp),
DIMENSION(:,:), POINTER :: p3m_bm2 ...
LOGICAL
:: sr_screening ...
REAL(dp)
:: sr_alpha ...
REAL(dp)
:: sr_rc ...
TYPE(pw_type),
POINTER :: influence_fn ...
TYPE(pw_type),
POINTER :: dct_influence_fn ...
TYPE(pw_type),
POINTER :: screen_fn ...
TYPE(pw_type),
POINTER :: p3m_charge ...

TYPE :: pw_poisson_parameter_type

parameters for the poisson solver independet of input_section


INTEGER
:: solver ...
INTEGER,
DIMENSION(3) :: periodic ...
INTEGER
:: ewald_type = DO_EWALD_NONE ...
INTEGER
:: ewald_o_spline ...
REAL(dp)
:: ewald_alpha ...
REAL(dp)
:: mt_rel_cutoff ...
REAL(dp)
:: mt_alpha ...
INTEGER
:: wavelet_scf_type ...
INTEGER
:: wavelet_method ...
INTEGER
:: wavelet_special_dimension ...
CHARACTER(1)
:: wavelet_geocode ...
LOGICAL
:: has_dielectric ...
:: dielectric_params ...
:: ps_implicit_params ...
:: dbc_params ...

TYPE :: pw_poisson_type

environment for the poisson solver


INTEGER
:: ref_count ...
INTEGER
:: id_nr ...
INTEGER
:: pw_level ...
INTEGER
:: method ...
INTEGER
:: used_grid ...
LOGICAL
:: rebuild ...
POINTER :: green_fft ...
POINTER :: wavelet ...
:: parameters ...
REAL(dp),
DIMENSION(3,3) :: cell_hmat = 0.0_DP ...
DIMENSION(:), POINTER :: pw_pools ...
POINTER :: mt_super_ref_pw_grid ...
POINTER :: implicit_env ...
POINTER :: dct_pw_grid ...
POINTER :: diel_rs_grid ...

SUBROUTINEpw_green_create(green, poisson_params, cell_hmat, pw_pool, mt_super_ref_pw_grid, dct_pw_grid)

Allocates and sets up the green functions for the fft based poisson solvers

Arguments:
POINTER
:: green ...
INTENT(in)
:: poisson_params ...
REAL(dp),
INTENT(in)
:: cell_hmat(3,3) ...
POINTER
:: pw_pool ...
POINTER
:: mt_super_ref_pw_grid ...
POINTER
:: dct_pw_grid ...

SUBROUTINEpw_green_release(gftype, pw_pool)

destroys the type (deallocates data)

Arguments:
POINTER
:: gftype ...
OPTIONAL, POINTER
:: pw_pool ...

SUBROUTINEpw_poisson_create(poisson_env)

Initialize the poisson solver You should call this just before calling the work routine pw_poisson_solver Call pw_poisson_release when you have finished

Arguments:
POINTER
:: poisson_env ...

SUBROUTINEpw_poisson_release(poisson_env)

releases the poisson solver

Arguments:
POINTER
:: poisson_env ...

SUBROUTINEpw_poisson_retain(poisson_env)

retains the pw_poisson_env

Arguments:
POINTER
:: poisson_env ...