Skip to content

Commit

Permalink
Add default initializers in PW package
Browse files Browse the repository at this point in the history
  • Loading branch information
Frederick Stein authored and fstein93 committed Jun 24, 2023
1 parent 3e3c83c commit 4b88f95
Show file tree
Hide file tree
Showing 5 changed files with 62 additions and 101 deletions.
6 changes: 3 additions & 3 deletions src/pw/pw_grid_types.F
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,13 @@ MODULE pw_grid_types
INTEGER :: my_pos = -1! Position within group
INTEGER :: group_size = -1! # of Processors in group
LOGICAL :: group_head = .FALSE. ! Master process within group
INTEGER :: group_head_id = -1 ! Id of group_head
INTEGER :: group_head_id = 0 ! Id of group_head
INTEGER, DIMENSION(:, :, :), POINTER :: yzp => NULL() ! g-space rays (xy,k,pe)
INTEGER, DIMENSION(:, :), POINTER :: yzq => NULL() ! local inverse pointer of yzp
INTEGER, DIMENSION(:), POINTER :: nyzray => NULL() ! number of g-space rays (pe)
TYPE(mp_cart_type) :: rs_group = mp_cart_type() ! real space group (2-dim cart)
INTEGER :: rs_mpo = -1 ! real space group position
INTEGER, DIMENSION(2) :: rs_dims = -1 ! real space group dimensions
INTEGER, DIMENSION(2) :: rs_dims = 0 ! real space group dimensions
INTEGER, DIMENSION(2) :: rs_pos = -1 ! real space group positions in grid
INTEGER, DIMENSION(:, :, :, :), POINTER :: bo => NULL() ! list of axis distribution
INTEGER, DIMENSION(:), POINTER :: pos_of_x => NULL() ! what my_pos holds a given x plane....should go: hard-codes to plane distributed
Expand Down Expand Up @@ -84,7 +84,7 @@ MODULE pw_grid_types
LOGICAL :: have_g0 = .TRUE. ! whether I have G = [0,0,0]
INTEGER :: first_gne0 = 0 ! first g index /= 0 [1/2]
INTEGER :: id_nr = -1 ! tag of this grid
INTEGER :: reference = -1 ! reference grid identifier
INTEGER :: reference = 0 ! reference grid identifier
INTEGER, DIMENSION(:), POINTER :: gidx => NULL() ! ref grid index
INTEGER :: ref_count = 0 ! reference count
LOGICAL :: spherical = .FALSE. ! spherical cutoff?
Expand Down
126 changes: 48 additions & 78 deletions src/pw/pw_poisson_types.F
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ MODULE pw_poisson_types
ps_implicit_parameters,&
ps_implicit_release,&
ps_implicit_type
USE ps_wavelet_types, ONLY: ps_wavelet_release,&
USE ps_wavelet_types, ONLY: WAVELET0D,&
ps_wavelet_release,&
ps_wavelet_type
USE pw_grid_types, ONLY: pw_grid_type
USE pw_grids, ONLY: pw_grid_release
Expand Down Expand Up @@ -100,72 +101,72 @@ MODULE pw_poisson_types
!> \author Ole Schuett
! **************************************************************************************************
TYPE pw_poisson_parameter_type
INTEGER :: solver
INTEGER :: solver = pw_poisson_none

INTEGER, DIMENSION(3) :: periodic
INTEGER, DIMENSION(3) :: periodic = 0
INTEGER :: ewald_type = do_ewald_none
INTEGER :: ewald_o_spline
REAL(KIND=dp) :: ewald_alpha
INTEGER :: ewald_o_spline = 0
REAL(KIND=dp) :: ewald_alpha = 0.0_dp

REAL(KIND=dp) :: mt_rel_cutoff
REAL(KIND=dp) :: mt_alpha
REAL(KIND=dp) :: mt_rel_cutoff = 0.0_dp
REAL(KIND=dp) :: mt_alpha = 0.0_dp

INTEGER :: wavelet_scf_type
INTEGER :: wavelet_method
INTEGER :: wavelet_special_dimension
CHARACTER(LEN=1) :: wavelet_geocode
INTEGER :: wavelet_scf_type = 0
INTEGER :: wavelet_method = WAVELET0D
INTEGER :: wavelet_special_dimension = 0
CHARACTER(LEN=1) :: wavelet_geocode = "S"

LOGICAL :: has_dielectric
TYPE(dielectric_parameters) :: dielectric_params
TYPE(ps_implicit_parameters) :: ps_implicit_params
TYPE(dirichlet_bc_parameters) :: dbc_params
LOGICAL :: has_dielectric = .FALSE.
TYPE(dielectric_parameters) :: dielectric_params = dielectric_parameters()
TYPE(ps_implicit_parameters) :: ps_implicit_params = ps_implicit_parameters()
TYPE(dirichlet_bc_parameters) :: dbc_params = dirichlet_bc_parameters()
END TYPE pw_poisson_parameter_type

! **************************************************************************************************
!> \brief environment for the poisson solver
!> \author fawzi
! **************************************************************************************************
TYPE pw_poisson_type
INTEGER :: ref_count
INTEGER :: pw_level
INTEGER :: method
INTEGER :: used_grid
LOGICAL :: rebuild
TYPE(greens_fn_type), POINTER :: green_fft
TYPE(ps_wavelet_type), POINTER :: wavelet
TYPE(pw_poisson_parameter_type) :: parameters
INTEGER :: ref_count = 0
INTEGER :: pw_level = 0
INTEGER :: method = pw_poisson_none
INTEGER :: used_grid = 0
LOGICAL :: rebuild = .TRUE.
TYPE(greens_fn_type), POINTER :: green_fft => NULL()
TYPE(ps_wavelet_type), POINTER :: wavelet => NULL()
TYPE(pw_poisson_parameter_type) :: parameters = pw_poisson_parameter_type()
REAL(KIND=dp), DIMENSION(3, 3) :: cell_hmat = 0.0_dp
TYPE(pw_pool_p_type), DIMENSION(:), POINTER :: pw_pools
TYPE(pw_grid_type), POINTER :: mt_super_ref_pw_grid
TYPE(ps_implicit_type), POINTER :: implicit_env
TYPE(pw_grid_type), POINTER :: dct_pw_grid
TYPE(realspace_grid_type), POINTER :: diel_rs_grid
TYPE(pw_pool_p_type), DIMENSION(:), POINTER :: pw_pools => NULL()
TYPE(pw_grid_type), POINTER :: mt_super_ref_pw_grid => NULL()
TYPE(ps_implicit_type), POINTER :: implicit_env => NULL()
TYPE(pw_grid_type), POINTER :: dct_pw_grid => NULL()
TYPE(realspace_grid_type), POINTER :: diel_rs_grid => NULL()
END TYPE pw_poisson_type

! **************************************************************************************************
!> \brief contains all the informations needed by the fft based poisson solvers
!> \author JGH,Teo,fawzi
! **************************************************************************************************
TYPE greens_fn_type
INTEGER :: method
INTEGER :: special_dimension
REAL(KIND=dp) :: radius
REAL(KIND=dp) :: MT_alpha
REAL(KIND=dp) :: MT_rel_cutoff
REAL(KIND=dp) :: slab_size
REAL(KIND=dp) :: alpha
LOGICAL :: p3m
INTEGER :: p3m_order
REAL(KIND=dp) :: p3m_alpha
REAL(KIND=dp), DIMENSION(:, :), POINTER :: p3m_coeff
REAL(KIND=dp), DIMENSION(:, :), POINTER :: p3m_bm2
LOGICAL :: sr_screening
REAL(KIND=dp) :: sr_alpha
REAL(KIND=dp) :: sr_rc
TYPE(pw_type) :: influence_fn
TYPE(pw_type), POINTER :: dct_influence_fn
TYPE(pw_type), POINTER :: screen_fn
TYPE(pw_type), POINTER :: p3m_charge
INTEGER :: method = PERIODIC3D
INTEGER :: special_dimension = 0
REAL(KIND=dp) :: radius = 0.0_dp
REAL(KIND=dp) :: MT_alpha = 1.0_dp
REAL(KIND=dp) :: MT_rel_cutoff = 1.0_dp
REAL(KIND=dp) :: slab_size = 0.0_dp
REAL(KIND=dp) :: alpha = 0.0_dp
LOGICAL :: p3m = .FALSE.
INTEGER :: p3m_order = 0
REAL(KIND=dp) :: p3m_alpha = 0.0_dp
REAL(KIND=dp), DIMENSION(:, :), POINTER :: p3m_coeff => NULL()
REAL(KIND=dp), DIMENSION(:, :), POINTER :: p3m_bm2 => NULL()
LOGICAL :: sr_screening = .FALSE.
REAL(KIND=dp) :: sr_alpha = 1.0_dp
REAL(KIND=dp) :: sr_rc = 0.0_dp
TYPE(pw_type) :: influence_fn = pw_type()
TYPE(pw_type), POINTER :: dct_influence_fn => NULL()
TYPE(pw_type), POINTER :: screen_fn => NULL()
TYPE(pw_type), POINTER :: p3m_charge => NULL()
END TYPE greens_fn_type

CONTAINS
Expand Down Expand Up @@ -197,26 +198,6 @@ SUBROUTINE pw_green_create(green, poisson_params, cell_hmat, pw_pool, &
TYPE(pw_pool_type), POINTER :: pw_pool_xpndd
TYPE(pw_type), POINTER :: dct_gf

green%p3m = .FALSE.
green%special_dimension = 0
green%radius = 0.0_dp
green%slab_size = 0.0_dp
green%alpha = 0.0_dp
green%method = PERIODIC3D
green%MT_alpha = 1.0_dp
green%MT_rel_cutoff = 1.0_dp
green%p3m = .FALSE.
green%p3m_order = 0
green%p3m_alpha = 0.0_dp
green%sr_screening = .FALSE.
green%sr_alpha = 1.0_dp
green%sr_rc = 0.0_dp

NULLIFY (green%p3m_charge)
NULLIFY (green%p3m_coeff, green%p3m_bm2)
NULLIFY (green%dct_influence_fn)
NULLIFY (green%screen_fn)

!CPASSERT(cell%orthorhombic)
DO i = 1, 3
abc(i) = cell_hmat(i, i)
Expand Down Expand Up @@ -597,17 +578,6 @@ SUBROUTINE pw_poisson_create(poisson_env)
CPASSERT(.NOT. ASSOCIATED(poisson_env))
ALLOCATE (poisson_env)
poisson_env%ref_count = 1
poisson_env%method = pw_poisson_none
poisson_env%rebuild = .TRUE.
NULLIFY (poisson_env%green_fft, &
poisson_env%pw_pools, &
poisson_env%mt_super_ref_pw_grid, &
poisson_env%wavelet, &
poisson_env%implicit_env, &
poisson_env%dct_pw_grid, &
poisson_env%diel_rs_grid)
poisson_env%pw_level = -1
poisson_env%ref_count = 1

END SUBROUTINE pw_poisson_create

Expand Down
12 changes: 6 additions & 6 deletions src/pw/pw_pool_types.F
Original file line number Diff line number Diff line change
Expand Up @@ -71,11 +71,11 @@ MODULE pw_pool_types
!> \author Fawzi Mohamed
! **************************************************************************************************
TYPE pw_pool_type
INTEGER :: ref_count, max_cache
TYPE(pw_grid_type), POINTER :: pw_grid
TYPE(cp_sll_pw_type), POINTER :: real1d_pw, real3d_pw, &
complex1d_pw, complex3d_pw
TYPE(cp_sll_3d_r_type), POINTER :: real3d_array
INTEGER :: ref_count = 0, max_cache = 0
TYPE(pw_grid_type), POINTER :: pw_grid => NULL()
TYPE(cp_sll_pw_type), POINTER :: real1d_pw => NULL(), real3d_pw => NULL(), &
complex1d_pw => NULL(), complex3d_pw => NULL()
TYPE(cp_sll_3d_r_type), POINTER :: real3d_array => NULL()
END TYPE pw_pool_type
! **************************************************************************************************
Expand All @@ -86,7 +86,7 @@ MODULE pw_pool_types
!> \author Fawzi Mohamed
! **************************************************************************************************
TYPE pw_pool_p_type
TYPE(pw_pool_type), POINTER :: pool
TYPE(pw_pool_type), POINTER :: pool => NULL()
END TYPE pw_pool_p_type
CONTAINS
Expand Down
10 changes: 5 additions & 5 deletions src/pw/pw_spline_utils.F
Original file line number Diff line number Diff line change
Expand Up @@ -110,11 +110,11 @@ MODULE pw_spline_utils
!> \author fawzi
! **************************************************************************************************
TYPE pw_spline_precond_type
INTEGER :: kind
REAL(kind=dp), DIMENSION(4) :: coeffs
REAL(kind=dp), DIMENSION(3) :: coeffs_1d
LOGICAL :: sharpen, normalize, pbc, transpose
TYPE(pw_pool_type), POINTER :: pool
INTEGER :: kind = no_precond
REAL(kind=dp), DIMENSION(4) :: coeffs = 0.0_dp
REAL(kind=dp), DIMENSION(3) :: coeffs_1d = 0.0_dp
LOGICAL :: sharpen = .FALSE., normalize = .FALSE., pbc = .FALSE., transpose = .FALSE.
TYPE(pw_pool_type), POINTER :: pool => NULL()
END TYPE pw_spline_precond_type

CONTAINS
Expand Down
9 changes: 0 additions & 9 deletions tools/conventions/conventions.supp
Original file line number Diff line number Diff line change
Expand Up @@ -525,15 +525,6 @@ ps_wavelet_util.F: Found WRITE statement with hardcoded unit in "s_fft_dimension
pwdft_environment_types.F: Found type pwdft_energy_type without initializer https://cp2k.org/conv#c016
pwdft_environment_types.F: Found type pwdft_environment_type without initializer https://cp2k.org/conv#c016
pw_grids.F: Found WRITE statement with hardcoded unit in "pw_grid_sort" https://cp2k.org/conv#c012
pw_grid_types.F: Found type map_pn without initializer https://cp2k.org/conv#c016
pw_grid_types.F: Found type pw_grid_type without initializer https://cp2k.org/conv#c016
pw_grid_types.F: Found type pw_para_type without initializer https://cp2k.org/conv#c016
pw_poisson_types.F: Found type greens_fn_type without initializer https://cp2k.org/conv#c016
pw_poisson_types.F: Found type pw_poisson_parameter_type without initializer https://cp2k.org/conv#c016
pw_poisson_types.F: Found type pw_poisson_type without initializer https://cp2k.org/conv#c016
pw_pool_types.F: Found type pw_pool_p_type without initializer https://cp2k.org/conv#c016
pw_pool_types.F: Found type pw_pool_type without initializer https://cp2k.org/conv#c016
pw_spline_utils.F: Found type pw_spline_precond_type without initializer https://cp2k.org/conv#c016
qmmm_gaussian_types.F: Found type qmmm_gaussian_p_type without initializer https://cp2k.org/conv#c016
qmmm_gaussian_types.F: Found type qmmm_gaussian_type without initializer https://cp2k.org/conv#c016
qmmm_types_low.F: Found type add_env_type without initializer https://cp2k.org/conv#c016
Expand Down

0 comments on commit 4b88f95

Please sign in to comment.