mirror of
https://github.com/cp2k/cp2k.git
synced 2026-07-29 06:35:28 -04:00
Enable Fortitude rule old-style-array-literal
This commit is contained in:
parent
90fa6b80bc
commit
47c81db72a
312 changed files with 3620 additions and 3622 deletions
|
|
@ -227,13 +227,13 @@ CONTAINS
|
|||
originc=ace_data%origin, &
|
||||
nlistc=ace_data%nlist, &
|
||||
attypec=ace_data%attype, &
|
||||
atposc=RESHAPE(ace_data%atpos, (/3*(natom + nghost)/)), &
|
||||
atposc=RESHAPE(ace_data%atpos, [3*(natom + nghost)]), &
|
||||
forcec=forceunroll, &
|
||||
virialc=ace_virial, &
|
||||
energyc=energy, &
|
||||
model=ace_data%model)
|
||||
|
||||
ace_force = RESHAPE(forceunroll, (/3, natom/))
|
||||
ace_force = RESHAPE(forceunroll, [3, natom])
|
||||
pot_ace = SUM(energy(1:natom))
|
||||
|
||||
DEALLOCATE (forceunroll)
|
||||
|
|
|
|||
|
|
@ -361,7 +361,7 @@ CONTAINS
|
|||
END DO ! spin
|
||||
ELSE ! domains are atomic
|
||||
! RZK-warning do the same for atomic domains/groups
|
||||
almo_scf_env%domain_index_of_atom(1:natoms) = (/(i, i=1, natoms)/)
|
||||
almo_scf_env%domain_index_of_atom(1:natoms) = [(i, i=1, natoms)]
|
||||
END IF
|
||||
|
||||
ao = 1
|
||||
|
|
@ -383,7 +383,7 @@ CONTAINS
|
|||
ELSE IF (almo_scf_env%mat_distr_aos == almo_mat_distr_molecular) THEN
|
||||
ALLOCATE (almo_scf_env%domain_index_of_ao_block(nmols))
|
||||
! if distr blocks are molecular then domain layout is also molecular
|
||||
almo_scf_env%domain_index_of_ao_block(:) = (/(i, i=1, nmols)/)
|
||||
almo_scf_env%domain_index_of_ao_block(:) = [(i, i=1, nmols)]
|
||||
END IF
|
||||
! mo blocks
|
||||
IF (almo_scf_env%mat_distr_mos == almo_mat_distr_atomic) THEN
|
||||
|
|
@ -393,7 +393,7 @@ CONTAINS
|
|||
ELSE IF (almo_scf_env%mat_distr_mos == almo_mat_distr_molecular) THEN
|
||||
ALLOCATE (almo_scf_env%domain_index_of_mo_block(nmols))
|
||||
! if distr blocks are molecular then domain layout is also molecular
|
||||
almo_scf_env%domain_index_of_mo_block(:) = (/(i, i=1, nmols)/)
|
||||
almo_scf_env%domain_index_of_mo_block(:) = [(i, i=1, nmols)]
|
||||
END IF
|
||||
|
||||
! set all flags
|
||||
|
|
@ -2194,7 +2194,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="S", &
|
||||
size_keys=(/almo_mat_dim_aobasis, almo_mat_dim_aobasis/), &
|
||||
size_keys=[almo_mat_dim_aobasis, almo_mat_dim_aobasis], &
|
||||
symmetry_new=dbcsr_type_symmetric, &
|
||||
spin_key=0, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2202,7 +2202,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="S_BLK", &
|
||||
size_keys=(/almo_mat_dim_aobasis, almo_mat_dim_aobasis/), &
|
||||
size_keys=[almo_mat_dim_aobasis, almo_mat_dim_aobasis], &
|
||||
symmetry_new=dbcsr_type_symmetric, &
|
||||
spin_key=0, &
|
||||
init_domains=.TRUE.)
|
||||
|
|
@ -2211,7 +2211,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="S_BLK_SQRT_INV", &
|
||||
size_keys=(/almo_mat_dim_aobasis, almo_mat_dim_aobasis/), &
|
||||
size_keys=[almo_mat_dim_aobasis, almo_mat_dim_aobasis], &
|
||||
symmetry_new=dbcsr_type_symmetric, &
|
||||
spin_key=0, &
|
||||
init_domains=.TRUE.)
|
||||
|
|
@ -2219,7 +2219,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="S_BLK_SQRT", &
|
||||
size_keys=(/almo_mat_dim_aobasis, almo_mat_dim_aobasis/), &
|
||||
size_keys=[almo_mat_dim_aobasis, almo_mat_dim_aobasis], &
|
||||
symmetry_new=dbcsr_type_symmetric, &
|
||||
spin_key=0, &
|
||||
init_domains=.TRUE.)
|
||||
|
|
@ -2228,7 +2228,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="S_BLK_INV", &
|
||||
size_keys=(/almo_mat_dim_aobasis, almo_mat_dim_aobasis/), &
|
||||
size_keys=[almo_mat_dim_aobasis, almo_mat_dim_aobasis], &
|
||||
symmetry_new=dbcsr_type_symmetric, &
|
||||
spin_key=0, &
|
||||
init_domains=.TRUE.)
|
||||
|
|
@ -2253,7 +2253,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="Q_BLK", &
|
||||
size_keys=(/almo_mat_dim_aobasis, almo_mat_dim_occ/), &
|
||||
size_keys=[almo_mat_dim_aobasis, almo_mat_dim_occ], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.TRUE.)
|
||||
|
|
@ -2262,7 +2262,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="T_BLK", &
|
||||
size_keys=(/almo_mat_dim_aobasis, almo_mat_dim_occ/), &
|
||||
size_keys=[almo_mat_dim_aobasis, almo_mat_dim_occ], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.TRUE.)
|
||||
|
|
@ -2271,7 +2271,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="ERR_BLK", &
|
||||
size_keys=(/almo_mat_dim_aobasis, almo_mat_dim_aobasis/), &
|
||||
size_keys=[almo_mat_dim_aobasis, almo_mat_dim_aobasis], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.TRUE.)
|
||||
|
|
@ -2280,7 +2280,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="ERR_XX", &
|
||||
size_keys=(/almo_mat_dim_aobasis, almo_mat_dim_occ/), &
|
||||
size_keys=[almo_mat_dim_aobasis, almo_mat_dim_occ], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2290,7 +2290,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="T_TR", &
|
||||
size_keys=(/almo_mat_dim_occ, almo_mat_dim_aobasis/), &
|
||||
size_keys=[almo_mat_dim_occ, almo_mat_dim_aobasis], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2299,7 +2299,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="SIG", &
|
||||
size_keys=(/almo_mat_dim_occ, almo_mat_dim_occ/), &
|
||||
size_keys=[almo_mat_dim_occ, almo_mat_dim_occ], &
|
||||
symmetry_new=dbcsr_type_symmetric, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2308,7 +2308,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="SIG_BLK", &
|
||||
size_keys=(/almo_mat_dim_occ, almo_mat_dim_occ/), &
|
||||
size_keys=[almo_mat_dim_occ, almo_mat_dim_occ], &
|
||||
symmetry_new=dbcsr_type_symmetric, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.TRUE.)
|
||||
|
|
@ -2317,7 +2317,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="SIGINV_BLK", &
|
||||
size_keys=(/almo_mat_dim_occ, almo_mat_dim_occ/), &
|
||||
size_keys=[almo_mat_dim_occ, almo_mat_dim_occ], &
|
||||
symmetry_new=dbcsr_type_symmetric, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.TRUE.)
|
||||
|
|
@ -2327,7 +2327,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="SIGINV", &
|
||||
size_keys=(/almo_mat_dim_occ, almo_mat_dim_occ/), &
|
||||
size_keys=[almo_mat_dim_occ, almo_mat_dim_occ], &
|
||||
symmetry_new=dbcsr_type_symmetric, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2337,7 +2337,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="T", &
|
||||
size_keys=(/almo_mat_dim_aobasis, almo_mat_dim_occ/), &
|
||||
size_keys=[almo_mat_dim_aobasis, almo_mat_dim_occ], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2383,7 +2383,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="V_FULL_BLK", &
|
||||
size_keys=(/almo_mat_dim_aobasis, almo_mat_dim_virt_full/), &
|
||||
size_keys=[almo_mat_dim_aobasis, almo_mat_dim_virt_full], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2391,7 +2391,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="V_BLK", &
|
||||
size_keys=(/almo_mat_dim_aobasis, almo_mat_dim_virt/), &
|
||||
size_keys=[almo_mat_dim_aobasis, almo_mat_dim_virt], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2399,7 +2399,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="V", &
|
||||
size_keys=(/almo_mat_dim_aobasis, almo_mat_dim_virt/), &
|
||||
size_keys=[almo_mat_dim_aobasis, almo_mat_dim_virt], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2407,7 +2407,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="OV_FULL", &
|
||||
size_keys=(/almo_mat_dim_occ, almo_mat_dim_virt_full/), &
|
||||
size_keys=[almo_mat_dim_occ, almo_mat_dim_virt_full], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2415,7 +2415,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="OV", &
|
||||
size_keys=(/almo_mat_dim_occ, almo_mat_dim_virt/), &
|
||||
size_keys=[almo_mat_dim_occ, almo_mat_dim_virt], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2423,7 +2423,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="VO", &
|
||||
size_keys=(/almo_mat_dim_virt, almo_mat_dim_occ/), &
|
||||
size_keys=[almo_mat_dim_virt, almo_mat_dim_occ], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2431,7 +2431,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="VO", &
|
||||
size_keys=(/almo_mat_dim_virt, almo_mat_dim_occ/), &
|
||||
size_keys=[almo_mat_dim_virt, almo_mat_dim_occ], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2439,7 +2439,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="SIG_VV", &
|
||||
size_keys=(/almo_mat_dim_virt, almo_mat_dim_virt/), &
|
||||
size_keys=[almo_mat_dim_virt, almo_mat_dim_virt], &
|
||||
symmetry_new=dbcsr_type_symmetric, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2447,7 +2447,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="VV_FULL_BLK", &
|
||||
size_keys=(/almo_mat_dim_virt_full, almo_mat_dim_virt_full/), &
|
||||
size_keys=[almo_mat_dim_virt_full, almo_mat_dim_virt_full], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.TRUE.)
|
||||
|
|
@ -2455,7 +2455,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="SIG_VV_BLK", &
|
||||
size_keys=(/almo_mat_dim_virt, almo_mat_dim_virt/), &
|
||||
size_keys=[almo_mat_dim_virt, almo_mat_dim_virt], &
|
||||
symmetry_new=dbcsr_type_symmetric, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.TRUE.)
|
||||
|
|
@ -2471,7 +2471,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="OPT_K_U_RR", &
|
||||
size_keys=(/almo_mat_dim_virt, almo_mat_dim_virt/), &
|
||||
size_keys=[almo_mat_dim_virt, almo_mat_dim_virt], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2479,7 +2479,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="VV_DISC", &
|
||||
size_keys=(/almo_mat_dim_virt_disc, almo_mat_dim_virt_disc/), &
|
||||
size_keys=[almo_mat_dim_virt_disc, almo_mat_dim_virt_disc], &
|
||||
symmetry_new=dbcsr_type_symmetric, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2487,7 +2487,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="OPT_K_U_DD", &
|
||||
size_keys=(/almo_mat_dim_virt_disc, almo_mat_dim_virt_disc/), &
|
||||
size_keys=[almo_mat_dim_virt_disc, almo_mat_dim_virt_disc], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2495,7 +2495,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="VV_DISC_BLK", &
|
||||
size_keys=(/almo_mat_dim_virt_disc, almo_mat_dim_virt_disc/), &
|
||||
size_keys=[almo_mat_dim_virt_disc, almo_mat_dim_virt_disc], &
|
||||
symmetry_new=dbcsr_type_symmetric, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.TRUE.)
|
||||
|
|
@ -2503,7 +2503,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="K_BLK", &
|
||||
size_keys=(/almo_mat_dim_virt_disc, almo_mat_dim_virt/), &
|
||||
size_keys=[almo_mat_dim_virt_disc, almo_mat_dim_virt], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.TRUE.)
|
||||
|
|
@ -2511,7 +2511,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="K_BLK_1", &
|
||||
size_keys=(/almo_mat_dim_virt_disc, almo_mat_dim_virt/), &
|
||||
size_keys=[almo_mat_dim_virt_disc, almo_mat_dim_virt], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.TRUE.)
|
||||
|
|
@ -2519,7 +2519,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="OPT_K_DENOM", &
|
||||
size_keys=(/almo_mat_dim_virt_disc, almo_mat_dim_virt/), &
|
||||
size_keys=[almo_mat_dim_virt_disc, almo_mat_dim_virt], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2527,7 +2527,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="K_TR", &
|
||||
size_keys=(/almo_mat_dim_virt, almo_mat_dim_virt_disc/), &
|
||||
size_keys=[almo_mat_dim_virt, almo_mat_dim_virt_disc], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2535,7 +2535,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="V_DISC_BLK", &
|
||||
size_keys=(/almo_mat_dim_aobasis, almo_mat_dim_virt_disc/), &
|
||||
size_keys=[almo_mat_dim_aobasis, almo_mat_dim_virt_disc], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2543,7 +2543,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="V_DISC", &
|
||||
size_keys=(/almo_mat_dim_aobasis, almo_mat_dim_virt_disc/), &
|
||||
size_keys=[almo_mat_dim_aobasis, almo_mat_dim_virt_disc], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2551,7 +2551,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="OV_DISC", &
|
||||
size_keys=(/almo_mat_dim_occ, almo_mat_dim_virt_disc/), &
|
||||
size_keys=[almo_mat_dim_occ, almo_mat_dim_virt_disc], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2570,7 +2570,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="E_OCC", &
|
||||
size_keys=(/almo_mat_dim_occ, almo_mat_dim_occ/), &
|
||||
size_keys=[almo_mat_dim_occ, almo_mat_dim_occ], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2578,7 +2578,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="E_VIRT", &
|
||||
size_keys=(/almo_mat_dim_virt_full, almo_mat_dim_virt_full/), &
|
||||
size_keys=[almo_mat_dim_virt_full, almo_mat_dim_virt_full], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
@ -2609,7 +2609,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="P_BLK", &
|
||||
size_keys=(/almo_mat_dim_aobasis, almo_mat_dim_aobasis/), &
|
||||
size_keys=[almo_mat_dim_aobasis, almo_mat_dim_aobasis], &
|
||||
symmetry_new=dbcsr_type_symmetric, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.TRUE.)
|
||||
|
|
@ -2617,7 +2617,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s0, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="KS_BLK", &
|
||||
size_keys=(/almo_mat_dim_aobasis, almo_mat_dim_aobasis/), &
|
||||
size_keys=[almo_mat_dim_aobasis, almo_mat_dim_aobasis], &
|
||||
symmetry_new=dbcsr_type_symmetric, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.TRUE.)
|
||||
|
|
|
|||
|
|
@ -928,7 +928,7 @@ CONTAINS
|
|||
matrix_qs=matrix_s(1)%matrix, &
|
||||
almo_scf_env=almo_scf_env, &
|
||||
name_new="T_QUENCHER", &
|
||||
size_keys=(/almo_mat_dim_aobasis, almo_mat_dim_occ/), &
|
||||
size_keys=[almo_mat_dim_aobasis, almo_mat_dim_occ], &
|
||||
symmetry_new=dbcsr_type_no_symmetry, &
|
||||
spin_key=ispin, &
|
||||
init_domains=.FALSE.)
|
||||
|
|
|
|||
|
|
@ -108,10 +108,10 @@ CONTAINS
|
|||
zetc(1:npgfc) = 0.3_dp
|
||||
zetd(1:npgfd) = 0.2_dp
|
||||
|
||||
ra = (/0.0_dp, 0.0_dp, 0.0_dp/)
|
||||
rb = (/1.0_dp, 0.0_dp, 0.0_dp/)
|
||||
rc = (/0.0_dp, 0.3_dp, 0.3_dp/)
|
||||
rd = (/0.7_dp, 0.2_dp, 0.1_dp/)
|
||||
ra = [0.0_dp, 0.0_dp, 0.0_dp]
|
||||
rb = [1.0_dp, 0.0_dp, 0.0_dp]
|
||||
rc = [0.0_dp, 0.3_dp, 0.3_dp]
|
||||
rd = [0.7_dp, 0.2_dp, 0.1_dp]
|
||||
|
||||
rac2 = SUM((ra - rc)**2)
|
||||
rpgf = 1.e10_dp
|
||||
|
|
|
|||
|
|
@ -107,8 +107,8 @@ CONTAINS
|
|||
INTEGER, OPTIONAL :: mi
|
||||
REAL(dp) :: IABCD
|
||||
|
||||
INTEGER, DIMENSION(3), PARAMETER :: i1 = (/1, 0, 0/), i2 = (/0, 1, 0/), &
|
||||
i3 = (/0, 0, 1/)
|
||||
INTEGER, DIMENSION(3), PARAMETER :: i1 = [1, 0, 0], i2 = [0, 1, 0], &
|
||||
i3 = [0, 0, 1]
|
||||
|
||||
INTEGER :: m
|
||||
|
||||
|
|
|
|||
|
|
@ -84,8 +84,8 @@ CONTAINS
|
|||
INTEGER, DIMENSION(3) :: an, cn, bn
|
||||
REAL(dp) :: IACB
|
||||
|
||||
INTEGER, DIMENSION(3), PARAMETER :: i1 = (/1, 0, 0/), i2 = (/0, 1, 0/), &
|
||||
i3 = (/0, 0, 1/)
|
||||
INTEGER, DIMENSION(3), PARAMETER :: i1 = [1, 0, 0], i2 = [0, 1, 0], &
|
||||
i3 = [0, 0, 1]
|
||||
|
||||
IACB = 0._dp
|
||||
IF (ANY(an < 0)) RETURN
|
||||
|
|
|
|||
|
|
@ -73,8 +73,8 @@ CONTAINS
|
|||
INTEGER, DIMENSION(3) :: an, bn
|
||||
REAL(dp) :: IAB
|
||||
|
||||
INTEGER, DIMENSION(3), PARAMETER :: i1 = (/1, 0, 0/), i2 = (/0, 1, 0/), &
|
||||
i3 = (/0, 0, 1/)
|
||||
INTEGER, DIMENSION(3), PARAMETER :: i1 = [1, 0, 0], i2 = [0, 1, 0], &
|
||||
i3 = [0, 0, 1]
|
||||
|
||||
IAB = 0._dp
|
||||
IF (ANY(an < 0)) RETURN
|
||||
|
|
|
|||
|
|
@ -422,16 +422,16 @@ CONTAINS
|
|||
WRITE (iw, '(A,3i2,i5,F10.4,2G24.12)') "PPL int error ", ani, la_max_set, dac, oint, oref
|
||||
END IF
|
||||
IF (PRESENT(dva)) THEN
|
||||
anp = ani + (/1, 0, 0/)
|
||||
anm = ani - (/1, 0, 0/)
|
||||
anp = ani + [1, 0, 0]
|
||||
anm = ani - [1, 0, 0]
|
||||
doint(1) = 2._dp*rho*ppl_ri_test(rho, anp, rac, nexp_ppl, nct_ppl, alpha_ppl, cexp_ppl) &
|
||||
- ani(1)*ppl_ri_test(rho, anm, rac, nexp_ppl, nct_ppl, alpha_ppl, cexp_ppl)
|
||||
anp = ani + (/0, 1, 0/)
|
||||
anm = ani - (/0, 1, 0/)
|
||||
anp = ani + [0, 1, 0]
|
||||
anm = ani - [0, 1, 0]
|
||||
doint(2) = 2._dp*rho*ppl_ri_test(rho, anp, rac, nexp_ppl, nct_ppl, alpha_ppl, cexp_ppl) &
|
||||
- ani(2)*ppl_ri_test(rho, anm, rac, nexp_ppl, nct_ppl, alpha_ppl, cexp_ppl)
|
||||
anp = ani + (/0, 0, 1/)
|
||||
anm = ani - (/0, 0, 1/)
|
||||
anp = ani + [0, 0, 1]
|
||||
anm = ani - [0, 0, 1]
|
||||
doint(3) = 2._dp*rho*ppl_ri_test(rho, anp, rac, nexp_ppl, nct_ppl, alpha_ppl, cexp_ppl) &
|
||||
- ani(3)*ppl_ri_test(rho, anm, rac, nexp_ppl, nct_ppl, alpha_ppl, cexp_ppl)
|
||||
doref(1:3) = dva(na + i, 1:3)
|
||||
|
|
@ -482,29 +482,29 @@ CONTAINS
|
|||
cn = cexp_ppl(ni, iexp)
|
||||
SELECT CASE (ni)
|
||||
CASE (1)
|
||||
oint = oint + cn*os_overlap2(ani, (/0, 0, 0/))
|
||||
oint = oint + cn*os_overlap2(ani, [0, 0, 0])
|
||||
CASE (2)
|
||||
oint = oint + cn*os_overlap2(ani, (/2, 0, 0/))
|
||||
oint = oint + cn*os_overlap2(ani, (/0, 2, 0/))
|
||||
oint = oint + cn*os_overlap2(ani, (/0, 0, 2/))
|
||||
oint = oint + cn*os_overlap2(ani, [2, 0, 0])
|
||||
oint = oint + cn*os_overlap2(ani, [0, 2, 0])
|
||||
oint = oint + cn*os_overlap2(ani, [0, 0, 2])
|
||||
CASE (3)
|
||||
oint = oint + cn*os_overlap2(ani, (/4, 0, 0/))
|
||||
oint = oint + cn*os_overlap2(ani, (/0, 4, 0/))
|
||||
oint = oint + cn*os_overlap2(ani, (/0, 0, 4/))
|
||||
oint = oint + 2.0_dp*cn*os_overlap2(ani, (/2, 2, 0/))
|
||||
oint = oint + 2.0_dp*cn*os_overlap2(ani, (/0, 2, 2/))
|
||||
oint = oint + 2.0_dp*cn*os_overlap2(ani, (/2, 0, 2/))
|
||||
oint = oint + cn*os_overlap2(ani, [4, 0, 0])
|
||||
oint = oint + cn*os_overlap2(ani, [0, 4, 0])
|
||||
oint = oint + cn*os_overlap2(ani, [0, 0, 4])
|
||||
oint = oint + 2.0_dp*cn*os_overlap2(ani, [2, 2, 0])
|
||||
oint = oint + 2.0_dp*cn*os_overlap2(ani, [0, 2, 2])
|
||||
oint = oint + 2.0_dp*cn*os_overlap2(ani, [2, 0, 2])
|
||||
CASE (4)
|
||||
oint = oint + cn*os_overlap2(ani, (/6, 0, 0/))
|
||||
oint = oint + cn*os_overlap2(ani, (/0, 6, 0/))
|
||||
oint = oint + cn*os_overlap2(ani, (/0, 0, 6/))
|
||||
oint = oint + 3.0_dp*cn*os_overlap2(ani, (/4, 2, 0/))
|
||||
oint = oint + 3.0_dp*cn*os_overlap2(ani, (/4, 0, 2/))
|
||||
oint = oint + 3.0_dp*cn*os_overlap2(ani, (/2, 4, 0/))
|
||||
oint = oint + 3.0_dp*cn*os_overlap2(ani, (/0, 4, 2/))
|
||||
oint = oint + 3.0_dp*cn*os_overlap2(ani, (/2, 0, 4/))
|
||||
oint = oint + 3.0_dp*cn*os_overlap2(ani, (/0, 2, 4/))
|
||||
oint = oint + 6.0_dp*cn*os_overlap2(ani, (/2, 2, 2/))
|
||||
oint = oint + cn*os_overlap2(ani, [6, 0, 0])
|
||||
oint = oint + cn*os_overlap2(ani, [0, 6, 0])
|
||||
oint = oint + cn*os_overlap2(ani, [0, 0, 6])
|
||||
oint = oint + 3.0_dp*cn*os_overlap2(ani, [4, 2, 0])
|
||||
oint = oint + 3.0_dp*cn*os_overlap2(ani, [4, 0, 2])
|
||||
oint = oint + 3.0_dp*cn*os_overlap2(ani, [2, 4, 0])
|
||||
oint = oint + 3.0_dp*cn*os_overlap2(ani, [0, 4, 2])
|
||||
oint = oint + 3.0_dp*cn*os_overlap2(ani, [2, 0, 4])
|
||||
oint = oint + 3.0_dp*cn*os_overlap2(ani, [0, 2, 4])
|
||||
oint = oint + 6.0_dp*cn*os_overlap2(ani, [2, 2, 2])
|
||||
CASE DEFAULT
|
||||
CPABORT("OVERLAP_PPL")
|
||||
END SELECT
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ CONTAINS
|
|||
REAL(KIND=dp) :: radius
|
||||
|
||||
INTEGER, PARAMETER :: itermax = 5000, prec_exp = sp
|
||||
REAL(KIND=dp), PARAMETER :: contract(*) = (/0.38, 0.62/), &
|
||||
REAL(KIND=dp), PARAMETER :: contract(*) = [0.38, 0.62], &
|
||||
mineps = 1.0E-12, next = 2.0, &
|
||||
step = 1.0
|
||||
|
||||
|
|
@ -234,8 +234,8 @@ CONTAINS
|
|||
DO lyb = 0, lb_max - lxb
|
||||
DO lza = MAX(la_min - lxa - lya, 0), la_max - lxa - lya
|
||||
DO lzb = MAX(lb_min - lxb - lyb, 0), lb_max - lxb - lyb
|
||||
la = (/lxa, lya, lza/)
|
||||
lb = (/lxb, lyb, lzb/)
|
||||
la = [lxa, lya, lza]
|
||||
lb = [lxb, lyb, lzb]
|
||||
ico = coset(lxa, lya, lza)
|
||||
jco = coset(lxb, lyb, lzb)
|
||||
prefactor_local = MAX(ABS(pab(o1 + ico, o2 + jco)), prefactor_local)
|
||||
|
|
|
|||
|
|
@ -193,9 +193,9 @@ CONTAINS
|
|||
aux_basis%ly(ncgf) = indco(2, ico)
|
||||
aux_basis%lz(ncgf) = indco(3, ico)
|
||||
aux_basis%cgf_symbol(ncgf) = &
|
||||
cgf_symbol(aux_basis%n(ishell, iset), (/aux_basis%lx(ncgf), &
|
||||
aux_basis%ly(ncgf), &
|
||||
aux_basis%lz(ncgf)/))
|
||||
cgf_symbol(aux_basis%n(ishell, iset), [aux_basis%lx(ncgf), &
|
||||
aux_basis%ly(ncgf), &
|
||||
aux_basis%lz(ncgf)])
|
||||
END DO
|
||||
DO m = -lshell, lshell
|
||||
nsgf = nsgf + 1
|
||||
|
|
|
|||
|
|
@ -396,7 +396,7 @@ CONTAINS
|
|||
pbasis%ly(ncgf) = indco(2, ico)
|
||||
pbasis%lz(ncgf) = indco(3, ico)
|
||||
pbasis%cgf_symbol(ncgf) = &
|
||||
cgf_symbol(pbasis%n(ishell, iset), (/pbasis%lx(ncgf), pbasis%ly(ncgf), pbasis%lz(ncgf)/))
|
||||
cgf_symbol(pbasis%n(ishell, iset), [pbasis%lx(ncgf), pbasis%ly(ncgf), pbasis%lz(ncgf)])
|
||||
END DO
|
||||
DO m = -lshell, lshell
|
||||
nsgf = nsgf + 1
|
||||
|
|
@ -944,7 +944,7 @@ CONTAINS
|
|||
zeta => gto_basis_set%zet(1:npgfa, iset)
|
||||
CALL coulomb2(lmax, npgfa, zeta, rpgfa, lmin, &
|
||||
lmax, npgfa, zeta, rpgfa, lmin, &
|
||||
(/0.0_dp, 0.0_dp, 0.0_dp/), 0.0_dp, gaa, vv, ff(0:))
|
||||
[0.0_dp, 0.0_dp, 0.0_dp], 0.0_dp, gaa, vv, ff(0:))
|
||||
DO ishell = 1, gto_basis_set%nshell(iset)
|
||||
DO icgf = gto_basis_set%first_cgf(ishell, iset), &
|
||||
gto_basis_set%last_cgf(ishell, iset)
|
||||
|
|
@ -1431,9 +1431,9 @@ CONTAINS
|
|||
gto_basis_set%ly(ncgf) = indco(2, ico)
|
||||
gto_basis_set%lz(ncgf) = indco(3, ico)
|
||||
gto_basis_set%cgf_symbol(ncgf) = &
|
||||
cgf_symbol(n(ishell, iset), (/gto_basis_set%lx(ncgf), &
|
||||
gto_basis_set%ly(ncgf), &
|
||||
gto_basis_set%lz(ncgf)/))
|
||||
cgf_symbol(n(ishell, iset), [gto_basis_set%lx(ncgf), &
|
||||
gto_basis_set%ly(ncgf), &
|
||||
gto_basis_set%lz(ncgf)])
|
||||
END DO
|
||||
DO m = -lshell, lshell
|
||||
nsgf = nsgf + 1
|
||||
|
|
@ -1734,9 +1734,9 @@ CONTAINS
|
|||
gto_basis_set%ly(ncgf) = indco(2, ico)
|
||||
gto_basis_set%lz(ncgf) = indco(3, ico)
|
||||
gto_basis_set%cgf_symbol(ncgf) = &
|
||||
cgf_symbol(n(ishell, iset), (/gto_basis_set%lx(ncgf), &
|
||||
gto_basis_set%ly(ncgf), &
|
||||
gto_basis_set%lz(ncgf)/))
|
||||
cgf_symbol(n(ishell, iset), [gto_basis_set%lx(ncgf), &
|
||||
gto_basis_set%ly(ncgf), &
|
||||
gto_basis_set%lz(ncgf)])
|
||||
END DO
|
||||
DO m = -lshell, lshell
|
||||
nsgf = nsgf + 1
|
||||
|
|
@ -2556,9 +2556,9 @@ CONTAINS
|
|||
gto_basis_set%ly(ncgf) = indco(2, ico)
|
||||
gto_basis_set%lz(ncgf) = indco(3, ico)
|
||||
gto_basis_set%cgf_symbol(ncgf) = &
|
||||
cgf_symbol(np, (/gto_basis_set%lx(ncgf), &
|
||||
gto_basis_set%ly(ncgf), &
|
||||
gto_basis_set%lz(ncgf)/))
|
||||
cgf_symbol(np, [gto_basis_set%lx(ncgf), &
|
||||
gto_basis_set%ly(ncgf), &
|
||||
gto_basis_set%lz(ncgf)])
|
||||
END DO
|
||||
DO m = -lshell, lshell
|
||||
nsgf = nsgf + 1
|
||||
|
|
@ -2650,7 +2650,7 @@ CONTAINS
|
|||
REAL(dp) :: srules
|
||||
|
||||
REAL(dp), DIMENSION(7), PARAMETER :: &
|
||||
xns = (/1.0_dp, 2.0_dp, 3.0_dp, 3.7_dp, 4.0_dp, 4.2_dp, 4.4_dp/)
|
||||
xns = [1.0_dp, 2.0_dp, 3.0_dp, 3.7_dp, 4.0_dp, 4.2_dp, 4.4_dp]
|
||||
|
||||
INTEGER :: i, l1, l2, m, m1, m2, nn
|
||||
REAL(dp) :: s
|
||||
|
|
|
|||
|
|
@ -145,7 +145,7 @@ CONTAINS
|
|||
DO lx = 0, l
|
||||
DO ly = 0, l - lx
|
||||
lz = l - lx - ly
|
||||
indco(1:3, coset(lx, ly, lz)) = (/lx, ly, lz/)
|
||||
indco(1:3, coset(lx, ly, lz)) = [lx, ly, lz]
|
||||
END DO
|
||||
END DO
|
||||
END DO
|
||||
|
|
@ -180,7 +180,7 @@ CONTAINS
|
|||
DO l = 0, maxl
|
||||
DO m = -l, l
|
||||
iso = iso + 1
|
||||
indso(1:2, iso) = (/l, m/)
|
||||
indso(1:2, iso) = [l, m]
|
||||
indso_inv(l, m) = iso
|
||||
END DO
|
||||
END DO
|
||||
|
|
|
|||
|
|
@ -21,10 +21,10 @@ MODULE orbital_symbols
|
|||
CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'orbital_symbols'
|
||||
PRIVATE
|
||||
|
||||
CHARACTER(LEN=1), PARAMETER, DIMENSION(0:11) :: l_sym = (/"s", "p", "d", &
|
||||
"f", "g", "h", &
|
||||
"i", "j", "k", &
|
||||
"l", "m", "n"/)
|
||||
CHARACTER(LEN=1), PARAMETER, DIMENSION(0:11) :: l_sym = ["s", "p", "d", &
|
||||
"f", "g", "h", &
|
||||
"i", "j", "k", &
|
||||
"l", "m", "n"]
|
||||
|
||||
PUBLIC :: cgf_symbol, sgf_symbol
|
||||
PUBLIC :: l_sym
|
||||
|
|
@ -45,7 +45,7 @@ CONTAINS
|
|||
INTEGER, DIMENSION(3), INTENT(IN) :: lxyz
|
||||
CHARACTER(LEN=12) :: symbol
|
||||
|
||||
CHARACTER(LEN=1), DIMENSION(3), PARAMETER :: xyz = (/"x", "y", "z"/)
|
||||
CHARACTER(LEN=1), DIMENSION(3), PARAMETER :: xyz = ["x", "y", "z"]
|
||||
|
||||
INTEGER :: i, ipos, l
|
||||
|
||||
|
|
@ -107,7 +107,7 @@ CONTAINS
|
|||
INTEGER, INTENT(IN) :: n, l, m
|
||||
CHARACTER(LEN=6) :: symbol
|
||||
|
||||
CHARACTER(LEN=1), DIMENSION(-1:1), PARAMETER :: yzx = (/"y", "z", "x"/)
|
||||
CHARACTER(LEN=1), DIMENSION(-1:1), PARAMETER :: yzx = ["y", "z", "x"]
|
||||
|
||||
INTEGER :: i
|
||||
|
||||
|
|
|
|||
|
|
@ -615,7 +615,7 @@ CONTAINS
|
|||
lz = l - lx - ly
|
||||
jc = co(lx, ly, lz)
|
||||
IF ((jc >= from) .AND. (jc <= to)) THEN
|
||||
symbol = cgf_symbol(1, (/lx, ly, lz/))
|
||||
symbol = cgf_symbol(1, [lx, ly, lz])
|
||||
WRITE (UNIT=string(i:), FMT="(A18)") TRIM(symbol(3:12))
|
||||
i = i + 18
|
||||
END IF
|
||||
|
|
|
|||
|
|
@ -275,9 +275,9 @@ CONTAINS
|
|||
soft_basis%ly(ncgf) = indco(2, ico)
|
||||
soft_basis%lz(ncgf) = indco(3, ico)
|
||||
soft_basis%cgf_symbol(ncgf) = &
|
||||
cgf_symbol(n(ishell, iset), (/soft_basis%lx(ncgf), &
|
||||
soft_basis%ly(ncgf), &
|
||||
soft_basis%lz(ncgf)/))
|
||||
cgf_symbol(n(ishell, iset), [soft_basis%lx(ncgf), &
|
||||
soft_basis%ly(ncgf), &
|
||||
soft_basis%lz(ncgf)])
|
||||
END DO
|
||||
DO m = -lshell, lshell
|
||||
nsgf = nsgf + 1
|
||||
|
|
|
|||
|
|
@ -604,10 +604,10 @@ CONTAINS
|
|||
m = atom%basis%nbas(l)
|
||||
DO i = 1, n
|
||||
DO j = 1, i - 1
|
||||
o = DOT_PRODUCT(rbasis(1:m, j, l), RESHAPE(MATMUL(ovlp(1:m, 1:m, l), rbasis(1:m, i:i, l)), (/m/)))
|
||||
o = DOT_PRODUCT(rbasis(1:m, j, l), RESHAPE(MATMUL(ovlp(1:m, 1:m, l), rbasis(1:m, i:i, l)), [m]))
|
||||
rbasis(1:m, i, l) = rbasis(1:m, i, l) - o*rbasis(1:m, j, l)
|
||||
END DO
|
||||
o = DOT_PRODUCT(rbasis(1:m, i, l), RESHAPE(MATMUL(ovlp(1:m, 1:m, l), rbasis(1:m, i:i, l)), (/m/)))
|
||||
o = DOT_PRODUCT(rbasis(1:m, i, l), RESHAPE(MATMUL(ovlp(1:m, 1:m, l), rbasis(1:m, i:i, l)), [m]))
|
||||
rbasis(1:m, i, l) = rbasis(1:m, i, l)/SQRT(o)
|
||||
END DO
|
||||
|
||||
|
|
|
|||
|
|
@ -301,10 +301,10 @@ CONTAINS
|
|||
m = atom%basis%nbas(l)
|
||||
DO i = 1, n
|
||||
DO j = 1, i - 1
|
||||
o = DOT_PRODUCT(rbasis(1:m, j, l), RESHAPE(MATMUL(ovlp(1:m, 1:m, l), rbasis(1:m, i:i, l)), (/m/)))
|
||||
o = DOT_PRODUCT(rbasis(1:m, j, l), RESHAPE(MATMUL(ovlp(1:m, 1:m, l), rbasis(1:m, i:i, l)), [m]))
|
||||
rbasis(1:m, i, l) = rbasis(1:m, i, l) - o*rbasis(1:m, j, l)
|
||||
END DO
|
||||
o = DOT_PRODUCT(rbasis(1:m, i, l), RESHAPE(MATMUL(ovlp(1:m, 1:m, l), rbasis(1:m, i:i, l)), (/m/)))
|
||||
o = DOT_PRODUCT(rbasis(1:m, i, l), RESHAPE(MATMUL(ovlp(1:m, 1:m, l), rbasis(1:m, i:i, l)), [m]))
|
||||
rbasis(1:m, i, l) = rbasis(1:m, i, l)/SQRT(o)
|
||||
END DO
|
||||
|
||||
|
|
@ -791,8 +791,7 @@ CONTAINS
|
|||
INTEGER, DIMENSION(0:), INTENT(in) :: np, nb
|
||||
|
||||
INTEGER :: i, l, lmax
|
||||
CHARACTER(len=1), DIMENSION(0:7), PARAMETER :: &
|
||||
lq = (/"s", "p", "d", "f", "g", "h", "i", "k"/)
|
||||
CHARACTER(len=1), DIMENSION(0:7), PARAMETER :: lq = ["s", "p", "d", "f", "g", "h", "i", "k"]
|
||||
|
||||
label = ""
|
||||
lmax = MIN(UBOUND(np, 1), UBOUND(nb, 1), 7)
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ CONTAINS
|
|||
INTEGER, INTENT(IN) :: iw
|
||||
|
||||
CHARACTER(LEN=1), DIMENSION(0:7), PARAMETER :: &
|
||||
label = (/"S", "P", "D", "F", "G", "H", "I", "K"/)
|
||||
label = ["S", "P", "D", "F", "G", "H", "I", "K"]
|
||||
|
||||
INTEGER :: j, l, mc, mlc, mlo, mm(0:lmat), mo
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ MODULE atom_set_basis
|
|||
CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'atom_set_basis'
|
||||
|
||||
INTEGER, PARAMETER :: nua = 40, nup = 20
|
||||
REAL(KIND=dp), DIMENSION(nua), PARAMETER :: ugbs = (/0.007299_dp, 0.013705_dp, 0.025733_dp, &
|
||||
REAL(KIND=dp), DIMENSION(nua), PARAMETER :: ugbs = [0.007299_dp, 0.013705_dp, 0.025733_dp, &
|
||||
0.048316_dp, 0.090718_dp, 0.170333_dp, 0.319819_dp, 0.600496_dp, 1.127497_dp, 2.117000_dp, &
|
||||
3.974902_dp, 7.463317_dp, 14.013204_dp, 26.311339_dp, 49.402449_dp, 92.758561_dp, &
|
||||
174.164456_dp, 327.013024_dp, 614.003114_dp, 1152.858743_dp, 2164.619772_dp, &
|
||||
|
|
@ -38,7 +38,7 @@ MODULE atom_set_basis
|
|||
94845.070265_dp, 178082.107320_dp, 334368.848683_dp, 627814.487663_dp, 1178791.123851_dp, &
|
||||
2213310.684886_dp, 4155735.557141_dp, 7802853.046713_dp, 14650719.428954_dp, &
|
||||
27508345.793637_dp, 51649961.080194_dp, 96978513.342764_dp, 182087882.613702_dp, &
|
||||
341890134.751331_dp/)
|
||||
341890134.751331_dp]
|
||||
|
||||
PUBLIC :: set_kind_basis_atomic
|
||||
|
||||
|
|
|
|||
|
|
@ -382,7 +382,7 @@ CONTAINS
|
|||
|
||||
CHARACTER(LEN=*), PARAMETER :: routineN = 'init_atom_basis'
|
||||
INTEGER, PARAMETER :: nua = 40, nup = 16
|
||||
REAL(KIND=dp), DIMENSION(nua), PARAMETER :: ugbs = (/0.007299_dp, 0.013705_dp, 0.025733_dp, &
|
||||
REAL(KIND=dp), DIMENSION(nua), PARAMETER :: ugbs = [0.007299_dp, 0.013705_dp, 0.025733_dp, &
|
||||
0.048316_dp, 0.090718_dp, 0.170333_dp, 0.319819_dp, 0.600496_dp, 1.127497_dp, 2.117000_dp,&
|
||||
3.974902_dp, 7.463317_dp, 14.013204_dp, 26.311339_dp, 49.402449_dp, 92.758561_dp, &
|
||||
174.164456_dp, 327.013024_dp, 614.003114_dp, 1152.858743_dp, 2164.619772_dp, &
|
||||
|
|
@ -390,7 +390,7 @@ CONTAINS
|
|||
94845.070265_dp, 178082.107320_dp, 334368.848683_dp, 627814.487663_dp, 1178791.123851_dp, &
|
||||
2213310.684886_dp, 4155735.557141_dp, 7802853.046713_dp, 14650719.428954_dp, &
|
||||
27508345.793637_dp, 51649961.080194_dp, 96978513.342764_dp, 182087882.613702_dp, &
|
||||
341890134.751331_dp/)
|
||||
341890134.751331_dp]
|
||||
|
||||
CHARACTER(LEN=default_string_length) :: basis_fn, basis_name
|
||||
INTEGER :: basistype, handle, i, j, k, l, ll, m, &
|
||||
|
|
@ -716,7 +716,7 @@ CONTAINS
|
|||
|
||||
CHARACTER(LEN=*), PARAMETER :: routineN = 'init_atom_basis_default_pp'
|
||||
INTEGER, PARAMETER :: nua = 40, nup = 20
|
||||
REAL(KIND=dp), DIMENSION(nua), PARAMETER :: ugbs = (/0.007299_dp, 0.013705_dp, 0.025733_dp, &
|
||||
REAL(KIND=dp), DIMENSION(nua), PARAMETER :: ugbs = [0.007299_dp, 0.013705_dp, 0.025733_dp, &
|
||||
0.048316_dp, 0.090718_dp, 0.170333_dp, 0.319819_dp, 0.600496_dp, 1.127497_dp, 2.117000_dp,&
|
||||
3.974902_dp, 7.463317_dp, 14.013204_dp, 26.311339_dp, 49.402449_dp, 92.758561_dp, &
|
||||
174.164456_dp, 327.013024_dp, 614.003114_dp, 1152.858743_dp, 2164.619772_dp, &
|
||||
|
|
@ -724,7 +724,7 @@ CONTAINS
|
|||
94845.070265_dp, 178082.107320_dp, 334368.848683_dp, 627814.487663_dp, 1178791.123851_dp, &
|
||||
2213310.684886_dp, 4155735.557141_dp, 7802853.046713_dp, 14650719.428954_dp, &
|
||||
27508345.793637_dp, 51649961.080194_dp, 96978513.342764_dp, 182087882.613702_dp, &
|
||||
341890134.751331_dp/)
|
||||
341890134.751331_dp]
|
||||
|
||||
INTEGER :: handle, i, k, l, m, ngp, nr, nu, quadtype
|
||||
REAL(KIND=dp) :: al, ear, rk
|
||||
|
|
|
|||
|
|
@ -78,10 +78,10 @@ CONTAINS
|
|||
!
|
||||
CALL cite_reference(Stoychev2016)
|
||||
!
|
||||
bv(0:18) = (/1.8_dp, 2.0_dp, 2.2_dp, 2.2_dp, 2.3_dp, 3.0_dp, 3.0_dp, 3.0_dp, 3.0_dp, 3.0_dp, 3.0_dp, &
|
||||
3.0_dp, 3.0_dp, 3.0_dp, 3.0_dp, 3.0_dp, 3.0_dp, 3.0_dp, 3.0_dp/)
|
||||
fv(0:18) = (/20.0_dp, 4.0_dp, 4.0_dp, 3.5_dp, 2.5_dp, 2.0_dp, 2.0_dp, 2.0_dp, 2.0_dp, 2.0_dp, 2.0_dp, &
|
||||
2.0_dp, 2.0_dp, 2.0_dp, 2.0_dp, 2.0_dp, 2.0_dp, 2.0_dp, 2.0_dp/)
|
||||
bv(0:18) = [1.8_dp, 2.0_dp, 2.2_dp, 2.2_dp, 2.3_dp, 3.0_dp, 3.0_dp, 3.0_dp, 3.0_dp, 3.0_dp, 3.0_dp, &
|
||||
3.0_dp, 3.0_dp, 3.0_dp, 3.0_dp, 3.0_dp, 3.0_dp, 3.0_dp, 3.0_dp]
|
||||
fv(0:18) = [20.0_dp, 4.0_dp, 4.0_dp, 3.5_dp, 2.5_dp, 2.0_dp, 2.0_dp, 2.0_dp, 2.0_dp, 2.0_dp, 2.0_dp, &
|
||||
2.0_dp, 2.0_dp, 2.0_dp, 2.0_dp, 2.0_dp, 2.0_dp, 2.0_dp, 2.0_dp]
|
||||
!
|
||||
CPASSERT(.NOT. ASSOCIATED(ri_aux_basis_set))
|
||||
NULLIFY (orb_basis_set)
|
||||
|
|
@ -286,8 +286,8 @@ CONTAINS
|
|||
IF (z > 18) linc = 2
|
||||
pend = 0.0_dp
|
||||
IF (kernel_basis) THEN
|
||||
bv(1:4) = (/3.20_dp, 2.80_dp, 2.40_dp, 2.00_dp/)
|
||||
bx(1:4) = (/4.00_dp, 3.50_dp, 3.00_dp, 2.50_dp/)
|
||||
bv(1:4) = [3.20_dp, 2.80_dp, 2.40_dp, 2.00_dp]
|
||||
bx(1:4) = [4.00_dp, 3.50_dp, 3.00_dp, 2.50_dp]
|
||||
!
|
||||
SELECT CASE (basis_cntrl)
|
||||
CASE (0)
|
||||
|
|
@ -303,8 +303,8 @@ CONTAINS
|
|||
CPABORT("Invalid value of control variable")
|
||||
END SELECT
|
||||
ELSE
|
||||
bv(1:4) = (/2.00_dp, 1.90_dp, 1.80_dp, 1.80_dp/)
|
||||
bx(1:4) = (/2.60_dp, 2.40_dp, 2.20_dp, 2.20_dp/)
|
||||
bv(1:4) = [2.00_dp, 1.90_dp, 1.80_dp, 1.80_dp]
|
||||
bx(1:4) = [2.60_dp, 2.40_dp, 2.20_dp, 2.20_dp]
|
||||
!
|
||||
SELECT CASE (basis_cntrl)
|
||||
CASE (0)
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ MODULE kinds
|
|||
INTEGER, PARAMETER :: default_string_length = 80
|
||||
INTEGER, PARAMETER :: default_path_length = 1024
|
||||
INTEGER, PARAMETER :: max_line_length = 2*default_path_length
|
||||
CHARACTER(LEN=1), PARAMETER, PUBLIC :: default_blank_character(2) = (/" ", CHAR(9)/)
|
||||
CHARACTER(LEN=1), PARAMETER, PUBLIC :: default_blank_character(2) = [" ", CHAR(9)]
|
||||
|
||||
CONTAINS
|
||||
|
||||
|
|
|
|||
|
|
@ -223,14 +223,14 @@ CONTAINS
|
|||
REAL(dp), INTENT(IN) :: a
|
||||
REAL(dp) :: fn_val
|
||||
|
||||
REAL(dp), PARAMETER :: p(7) = (/.577215664901533e+00_dp, -.409078193005776e+00_dp, &
|
||||
REAL(dp), PARAMETER :: p(7) = [.577215664901533e+00_dp, -.409078193005776e+00_dp, &
|
||||
-.230975380857675e+00_dp, .597275330452234e-01_dp, .766968181649490e-02_dp, &
|
||||
-.514889771323592e-02_dp, .589597428611429e-03_dp/), q(5) = (/.100000000000000e+01_dp, &
|
||||
-.514889771323592e-02_dp, .589597428611429e-03_dp], q(5) = [.100000000000000e+01_dp, &
|
||||
.427569613095214e+00_dp, .158451672430138e+00_dp, .261132021441447e-01_dp, &
|
||||
.423244297896961e-02_dp/), r(9) = (/-.422784335098468e+00_dp, -.771330383816272e+00_dp, &
|
||||
.423244297896961e-02_dp], r(9) = [-.422784335098468e+00_dp, -.771330383816272e+00_dp, &
|
||||
-.244757765222226e+00_dp, .118378989872749e+00_dp, .930357293360349e-03_dp, &
|
||||
-.118290993445146e-01_dp, .223047661158249e-02_dp, .266505979058923e-03_dp, &
|
||||
-.132674909766242e-03_dp/)
|
||||
-.132674909766242e-03_dp]
|
||||
REAL(dp), PARAMETER :: s1 = .273076135303957e+00_dp, s2 = .559398236957378e-01_dp
|
||||
|
||||
REAL(dp) :: bot, d, t, top, w
|
||||
|
|
@ -736,15 +736,15 @@ CONTAINS
|
|||
REAL(dp), INTENT(IN) :: xx
|
||||
REAL(dp) :: fn_val
|
||||
|
||||
REAL(dp), PARAMETER :: dx0 = 1.461632144968362341262659542325721325e0_dp, p1(7) = (/ &
|
||||
REAL(dp), PARAMETER :: dx0 = 1.461632144968362341262659542325721325e0_dp, p1(7) = [ &
|
||||
.895385022981970e-02_dp, .477762828042627e+01_dp, .142441585084029e+03_dp, &
|
||||
.118645200713425e+04_dp, .363351846806499e+04_dp, .413810161269013e+04_dp, &
|
||||
.130560269827897e+04_dp/), p2(4) = (/-.212940445131011e+01_dp, -.701677227766759e+01_dp, &
|
||||
-.448616543918019e+01_dp, -.648157123766197e+00_dp/), piov4 = .785398163397448e0_dp, q1(6)&
|
||||
= (/.448452573429826e+02_dp, .520752771467162e+03_dp, .221000799247830e+04_dp, &
|
||||
.364127349079381e+04_dp, .190831076596300e+04_dp, .691091682714533e-05_dp/)
|
||||
REAL(dp), PARAMETER :: q2(4) = (/.322703493791143e+02_dp, .892920700481861e+02_dp, &
|
||||
.546117738103215e+02_dp, .777788548522962e+01_dp/)
|
||||
.130560269827897e+04_dp], p2(4) = [-.212940445131011e+01_dp, -.701677227766759e+01_dp, &
|
||||
-.448616543918019e+01_dp, -.648157123766197e+00_dp], piov4 = .785398163397448e0_dp, q1(6) &
|
||||
= [.448452573429826e+02_dp, .520752771467162e+03_dp, .221000799247830e+04_dp, &
|
||||
.364127349079381e+04_dp, .190831076596300e+04_dp, .691091682714533e-05_dp]
|
||||
REAL(dp), PARAMETER :: q2(4) = [.322703493791143e+02_dp, .892920700481861e+02_dp, &
|
||||
.546117738103215e+02_dp, .777788548522962e+01_dp]
|
||||
|
||||
INTEGER :: i, m, n, nq
|
||||
REAL(dp) :: aug, den, sgn, upper, w, x, xmax1, xmx0, &
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@ CONTAINS
|
|||
|
||||
! If infinite screening is applied, fm_W is simply 0 - Otherwise it needs to be computed from 3c integrals
|
||||
IF (mp2_env%bse%screening_method /= bse_screening_rpa) THEN
|
||||
reordering = (/1, 3, 2, 4/)
|
||||
reordering = [1, 3, 2, 4]
|
||||
CALL fm_general_add_bse(fm_A, fm_W, -1.0_dp, homo, virtual, &
|
||||
virtual, virtual, unit_nr, reordering, mp2_env)
|
||||
END IF
|
||||
|
|
@ -320,7 +320,7 @@ CONTAINS
|
|||
! Writing -1.0_dp * W_ib,ja to A_ia,jb, i.e. beta = -1.0_dp,
|
||||
! W_ib,ja: nrow_secidx_in = virtual, ncol_secidx_in = virtual
|
||||
! A_ia,jb: nrow_secidx_out = virtual, ncol_secidx_out = virtual
|
||||
reordering = (/1, 4, 3, 2/)
|
||||
reordering = [1, 4, 3, 2]
|
||||
CALL fm_general_add_bse(fm_B, fm_W, -1.0_dp, virtual, virtual, &
|
||||
virtual, virtual, unit_nr, reordering, mp2_env)
|
||||
END IF
|
||||
|
|
|
|||
|
|
@ -197,8 +197,8 @@ CONTAINS
|
|||
END IF
|
||||
|
||||
!MG to check: Reshaping correct?
|
||||
AZ_reshaped(:, :) = RESHAPE(AZ, (/homo*virtual, num_Z_vectors/))
|
||||
Z_vectors_reshaped(:, :) = RESHAPE(Z_vectors, (/homo*virtual, num_Z_vectors/))
|
||||
AZ_reshaped(:, :) = RESHAPE(AZ, [homo*virtual, num_Z_vectors])
|
||||
Z_vectors_reshaped(:, :) = RESHAPE(Z_vectors, [homo*virtual, num_Z_vectors])
|
||||
|
||||
! Diagonalize M and extract smallest eigenvalues/corresponding eigenvector
|
||||
CALL compute_diagonalize_ZAZ(AZ_reshaped, Z_vectors_reshaped, num_Z_vectors, Subspace_new_eigenval, &
|
||||
|
|
@ -754,7 +754,7 @@ CONTAINS
|
|||
CALL timeset(routineN, handle)
|
||||
|
||||
ALLOCATE (W_vectors_reshaped(homo*virtual, num_Z_vectors))
|
||||
W_vectors_reshaped(:, :) = RESHAPE(W_vectors, (/homo*virtual, num_Z_vectors/))
|
||||
W_vectors_reshaped(:, :) = RESHAPE(W_vectors, [homo*virtual, num_Z_vectors])
|
||||
|
||||
ALLOCATE (Tau_W(MIN(homo*virtual, num_Z_vectors)))
|
||||
Tau_W = 0.0_dp
|
||||
|
|
@ -786,7 +786,7 @@ CONTAINS
|
|||
CPABORT("QR Decomp Step 2 doesnt work")
|
||||
END IF
|
||||
|
||||
W_vectors(:, :, :) = RESHAPE(W_vectors_reshaped, (/homo, virtual, num_Z_vectors/))
|
||||
W_vectors(:, :, :) = RESHAPE(W_vectors_reshaped, [homo, virtual, num_Z_vectors])
|
||||
|
||||
DEALLOCATE (WORK_W, WORK_W_dor, Tau_W, W_vectors_reshaped)
|
||||
|
||||
|
|
@ -841,7 +841,7 @@ CONTAINS
|
|||
END DO
|
||||
END DO
|
||||
|
||||
Subspace_add_dir(:, :, :) = RESHAPE(Subspace_add_dir_reshaped, (/homo, virtual, num_new_t/))
|
||||
Subspace_add_dir(:, :, :) = RESHAPE(Subspace_add_dir_reshaped, [homo, virtual, num_new_t])
|
||||
|
||||
DEALLOCATE (Subspace_add_dir_reshaped)
|
||||
CALL timestop(handle)
|
||||
|
|
@ -897,7 +897,7 @@ CONTAINS
|
|||
- Subspace_res_A(:, mu_subspace)
|
||||
|
||||
END DO
|
||||
Subspace_ritzvec(:, :, :) = RESHAPE(Subspace_res_ev, (/homo, virtual, num_new_t/))
|
||||
Subspace_ritzvec(:, :, :) = RESHAPE(Subspace_res_ev, [homo, virtual, num_new_t])
|
||||
DEALLOCATE (Subspace_res_ev, Subspace_res_A)
|
||||
|
||||
CALL timestop(handle)
|
||||
|
|
|
|||
|
|
@ -673,7 +673,7 @@ CONTAINS
|
|||
'n', 'r = x/y/z', 'd_eh^r [Å]', 'σ_e^r [Å]', 'σ_h^r [Å]', 'd_exc^r [Å]'
|
||||
DO i_exc = 1, num_print_exc_descr
|
||||
DO i_dir = 1, 3
|
||||
array_direction_str = (/"x", "y", "z"/)
|
||||
array_direction_str = ["x", "y", "z"]
|
||||
WRITE (unit_nr, '(T2,A4,T9,I4,10X,A1,1X,4(4X,F10.4))') &
|
||||
prefix_output, i_exc, array_direction_str(i_dir), &
|
||||
exc_descr(i_exc)%d_eh_dir(i_dir)*angstrom, &
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ CONTAINS
|
|||
CALL fm_general_add_bse(fm_dipole_MO_trunc_reordered(idir), fm_dipole_ai_trunc(idir), 1.0_dp, &
|
||||
1, 1, &
|
||||
1, virtual_red, &
|
||||
unit_nr, (/2, 4, 3, 1/), mp2_env)
|
||||
unit_nr, [2, 4, 3, 1], mp2_env)
|
||||
CALL cp_fm_release(fm_dipole_per_dir(idir))
|
||||
END DO
|
||||
|
||||
|
|
@ -794,7 +794,7 @@ CONTAINS
|
|||
|
||||
! translates 1,2,3 to diagonal entries of quadrupoles xx, yy, zz
|
||||
! Ordering in quadrupole moments is x, y, z, xx, xy, xz, yy, yz, zz
|
||||
mask_quadrupole = (/4, 7, 9/)
|
||||
mask_quadrupole = [4, 7, 9]
|
||||
|
||||
CALL cp_fm_struct_create(fm_struct_ia, &
|
||||
context=fm_X_ia%matrix_struct%context, nrow_global=homo, ncol_global=virtual)
|
||||
|
|
|
|||
|
|
@ -1370,11 +1370,11 @@ CONTAINS
|
|||
! (ia,11) to (a1,i1) for transposition
|
||||
! (ia,11) to (i1,a1) for default
|
||||
IF (do_transpose) THEN
|
||||
reordering = (/2, 3, 1, 4/)
|
||||
reordering = [2, 3, 1, 4]
|
||||
my_n_row = virtual
|
||||
my_m_col = homo
|
||||
ELSE
|
||||
reordering = (/1, 3, 2, 4/)
|
||||
reordering = [1, 3, 2, 4]
|
||||
my_n_row = homo
|
||||
my_m_col = virtual
|
||||
END IF
|
||||
|
|
|
|||
|
|
@ -350,21 +350,21 @@ CONTAINS
|
|||
CALL section_vals_val_get(cell_section, "PERIODIC", i_val=my_per)
|
||||
SELECT CASE (my_per)
|
||||
CASE (use_perd_x)
|
||||
cell%perd = (/1, 0, 0/)
|
||||
cell%perd = [1, 0, 0]
|
||||
CASE (use_perd_y)
|
||||
cell%perd = (/0, 1, 0/)
|
||||
cell%perd = [0, 1, 0]
|
||||
CASE (use_perd_z)
|
||||
cell%perd = (/0, 0, 1/)
|
||||
cell%perd = [0, 0, 1]
|
||||
CASE (use_perd_xy)
|
||||
cell%perd = (/1, 1, 0/)
|
||||
cell%perd = [1, 1, 0]
|
||||
CASE (use_perd_xz)
|
||||
cell%perd = (/1, 0, 1/)
|
||||
cell%perd = [1, 0, 1]
|
||||
CASE (use_perd_yz)
|
||||
cell%perd = (/0, 1, 1/)
|
||||
cell%perd = [0, 1, 1]
|
||||
CASE (use_perd_xyz)
|
||||
cell%perd = (/1, 1, 1/)
|
||||
cell%perd = [1, 1, 1]
|
||||
CASE (use_perd_none)
|
||||
cell%perd = (/0, 0, 0/)
|
||||
cell%perd = [0, 0, 0]
|
||||
CASE DEFAULT
|
||||
CPABORT("")
|
||||
END SELECT
|
||||
|
|
@ -459,9 +459,9 @@ CONTAINS
|
|||
cos_alpha = COS(cell_angle(1)); IF (ABS(cos_alpha) < eps) cos_alpha = 0.0_dp
|
||||
IF (ABS(ABS(cos_alpha) - 1.0_dp) < eps) cos_alpha = SIGN(1.0_dp, cos_alpha)
|
||||
|
||||
cell%hmat(:, 1) = (/1.0_dp, 0.0_dp, 0.0_dp/)
|
||||
cell%hmat(:, 2) = (/cos_gamma, sin_gamma, 0.0_dp/)
|
||||
cell%hmat(:, 3) = (/cos_beta, (cos_alpha - cos_gamma*cos_beta)/sin_gamma, 0.0_dp/)
|
||||
cell%hmat(:, 1) = [1.0_dp, 0.0_dp, 0.0_dp]
|
||||
cell%hmat(:, 2) = [cos_gamma, sin_gamma, 0.0_dp]
|
||||
cell%hmat(:, 3) = [cos_beta, (cos_alpha - cos_gamma*cos_beta)/sin_gamma, 0.0_dp]
|
||||
cell%hmat(3, 3) = SQRT(1.0_dp - cell%hmat(1, 3)**2 - cell%hmat(2, 3)**2)
|
||||
|
||||
cell%hmat(:, 1) = cell%hmat(:, 1)*cell_length(1)
|
||||
|
|
|
|||
|
|
@ -476,7 +476,7 @@ CONTAINS
|
|||
! Update colvar
|
||||
IF (PRESENT(coords)) THEN
|
||||
CALL colvar_eval_mol_f(lcolv(iconst)%colvar, cell, particles=particle_set, &
|
||||
pos=RESHAPE(coords, (/3, SIZE(particle_set)/)), fixd_list=fixd_list)
|
||||
pos=RESHAPE(coords, [3, SIZE(particle_set)]), fixd_list=fixd_list)
|
||||
ELSE
|
||||
CALL colvar_eval_mol_f(lcolv(iconst)%colvar, cell, particles=particle_set, &
|
||||
fixd_list=fixd_list)
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
! scratch space used during the merge step
|
||||
ALLOCATE (tmp_arr((n + 1)/2), tmp_idx((n + 1)/2))
|
||||
|
||||
indices = (/(i, i=1, n)/)
|
||||
indices = [(i, i=1, n)]
|
||||
|
||||
CALL ${prefix}$_sort_low(arr(1:n), indices, tmp_arr, tmp_idx)
|
||||
|
||||
|
|
|
|||
|
|
@ -569,7 +569,7 @@ CONTAINS
|
|||
END INTERFACE
|
||||
|
||||
path_c = get_data_dir_c()
|
||||
CALL C_F_POINTER(path_c, path_f, shape=(/default_path_length/))
|
||||
CALL C_F_POINTER(path_c, path_f, shape=[default_path_length])
|
||||
|
||||
res = ""
|
||||
DO i = 1, default_path_length
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ MODULE cp_iter_types
|
|||
LOGICAL, PRIVATE, PARAMETER :: debug_this_module = .FALSE.
|
||||
|
||||
! When adding a new iteration level PLEASE update the following list with the proper name!
|
||||
CHARACTER(LEN=default_path_length), PARAMETER, PUBLIC, DIMENSION(18) :: each_possible_labels = (/ &
|
||||
CHARACTER(LEN=default_path_length), PARAMETER, PUBLIC, DIMENSION(18) :: each_possible_labels = [ &
|
||||
"__ROOT__ ", &
|
||||
"JUST_ENERGY ", &
|
||||
"POWELL_OPT ", &
|
||||
|
|
@ -45,9 +45,9 @@ MODULE cp_iter_types
|
|||
"REPLICA_EVAL ", &
|
||||
"BSSE ", &
|
||||
"SHELL_OPT ", &
|
||||
"TDDFT_SCF "/)
|
||||
"TDDFT_SCF "]
|
||||
|
||||
CHARACTER(LEN=default_path_length), PARAMETER, PUBLIC, DIMENSION(18) :: each_desc_labels = (/ &
|
||||
CHARACTER(LEN=default_path_length), PARAMETER, PUBLIC, DIMENSION(18) :: each_desc_labels = [ &
|
||||
"Iteration level for __ROOT__ (fictitious iteration level) ", &
|
||||
"Iteration level for an ENERGY/ENERGY_FORCE calculation. ", &
|
||||
"Iteration level for POWELL based optimization steps. ", &
|
||||
|
|
@ -65,7 +65,7 @@ MODULE cp_iter_types
|
|||
"Iteration level for the evaluation of the Replica Environment ", &
|
||||
"Iteration level for the Basis Set Superposition Error (BSSE) calculation ", &
|
||||
"Iteration level for the Shell-Core distances optimization steps ", &
|
||||
"Iteration level for the Time-Dependent Density Functional Theory SCF steps. "/)
|
||||
"Iteration level for the Time-Dependent Density Functional Theory SCF steps. "]
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief contains the information about the current state of the program
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ CONTAINS
|
|||
|
||||
results%result_label(isize + 1) = description
|
||||
CALL cp_result_value_init(results%result_value(isize + 1)%value, result_type_real, jsize)
|
||||
results%result_value(isize + 1)%value%real_type = RESHAPE(values, (/jsize/))
|
||||
results%result_value(isize + 1)%value%real_type = RESHAPE(values, [jsize])
|
||||
|
||||
END SUBROUTINE put_result_r2
|
||||
|
||||
|
|
@ -277,12 +277,12 @@ CONTAINS
|
|||
k = k + 1
|
||||
IF (PRESENT(nval)) THEN
|
||||
IF (k == nval) THEN
|
||||
values = RESHAPE(results%result_value(i)%value%real_type, (/SIZE(values, 1), SIZE(values, 2)/))
|
||||
values = RESHAPE(results%result_value(i)%value%real_type, [SIZE(values, 1), SIZE(values, 2)])
|
||||
EXIT
|
||||
END IF
|
||||
ELSE
|
||||
values((k - 1)*size_res + 1:k*size_res, :) = RESHAPE(results%result_value(i)%value%real_type, &
|
||||
(/SIZE(values, 1), SIZE(values, 2)/))
|
||||
[SIZE(values, 1), SIZE(values, 2)])
|
||||
END IF
|
||||
END IF
|
||||
END DO
|
||||
|
|
|
|||
|
|
@ -1241,44 +1241,44 @@ CONTAINS
|
|||
SELECT CASE (name)
|
||||
CASE ('ATOM', 'ATOMIC', 'INTERNAL', 'CP2K')
|
||||
IF (i == cp_ukind_angle) THEN
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=(/i/), &
|
||||
unit_id=(/cp_units_rad/), power=(/1/))
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=[i], &
|
||||
unit_id=[cp_units_rad], power=[1])
|
||||
ELSE
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=(/i/), &
|
||||
unit_id=(/cp_units_au/), power=(/1/))
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=[i], &
|
||||
unit_id=[cp_units_au], power=[1])
|
||||
END IF
|
||||
CASE ('OUTPUT')
|
||||
SELECT CASE (i)
|
||||
CASE (cp_ukind_undef)
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=(/i/), unit_id=(/cp_units_none/), &
|
||||
power=(/1/))
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=[i], unit_id=[cp_units_none], &
|
||||
power=[1])
|
||||
CASE (cp_ukind_energy)
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=(/i/), unit_id=(/cp_units_hartree/), &
|
||||
power=(/1/))
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=[i], unit_id=[cp_units_hartree], &
|
||||
power=[1])
|
||||
CASE (cp_ukind_length)
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=(/i/), unit_id=(/cp_units_angstrom/), &
|
||||
power=(/1/))
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=[i], unit_id=[cp_units_angstrom], &
|
||||
power=[1])
|
||||
CASE (cp_ukind_temperature)
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=(/i/), unit_id=(/cp_units_k/), &
|
||||
power=(/1/))
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=[i], unit_id=[cp_units_k], &
|
||||
power=[1])
|
||||
CASE (cp_ukind_angle)
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=(/i/), unit_id=(/cp_units_deg/), &
|
||||
power=(/1/))
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=[i], unit_id=[cp_units_deg], &
|
||||
power=[1])
|
||||
CASE (cp_ukind_pressure)
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=(/i/), unit_id=(/cp_units_bar/), &
|
||||
power=(/1/))
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=[i], unit_id=[cp_units_bar], &
|
||||
power=[1])
|
||||
CASE (cp_ukind_time)
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=(/i/), unit_id=(/cp_units_fs/), &
|
||||
power=(/1/))
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=[i], unit_id=[cp_units_fs], &
|
||||
power=[1])
|
||||
CASE (cp_ukind_mass)
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=(/i/), unit_id=(/cp_units_amu/), &
|
||||
power=(/1/))
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=[i], unit_id=[cp_units_amu], &
|
||||
power=[1])
|
||||
CASE (cp_ukind_potential)
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=(/i/), unit_id=(/cp_units_volt/), &
|
||||
power=(/1/))
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=[i], unit_id=[cp_units_volt], &
|
||||
power=[1])
|
||||
CASE (cp_ukind_force)
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=(/i/), unit_id=(/cp_units_newton/), &
|
||||
power=(/1/))
|
||||
CALL cp_unit_create2(unit_set%units(i)%unit, kind_id=[i], unit_id=[cp_units_newton], &
|
||||
power=[1])
|
||||
CASE default
|
||||
CPABORT("unhandled unit type "//TRIM(cp_to_string(i)))
|
||||
EXIT
|
||||
|
|
|
|||
|
|
@ -58,27 +58,27 @@ MODULE fparser
|
|||
cErf = 22, &
|
||||
cErfc = 23, &
|
||||
VarBegin = 24
|
||||
CHARACTER(LEN=1), DIMENSION(cAdd:cPow), PARAMETER :: Ops = (/'+', &
|
||||
'-', &
|
||||
'*', &
|
||||
'/', &
|
||||
'^'/)
|
||||
CHARACTER(LEN=5), DIMENSION(cAbs:cErfc), PARAMETER :: Funcs = (/'abs ', &
|
||||
'exp ', &
|
||||
'log10', &
|
||||
'log ', &
|
||||
'sqrt ', &
|
||||
'sinh ', &
|
||||
'cosh ', &
|
||||
'tanh ', &
|
||||
'sin ', &
|
||||
'cos ', &
|
||||
'tan ', &
|
||||
'asin ', &
|
||||
'acos ', &
|
||||
'atan ', &
|
||||
'erf ', &
|
||||
'erfc '/)
|
||||
CHARACTER(LEN=1), DIMENSION(cAdd:cPow), PARAMETER :: Ops = ['+', &
|
||||
'-', &
|
||||
'*', &
|
||||
'/', &
|
||||
'^']
|
||||
CHARACTER(LEN=5), DIMENSION(cAbs:cErfc), PARAMETER :: Funcs = ['abs ', &
|
||||
'exp ', &
|
||||
'log10', &
|
||||
'log ', &
|
||||
'sqrt ', &
|
||||
'sinh ', &
|
||||
'cosh ', &
|
||||
'tanh ', &
|
||||
'sin ', &
|
||||
'cos ', &
|
||||
'tan ', &
|
||||
'asin ', &
|
||||
'acos ', &
|
||||
'atan ', &
|
||||
'erf ', &
|
||||
'erfc ']
|
||||
! **************************************************************************************************
|
||||
TYPE tComp
|
||||
INTEGER(is), DIMENSION(:), POINTER :: ByteCode => NULL()
|
||||
|
|
@ -351,9 +351,9 @@ CONTAINS
|
|||
!----- -------- --------- --------- --------- --------- --------- --------- -------
|
||||
! Return error message
|
||||
!----- -------- --------- --------- --------- --------- --------- --------- -------
|
||||
CHARACTER(LEN=*), DIMENSION(4), PARAMETER :: m = (/'Division by zero ', &
|
||||
CHARACTER(LEN=*), DIMENSION(4), PARAMETER :: m = ['Division by zero ', &
|
||||
'Argument of SQRT negative ', 'Argument of LOG negative ', &
|
||||
'Argument of ASIN or ACOS illegal'/)
|
||||
'Argument of ASIN or ACOS illegal']
|
||||
CHARACTER(LEN=LEN(m)) :: msg
|
||||
|
||||
!----- -------- --------- --------- --------- --------- --------- --------- -------
|
||||
|
|
@ -514,12 +514,12 @@ CONTAINS
|
|||
!----- -------- --------- --------- --------- --------- --------- --------- -------
|
||||
|
||||
lstr = LEN_TRIM(str)
|
||||
ipos(:) = (/(k, k=1, lstr)/)
|
||||
ipos(:) = [(k, k=1, lstr)]
|
||||
k = 1
|
||||
DO WHILE (str(k:lstr) /= ' ')
|
||||
IF (str(k:k) == ' ') THEN
|
||||
str(k:lstr) = str(k + 1:lstr)//' ' ! Move 1 character to left
|
||||
ipos(k:lstr) = (/ipos(k + 1:lstr), 0/) ! Move 1 element to left
|
||||
ipos(k:lstr) = [ipos(k + 1:lstr), 0] ! Move 1 element to left
|
||||
k = k - 1
|
||||
END IF
|
||||
k = k + 1
|
||||
|
|
|
|||
|
|
@ -179,40 +179,40 @@ CONTAINS
|
|||
CASE ("A1")
|
||||
lebedev_grid(lgnum)%w(1:na1) = w(1)
|
||||
lebedev_grid(lgnum)%r(1:3, 1:na1) = &
|
||||
RESHAPE((/zero, zero, one, &
|
||||
zero, zero, -one, &
|
||||
zero, one, zero, &
|
||||
zero, -one, zero, &
|
||||
one, zero, zero, &
|
||||
-one, zero, zero/), (/3, na1/))
|
||||
RESHAPE([zero, zero, one, &
|
||||
zero, zero, -one, &
|
||||
zero, one, zero, &
|
||||
zero, -one, zero, &
|
||||
one, zero, zero, &
|
||||
-one, zero, zero], [3, na1])
|
||||
nlgp = na1
|
||||
CASE ("A2")
|
||||
lebedev_grid(lgnum)%w(nlgp + 1:nlgp + na2) = w(1)
|
||||
lebedev_grid(lgnum)%r(1:3, nlgp + 1:nlgp + na2) = &
|
||||
RESHAPE((/zero, rs2, rs2, &
|
||||
zero, rs2, -rs2, &
|
||||
zero, -rs2, rs2, &
|
||||
zero, -rs2, -rs2, &
|
||||
rs2, zero, rs2, &
|
||||
rs2, zero, -rs2, &
|
||||
-rs2, zero, rs2, &
|
||||
-rs2, zero, -rs2, &
|
||||
rs2, rs2, zero, &
|
||||
rs2, -rs2, zero, &
|
||||
-rs2, rs2, zero, &
|
||||
-rs2, -rs2, zero/), (/3, na2/))
|
||||
RESHAPE([zero, rs2, rs2, &
|
||||
zero, rs2, -rs2, &
|
||||
zero, -rs2, rs2, &
|
||||
zero, -rs2, -rs2, &
|
||||
rs2, zero, rs2, &
|
||||
rs2, zero, -rs2, &
|
||||
-rs2, zero, rs2, &
|
||||
-rs2, zero, -rs2, &
|
||||
rs2, rs2, zero, &
|
||||
rs2, -rs2, zero, &
|
||||
-rs2, rs2, zero, &
|
||||
-rs2, -rs2, zero], [3, na2])
|
||||
nlgp = nlgp + na2
|
||||
CASE ("A3")
|
||||
lebedev_grid(lgnum)%w(nlgp + 1:nlgp + na3) = w(1)
|
||||
lebedev_grid(lgnum)%r(1:3, nlgp + 1:nlgp + na3) = &
|
||||
RESHAPE((/rs3, rs3, rs3, &
|
||||
rs3, rs3, -rs3, &
|
||||
rs3, -rs3, rs3, &
|
||||
-rs3, rs3, rs3, &
|
||||
rs3, -rs3, -rs3, &
|
||||
-rs3, rs3, -rs3, &
|
||||
-rs3, -rs3, rs3, &
|
||||
-rs3, -rs3, -rs3/), (/3, na3/))
|
||||
RESHAPE([rs3, rs3, rs3, &
|
||||
rs3, rs3, -rs3, &
|
||||
rs3, -rs3, rs3, &
|
||||
-rs3, rs3, rs3, &
|
||||
rs3, -rs3, -rs3, &
|
||||
-rs3, rs3, -rs3, &
|
||||
-rs3, -rs3, rs3, &
|
||||
-rs3, -rs3, -rs3], [3, na3])
|
||||
nlgp = nlgp + na3
|
||||
CASE ("B")
|
||||
DO i = 1, np
|
||||
|
|
@ -220,30 +220,30 @@ CONTAINS
|
|||
y = rs2*SQRT(one - x**2)
|
||||
lebedev_grid(lgnum)%w(nlgp + nb*(i - 1) + 1:nlgp + nb*i) = w(i)
|
||||
lebedev_grid(lgnum)%r(1:3, nlgp + nb*(i - 1) + 1:nlgp + nb*i) = &
|
||||
RESHAPE((/x, y, y, &
|
||||
x, y, -y, &
|
||||
x, -y, y, &
|
||||
x, -y, -y, &
|
||||
-x, y, y, &
|
||||
-x, y, -y, &
|
||||
-x, -y, y, &
|
||||
-x, -y, -y, &
|
||||
y, x, y, &
|
||||
y, x, -y, &
|
||||
-y, x, y, &
|
||||
-y, x, -y, &
|
||||
y, -x, y, &
|
||||
y, -x, -y, &
|
||||
-y, -x, y, &
|
||||
-y, -x, -y, &
|
||||
y, y, x, &
|
||||
y, -y, x, &
|
||||
-y, y, x, &
|
||||
-y, -y, x, &
|
||||
y, y, -x, &
|
||||
y, -y, -x, &
|
||||
-y, y, -x, &
|
||||
-y, -y, -x/), (/3, nb/))
|
||||
RESHAPE([x, y, y, &
|
||||
x, y, -y, &
|
||||
x, -y, y, &
|
||||
x, -y, -y, &
|
||||
-x, y, y, &
|
||||
-x, y, -y, &
|
||||
-x, -y, y, &
|
||||
-x, -y, -y, &
|
||||
y, x, y, &
|
||||
y, x, -y, &
|
||||
-y, x, y, &
|
||||
-y, x, -y, &
|
||||
y, -x, y, &
|
||||
y, -x, -y, &
|
||||
-y, -x, y, &
|
||||
-y, -x, -y, &
|
||||
y, y, x, &
|
||||
y, -y, x, &
|
||||
-y, y, x, &
|
||||
-y, -y, x, &
|
||||
y, y, -x, &
|
||||
y, -y, -x, &
|
||||
-y, y, -x, &
|
||||
-y, -y, -x], [3, nb])
|
||||
END DO
|
||||
nlgp = nlgp + nb*np
|
||||
CASE ("C")
|
||||
|
|
@ -252,30 +252,30 @@ CONTAINS
|
|||
y = SQRT(one - x**2)
|
||||
lebedev_grid(lgnum)%w(nlgp + nc*(i - 1) + 1:nlgp + nc*i) = w(i)
|
||||
lebedev_grid(lgnum)%r(1:3, nlgp + nc*(i - 1) + 1:nlgp + nc*i) = &
|
||||
RESHAPE((/x, y, zero, &
|
||||
x, -y, zero, &
|
||||
-x, y, zero, &
|
||||
-x, -y, zero, &
|
||||
y, x, zero, &
|
||||
y, -x, zero, &
|
||||
-y, x, zero, &
|
||||
-y, -x, zero, &
|
||||
x, zero, y, &
|
||||
x, zero, -y, &
|
||||
-x, zero, y, &
|
||||
-x, zero, -y, &
|
||||
y, zero, x, &
|
||||
y, zero, -x, &
|
||||
-y, zero, x, &
|
||||
-y, zero, -x, &
|
||||
zero, x, y, &
|
||||
zero, x, -y, &
|
||||
zero, -x, y, &
|
||||
zero, -x, -y, &
|
||||
zero, y, x, &
|
||||
zero, y, -x, &
|
||||
zero, -y, x, &
|
||||
zero, -y, -x/), (/3, nc/))
|
||||
RESHAPE([x, y, zero, &
|
||||
x, -y, zero, &
|
||||
-x, y, zero, &
|
||||
-x, -y, zero, &
|
||||
y, x, zero, &
|
||||
y, -x, zero, &
|
||||
-y, x, zero, &
|
||||
-y, -x, zero, &
|
||||
x, zero, y, &
|
||||
x, zero, -y, &
|
||||
-x, zero, y, &
|
||||
-x, zero, -y, &
|
||||
y, zero, x, &
|
||||
y, zero, -x, &
|
||||
-y, zero, x, &
|
||||
-y, zero, -x, &
|
||||
zero, x, y, &
|
||||
zero, x, -y, &
|
||||
zero, -x, y, &
|
||||
zero, -x, -y, &
|
||||
zero, y, x, &
|
||||
zero, y, -x, &
|
||||
zero, -y, x, &
|
||||
zero, -y, -x], [3, nc])
|
||||
END DO
|
||||
nlgp = nlgp + nc*np
|
||||
CASE ("D")
|
||||
|
|
@ -287,18 +287,18 @@ CONTAINS
|
|||
z = r(i + 2)
|
||||
lebedev_grid(lgnum)%w(nlgp + nd*(j - 1) + 1:nlgp + nd*j) = w(j)
|
||||
lebedev_grid(lgnum)%r(1:3, nlgp + nd*(j - 1) + 1:nlgp + nd*j) = &
|
||||
RESHAPE((/x, y, z, x, y, -z, x, -y, z, -x, y, z, &
|
||||
x, -y, -z, -x, y, -z, -x, -y, z, -x, -y, -z, &
|
||||
x, z, y, x, z, -y, x, -z, y, -x, z, y, &
|
||||
x, -z, -y, -x, z, -y, -x, -z, y, -x, -z, -y, &
|
||||
y, x, z, y, x, -z, y, -x, z, -y, x, z, &
|
||||
y, -x, -z, -y, x, -z, -y, -x, z, -y, -x, -z, &
|
||||
y, z, x, y, z, -x, y, -z, x, -y, z, x, &
|
||||
y, -z, -x, -y, z, -x, -y, -z, x, -y, -z, -x, &
|
||||
z, x, y, z, x, -y, z, -x, y, -z, x, y, &
|
||||
z, -x, -y, -z, x, -y, -z, -x, y, -z, -x, -y, &
|
||||
z, y, x, z, y, -x, z, -y, x, -z, y, x, &
|
||||
z, -y, -x, -z, y, -x, -z, -y, x, -z, -y, -x/), (/3, nd/))
|
||||
RESHAPE([x, y, z, x, y, -z, x, -y, z, -x, y, z, &
|
||||
x, -y, -z, -x, y, -z, -x, -y, z, -x, -y, -z, &
|
||||
x, z, y, x, z, -y, x, -z, y, -x, z, y, &
|
||||
x, -z, -y, -x, z, -y, -x, -z, y, -x, -z, -y, &
|
||||
y, x, z, y, x, -z, y, -x, z, -y, x, z, &
|
||||
y, -x, -z, -y, x, -z, -y, -x, z, -y, -x, -z, &
|
||||
y, z, x, y, z, -x, y, -z, x, -y, z, x, &
|
||||
y, -z, -x, -y, z, -x, -y, -z, x, -y, -z, -x, &
|
||||
z, x, y, z, x, -y, z, -x, y, -z, x, y, &
|
||||
z, -x, -y, -z, x, -y, -z, -x, y, -z, -x, -y, &
|
||||
z, y, x, z, y, -x, z, -y, x, -z, y, x, &
|
||||
z, -y, -x, -z, y, -x, -z, -y, x, -z, -y, -x], [3, nd])
|
||||
END DO
|
||||
ELSE
|
||||
CPABORT("Subsytem D: np is not modulo 3 (check argument #3)")
|
||||
|
|
@ -355,12 +355,12 @@ CONTAINS
|
|||
|
||||
! *** Load the angular momentum quantum numbers l of the Lebedev grids ***
|
||||
|
||||
lebedev_grid(1:nlg)%l = (/3, 5, 7, 9, 11, 15, 17, 19, 23, 29, 35, 41, 47, 53/)
|
||||
lebedev_grid(1:nlg)%l = [3, 5, 7, 9, 11, 15, 17, 19, 23, 29, 35, 41, 47, 53]
|
||||
|
||||
! *** Load the total number of grid points for each Lebedev grid ***
|
||||
|
||||
lebedev_grid(1:nlg)%n = (/6, 14, 26, 38, 50, 86, 110, 146, 194, 302, 434, 590, 770, &
|
||||
974/)
|
||||
lebedev_grid(1:nlg)%n = [6, 14, 26, 38, 50, 86, 110, 146, 194, 302, 434, 590, 770, &
|
||||
974]
|
||||
|
||||
! *** Allocate storage for the Lebedev grids ***
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ MODULE mathconstants
|
|||
! gamma(n + 1/2) = gamma1(n) = SQRT(pi)/2^n (2n - 1)!!
|
||||
|
||||
INTEGER, PARAMETER :: maxfac = 30
|
||||
REAL(KIND=dp), PARAMETER, DIMENSION(0:maxfac) :: fac = (/ &
|
||||
REAL(KIND=dp), PARAMETER, DIMENSION(0:maxfac) :: fac = [ &
|
||||
0.10000000000000000000E+01_dp, 0.10000000000000000000E+01_dp, 0.20000000000000000000E+01_dp, &
|
||||
0.60000000000000000000E+01_dp, 0.24000000000000000000E+02_dp, 0.12000000000000000000E+03_dp, &
|
||||
0.72000000000000000000E+03_dp, 0.50400000000000000000E+04_dp, 0.40320000000000000000E+05_dp, &
|
||||
|
|
@ -45,8 +45,8 @@ MODULE mathconstants
|
|||
0.51090942171709440000E+20_dp, 0.11240007277776076800E+22_dp, 0.25852016738884976640E+23_dp, &
|
||||
0.62044840173323943936E+24_dp, 0.15511210043330985984E+26_dp, 0.40329146112660563558E+27_dp, &
|
||||
0.10888869450418352161E+29_dp, 0.30488834461171386050E+30_dp, 0.88417619937397019545E+31_dp, &
|
||||
0.26525285981219105864E+33_dp/)
|
||||
REAL(KIND=dp), PARAMETER, DIMENSION(0:maxfac) :: ifac = (/ &
|
||||
0.26525285981219105864E+33_dp]
|
||||
REAL(KIND=dp), PARAMETER, DIMENSION(0:maxfac) :: ifac = [ &
|
||||
0.10000000000000000000E+01_dp, 0.10000000000000000000E+01_dp, 0.50000000000000000000E+00_dp, &
|
||||
0.16666666666666666667E+00_dp, 0.41666666666666666667E-01_dp, 0.83333333333333333333E-02_dp, &
|
||||
0.13888888888888888889E-02_dp, 0.19841269841269841270E-03_dp, 0.24801587301587301587E-04_dp, &
|
||||
|
|
@ -57,8 +57,8 @@ MODULE mathconstants
|
|||
0.19572941063391261231E-19_dp, 0.88967913924505732867E-21_dp, 0.38681701706306840377E-22_dp, &
|
||||
0.16117375710961183490E-23_dp, 0.64469502843844733962E-25_dp, 0.24795962632247974601E-26_dp, &
|
||||
0.91836898637955461484E-28_dp, 0.32798892370698379102E-29_dp, 0.11309962886447716932E-30_dp, &
|
||||
0.37699876288159056439E-32_dp/)
|
||||
REAL(KIND=dp), PARAMETER, DIMENSION(-1:2*maxfac + 1) :: dfac = (/ &
|
||||
0.37699876288159056439E-32_dp]
|
||||
REAL(KIND=dp), PARAMETER, DIMENSION(-1:2*maxfac + 1) :: dfac = [ &
|
||||
0.10000000000000000000E+01_dp, 0.10000000000000000000E+01_dp, 0.10000000000000000000E+01_dp, &
|
||||
0.20000000000000000000E+01_dp, 0.30000000000000000000E+01_dp, 0.80000000000000000000E+01_dp, &
|
||||
0.15000000000000000000E+02_dp, 0.48000000000000000000E+02_dp, 0.10500000000000000000E+03_dp, &
|
||||
|
|
@ -79,8 +79,8 @@ MODULE mathconstants
|
|||
0.52046984263666662269E+33_dp, 0.29802279137433108747E+34_dp, 0.27064431817106664380E+35_dp, &
|
||||
0.15795207942839547636E+36_dp, 0.14614793181237598765E+37_dp, 0.86873643685617511998E+37_dp, &
|
||||
0.81842841814930553085E+38_dp, 0.49517976900801981839E+39_dp, 0.47468848252659720789E+40_dp, &
|
||||
0.29215606371473169285E+41_dp, 0.28481308951595832474E+42_dp, 0.17821519886598633264E+43_dp/)
|
||||
REAL(KIND=dp), PARAMETER, DIMENSION(0:maxfac) :: gamma0 = (/ &
|
||||
0.29215606371473169285E+41_dp, 0.28481308951595832474E+42_dp, 0.17821519886598633264E+43_dp]
|
||||
REAL(KIND=dp), PARAMETER, DIMENSION(0:maxfac) :: gamma0 = [ &
|
||||
0.00000000000000000000E+00_dp, 0.10000000000000000000E+01_dp, 0.10000000000000000000E+01_dp, &
|
||||
0.20000000000000000000E+01_dp, 0.60000000000000000000E+01_dp, 0.24000000000000000000E+02_dp, &
|
||||
0.12000000000000000000E+03_dp, 0.72000000000000000000E+03_dp, 0.50400000000000000000E+04_dp, &
|
||||
|
|
@ -91,8 +91,8 @@ MODULE mathconstants
|
|||
0.24329020081766400000E+19_dp, 0.51090942171709440000E+20_dp, 0.11240007277776076800E+22_dp, &
|
||||
0.25852016738884976640E+23_dp, 0.62044840173323943936E+24_dp, 0.15511210043330985984E+26_dp, &
|
||||
0.40329146112660563558E+27_dp, 0.10888869450418352161E+29_dp, 0.30488834461171386050E+30_dp, &
|
||||
0.88417619937397019545E+31_dp/)
|
||||
REAL(KIND=dp), PARAMETER, DIMENSION(0:maxfac) :: gamma1 = (/ &
|
||||
0.88417619937397019545E+31_dp]
|
||||
REAL(KIND=dp), PARAMETER, DIMENSION(0:maxfac) :: gamma1 = [ &
|
||||
0.17724538509055160273E+01_dp, 0.88622692545275801365E+00_dp, 0.13293403881791370205E+01_dp, &
|
||||
0.33233509704478425512E+01_dp, 0.11631728396567448929E+02_dp, 0.52342777784553520181E+02_dp, &
|
||||
0.28788527781504436100E+03_dp, 0.18712543057977883465E+04_dp, 0.14034407293483412599E+05_dp, &
|
||||
|
|
@ -103,7 +103,7 @@ MODULE mathconstants
|
|||
0.11082798113786903842E+20_dp, 0.23828015944641843260E+21_dp, 0.53613035875444147334E+22_dp, &
|
||||
0.12599063430729374624E+24_dp, 0.30867705405286967828E+25_dp, 0.78712648783481767961E+26_dp, &
|
||||
0.20858851927622668510E+28_dp, 0.57361842800962338401E+29_dp, 0.16348125198274266444E+31_dp, &
|
||||
0.48226969334909086011E+32_dp/)
|
||||
0.48226969334909086011E+32_dp]
|
||||
|
||||
! Constants related to Pi
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -348,7 +348,7 @@ CONTAINS
|
|||
prev_stat%excl_energy_accu = prev_stat%excl_energy_accu - en_elapsed
|
||||
|
||||
!update callgraph
|
||||
routine_tuple = (/prev_cs_entry%routine_id, routine_id/)
|
||||
routine_tuple = [prev_cs_entry%routine_id, routine_id]
|
||||
c_stat => callgraph_get(timer_env%callgraph, routine_tuple, default_value=Null(c_stat))
|
||||
IF (.NOT. ASSOCIATED(c_stat)) THEN
|
||||
ALLOCATE (c_stat)
|
||||
|
|
|
|||
|
|
@ -184,7 +184,7 @@ CONTAINS
|
|||
CALL para_env%sum(r_report%sum_stackdepth)
|
||||
|
||||
! get value and rank of the maximum inclusive cost
|
||||
dbuf = (/r_report%max_icost, REAL(para_env%mepos, KIND=dp)/)
|
||||
dbuf = [r_report%max_icost, REAL(para_env%mepos, KIND=dp)]
|
||||
CALL para_env%maxloc(dbuf)
|
||||
r_report%max_icost = dbuf(1)
|
||||
r_report%max_irank = INT(dbuf(2))
|
||||
|
|
@ -192,7 +192,7 @@ CONTAINS
|
|||
CALL para_env%sum(r_report%sum_icost)
|
||||
|
||||
! get value and rank of the maximum exclusive cost
|
||||
dbuf = (/r_report%max_ecost, REAL(para_env%mepos, KIND=dp)/)
|
||||
dbuf = [r_report%max_ecost, REAL(para_env%mepos, KIND=dp)]
|
||||
CALL para_env%maxloc(dbuf)
|
||||
r_report%max_ecost = dbuf(1)
|
||||
r_report%max_erank = INT(dbuf(2))
|
||||
|
|
|
|||
|
|
@ -272,7 +272,7 @@ CONTAINS
|
|||
CALL overlap(la_max(iset), la_min(iset), npgfa(iset), rpgfa(:, iset), zeta(:, iset), &
|
||||
lc_max, lc_min, 1, rprjc, zetc, rac, dac, sab(:, :, 1), 0, .FALSE., ai_work, ldai)
|
||||
CALL moment(la_max(iset), npgfa(iset), zeta(:, iset), rpgfa(:, iset), la_min(iset), &
|
||||
lc_max, 1, zetc, rprjc, 1, rac, (/0._dp, 0._dp, 0._dp/), sab(:, :, 2:4))
|
||||
lc_max, 1, zetc, rprjc, 1, rac, [0._dp, 0._dp, 0._dp], sab(:, :, 2:4))
|
||||
! *** Transformation step projector functions (cartesian->spherical) ***
|
||||
DO i = 1, maxder
|
||||
CALL dgemm("N", "N", ncoa, nprjc, ncoc, 1.0_dp, sab(1, 1, i), ldsab, &
|
||||
|
|
|
|||
|
|
@ -411,7 +411,7 @@ CONTAINS
|
|||
! Calculate the primitive angular momentum integrals needed for spin-orbit coupling
|
||||
lab = 0.0_dp
|
||||
CALL angmom(la_max(iset), npgfa(iset), zeta(:, iset), rpgfa(:, iset), la_min(iset), &
|
||||
lc_max, 1, zetc, rprjc, -rac, (/0._dp, 0._dp, 0._dp/), lab)
|
||||
lc_max, 1, zetc, rprjc, -rac, [0._dp, 0._dp, 0._dp], lab)
|
||||
DO i_dim = 1, 3
|
||||
work_l(1:na, prjc:prjc + nb - 1, i_dim) = &
|
||||
MATMUL(lab(1:na, 1:np, i_dim), cprj(1:np, prjc:prjc + nb - 1))
|
||||
|
|
|
|||
|
|
@ -417,7 +417,7 @@ CONTAINS
|
|||
IF (debug_dipole) THEN
|
||||
IF (force_env%in_use == use_qs_force) THEN
|
||||
CALL get_qs_env(force_env%qs_env, dft_control=dft_control)
|
||||
poldir = (/0.0_dp, 0.0_dp, 1.0_dp/)
|
||||
poldir = [0.0_dp, 0.0_dp, 1.0_dp]
|
||||
amplitude = 0.0_dp
|
||||
CALL set_efield(dft_control, amplitude, poldir)
|
||||
CALL force_env_calc_energy_force(force_env, calc_force=.TRUE.)
|
||||
|
|
@ -491,7 +491,7 @@ CONTAINS
|
|||
IF (debug_polar) THEN
|
||||
IF (force_env%in_use == use_qs_force) THEN
|
||||
CALL get_qs_env(force_env%qs_env, dft_control=dft_control)
|
||||
poldir = (/0.0_dp, 0.0_dp, 1.0_dp/)
|
||||
poldir = [0.0_dp, 0.0_dp, 1.0_dp]
|
||||
amplitude = 0.0_dp
|
||||
CALL set_efield(dft_control, amplitude, poldir)
|
||||
CALL force_env_calc_energy_force(force_env, calc_force=.FALSE.)
|
||||
|
|
@ -499,7 +499,7 @@ CONTAINS
|
|||
description = "[POLAR]"
|
||||
IF (test_for_result(results, description=description)) THEN
|
||||
CALL get_results(results, description=description, values=pvals)
|
||||
polar_analytic(1:3, 1:3) = RESHAPE(pvals(1:9), (/3, 3/))
|
||||
polar_analytic(1:3, 1:3) = RESHAPE(pvals(1:9), [3, 3])
|
||||
ELSE
|
||||
CALL cp_warn(__LOCATION__, "Debug of polarizabilities needs PROPERTIES/LINRES/POLAR section enabled")
|
||||
CPABORT("DEBUG")
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ CONTAINS
|
|||
CALL section_create(section, __LOCATION__, name="DBCSR", &
|
||||
description="Configuration options for the DBCSR library.", &
|
||||
n_keywords=1, n_subsections=0, repeats=.FALSE., &
|
||||
citations=(/Borstnik2014, Schuett2016/))
|
||||
citations=[Borstnik2014, Schuett2016])
|
||||
|
||||
NULLIFY (keyword)
|
||||
|
||||
|
|
@ -117,15 +117,15 @@ CONTAINS
|
|||
usage="mm_driver blas", &
|
||||
default_i_val=mm_driver_auto, &
|
||||
enum_c_vals=s2a("AUTO", "BLAS", "MATMUL", "SMM", "XSMM"), &
|
||||
enum_i_vals=(/mm_driver_auto, mm_driver_blas, mm_driver_matmul, mm_driver_smm, &
|
||||
mm_driver_xsmm/), &
|
||||
enum_i_vals=[mm_driver_auto, mm_driver_blas, mm_driver_matmul, mm_driver_smm, &
|
||||
mm_driver_xsmm], &
|
||||
enum_desc=s2a("Choose automatically the best available driver", &
|
||||
"BLAS (requires the BLAS library at link time)", &
|
||||
"Fortran MATMUL", &
|
||||
"Library optimised for Small Matrix Multiplies "// &
|
||||
"(requires the SMM library at link time)", &
|
||||
"LIBXSMM"), &
|
||||
citations=(/Heinecke2016/))
|
||||
citations=[Heinecke2016])
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
|
|
|
|||
|
|
@ -640,7 +640,7 @@ CONTAINS
|
|||
nelement_max = nelement(mype)
|
||||
CALL para_env%sum(nblock_sum)
|
||||
CALL para_env%sum(nelement_sum)
|
||||
tmp = (/nblock_max, nelement_max/)
|
||||
tmp = [nblock_max, nelement_max]
|
||||
CALL para_env%max(tmp)
|
||||
nblock_max = tmp(1); nelement_max = tmp(2)
|
||||
END IF
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@ CONTAINS
|
|||
d_el = 0.0_dp
|
||||
fac = 1.e0_dp/cell%deth
|
||||
fac3 = fac/8.0_dp
|
||||
fvec = twopi/(/cell%hmat(1, 1), cell%hmat(2, 2), cell%hmat(3, 3)/)
|
||||
fvec = twopi/[cell%hmat(1, 1), cell%hmat(2, 2), cell%hmat(3, 3)]
|
||||
!
|
||||
DO iparticle1 = 1, SIZE(particle_set)
|
||||
!NB parallelization
|
||||
|
|
@ -192,7 +192,7 @@ CONTAINS
|
|||
DO k3 = -nmax3, nmax3
|
||||
IF (k1 == 0 .AND. k2 == 0 .AND. k3 == 0) CYCLE
|
||||
fs = 2.0_dp; IF (k1 == 0) fs = 1.0_dp
|
||||
gvec = fvec*(/REAL(k1, KIND=dp), REAL(k2, KIND=dp), REAL(k3, KIND=dp)/)
|
||||
gvec = fvec*[REAL(k1, KIND=dp), REAL(k2, KIND=dp), REAL(k3, KIND=dp)]
|
||||
gsq = DOT_PRODUCT(gvec, gvec)
|
||||
gsqi = fs/gsq
|
||||
t1 = fac*gsqi*EXP(-galpha*gsq)
|
||||
|
|
|
|||
|
|
@ -672,7 +672,7 @@ CONTAINS
|
|||
rmax3 = CEILING(rcut/cell%hmat(3, 3))
|
||||
fac = 1.e0_dp/cell%deth
|
||||
fac3 = fac*pi
|
||||
fvec = twopi/(/cell%hmat(1, 1), cell%hmat(2, 2), cell%hmat(3, 3)/)
|
||||
fvec = twopi/[cell%hmat(1, 1), cell%hmat(2, 2), cell%hmat(3, 3)]
|
||||
ew_neut = -fac*pi/alpha**2
|
||||
!
|
||||
ewmdim = SIZE(particle_set)*(SIZE(particle_set) + 1)/2
|
||||
|
|
@ -734,7 +734,7 @@ CONTAINS
|
|||
DO k3 = -nmax3, nmax3
|
||||
IF (k1 == 0 .AND. k2 == 0 .AND. k3 == 0) CYCLE
|
||||
fs = 2.0_dp; IF (k1 == 0) fs = 1.0_dp
|
||||
gvec = fvec*(/REAL(k1, KIND=dp), REAL(k2, KIND=dp), REAL(k3, KIND=dp)/)
|
||||
gvec = fvec*[REAL(k1, KIND=dp), REAL(k2, KIND=dp), REAL(k3, KIND=dp)]
|
||||
gsq = DOT_PRODUCT(gvec, gvec)
|
||||
gsqi = fs/gsq
|
||||
t1 = fac*gsqi*EXP(-galpha*gsq)
|
||||
|
|
|
|||
|
|
@ -369,7 +369,7 @@ CONTAINS
|
|||
nmax2 = NINT(0.25_dp + hmat(2, 2)*alpha*tol1/pi)
|
||||
nmax3 = NINT(0.25_dp + hmat(3, 3)*alpha*tol1/pi)
|
||||
fac = 1.e0_dp/deth
|
||||
fvec = 2.0_dp*pi/(/hmat(1, 1), hmat(2, 2), hmat(3, 3)/)
|
||||
fvec = 2.0_dp*pi/[hmat(1, 1), hmat(2, 2), hmat(3, 3)]
|
||||
ndim = (nmax1 + 1)*(2*nmax2 + 1)*(2*nmax3 + 1) - 1
|
||||
ALLOCATE (LG(ndim))
|
||||
ALLOCATE (gx(ndim))
|
||||
|
|
|
|||
|
|
@ -685,7 +685,7 @@ CONTAINS
|
|||
CALL keyword_create(keyword, __LOCATION__, name="POTENTIAL", &
|
||||
description="Operator to test", &
|
||||
default_i_val=eri_mme_coulomb, &
|
||||
enum_i_vals=(/eri_mme_coulomb, eri_mme_yukawa, eri_mme_longrange/), &
|
||||
enum_i_vals=[eri_mme_coulomb, eri_mme_yukawa, eri_mme_longrange], &
|
||||
enum_c_vals=s2a("COULOMB", "YUKAWA", "LONGRANGE"), &
|
||||
enum_desc=s2a("1/r", "exp(-a*r)/r", "erf(a*r)/r"))
|
||||
CALL section_add_keyword(section, keyword)
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ CONTAINS
|
|||
IF (SIZE(seed_vals) == 1) THEN
|
||||
subsys%seed(:, :) = REAL(seed_vals(1), KIND=dp)
|
||||
ELSE IF (SIZE(seed_vals) == 6) THEN
|
||||
subsys%seed(1:3, 1:2) = RESHAPE(REAL(seed_vals(:), KIND=dp), (/3, 2/))
|
||||
subsys%seed(1:3, 1:2) = RESHAPE(REAL(seed_vals(:), KIND=dp), [3, 2])
|
||||
ELSE
|
||||
CPABORT("Supply exactly 1 or 6 arguments for SEED in &SUBSYS only!")
|
||||
END IF
|
||||
|
|
|
|||
|
|
@ -210,7 +210,7 @@ CONTAINS
|
|||
CYCLE
|
||||
END IF
|
||||
|
||||
CALL C_F_POINTER(block_c, block, shape=(/row_size, col_size/))
|
||||
CALL C_F_POINTER(block_c, block, shape=[row_size, col_size])
|
||||
DO i = 1, row_size
|
||||
DO j = 1, col_size
|
||||
rel_diff = ABS(block(i, j) - block_dbcsr(i, j))/MAX(1.0_dp, ABS(block_dbcsr(i, j)))
|
||||
|
|
@ -468,7 +468,7 @@ CONTAINS
|
|||
CALL dbm_get_block_p_c(matrix=matrix%c_ptr, row=row - 1, col=col - 1, &
|
||||
block=block_c, row_size=my_row_size, col_size=my_col_size)
|
||||
IF (C_ASSOCIATED(block_c)) THEN
|
||||
CALL C_F_POINTER(block_c, block, shape=(/my_row_size, my_col_size/))
|
||||
CALL C_F_POINTER(block_c, block, shape=[my_row_size, my_col_size])
|
||||
ELSE
|
||||
NULLIFY (block) ! block not found
|
||||
END IF
|
||||
|
|
@ -931,7 +931,7 @@ CONTAINS
|
|||
row_size=my_row_size, col_size=my_col_size)
|
||||
|
||||
CPASSERT(C_ASSOCIATED(block_c))
|
||||
IF (PRESENT(block)) CALL C_F_POINTER(block_c, block, shape=(/my_row_size, my_col_size/))
|
||||
IF (PRESENT(block)) CALL C_F_POINTER(block_c, block, shape=[my_row_size, my_col_size])
|
||||
row = row0 + 1
|
||||
column = col0 + 1
|
||||
IF (PRESENT(row_size)) row_size = my_row_size
|
||||
|
|
@ -1036,7 +1036,7 @@ CONTAINS
|
|||
|
||||
name_c = dbm_get_name_c(matrix%c_ptr)
|
||||
|
||||
CALL C_F_POINTER(name_c, name_f, shape=(/default_string_length/))
|
||||
CALL C_F_POINTER(name_c, name_f, shape=[default_string_length])
|
||||
|
||||
res = ""
|
||||
DO i = 1, default_string_length
|
||||
|
|
@ -1115,7 +1115,7 @@ CONTAINS
|
|||
END INTERFACE
|
||||
|
||||
CALL dbm_get_row_sizes_c(matrix%c_ptr, nrows, row_sizes)
|
||||
CALL C_F_POINTER(row_sizes, res, shape=(/nrows/))
|
||||
CALL C_F_POINTER(row_sizes, res, shape=[nrows])
|
||||
! TODO: maybe return an ALLOCATABLE
|
||||
END FUNCTION dbm_get_row_block_sizes
|
||||
|
||||
|
|
@ -1142,7 +1142,7 @@ CONTAINS
|
|||
END INTERFACE
|
||||
|
||||
CALL dbm_get_col_sizes_c(matrix%c_ptr, ncols, col_sizes)
|
||||
CALL C_F_POINTER(col_sizes, res, shape=(/ncols/))
|
||||
CALL C_F_POINTER(col_sizes, res, shape=[ncols])
|
||||
! TODO: maybe return an ALLOCATABLE
|
||||
END FUNCTION dbm_get_col_block_sizes
|
||||
|
||||
|
|
@ -1171,7 +1171,7 @@ CONTAINS
|
|||
END INTERFACE
|
||||
|
||||
CALL dbm_get_local_rows_c(matrix%c_ptr, nlocal_rows, local_rows_c)
|
||||
CALL C_F_POINTER(local_rows_c, local_rows_ptr, shape=(/nlocal_rows/))
|
||||
CALL C_F_POINTER(local_rows_c, local_rows_ptr, shape=[nlocal_rows])
|
||||
ALLOCATE (local_rows(nlocal_rows))
|
||||
local_rows(:) = local_rows_ptr(:) + 1
|
||||
|
||||
|
|
@ -1208,7 +1208,7 @@ CONTAINS
|
|||
END INTERFACE
|
||||
|
||||
CALL dbm_get_local_cols_c(matrix%c_ptr, nlocal_cols, local_cols_c)
|
||||
CALL C_F_POINTER(local_cols_c, local_cols_ptr, shape=(/nlocal_cols/))
|
||||
CALL C_F_POINTER(local_cols_c, local_cols_ptr, shape=[nlocal_cols])
|
||||
ALLOCATE (local_cols(nlocal_cols))
|
||||
local_cols(:) = local_cols_ptr(:) + 1
|
||||
|
||||
|
|
@ -1350,7 +1350,7 @@ CONTAINS
|
|||
ALLOCATE (pgrid(0:npdims(1) - 1, 0:npdims(2) - 1))
|
||||
DO prow = 0, npdims(1) - 1
|
||||
DO pcol = 0, npdims(2) - 1
|
||||
coord = (/prow, pcol/)
|
||||
coord = [prow, pcol]
|
||||
CALL mp_comm%rank_cart(coord, pgrid(prow, pcol))
|
||||
END DO
|
||||
END DO
|
||||
|
|
@ -1437,7 +1437,7 @@ CONTAINS
|
|||
END INTERFACE
|
||||
|
||||
CALL dbm_distribution_row_dist_c(dist%c_ptr, nrows, row_dist)
|
||||
CALL C_F_POINTER(row_dist, res, shape=(/nrows/))
|
||||
CALL C_F_POINTER(row_dist, res, shape=[nrows])
|
||||
|
||||
#if defined(DBM_VALIDATE_AGAINST_DBCSR)
|
||||
CPASSERT(ALL(res == dbcsr_distribution_row_dist(dist%dbcsr)))
|
||||
|
|
@ -1467,7 +1467,7 @@ CONTAINS
|
|||
END INTERFACE
|
||||
|
||||
CALL dbm_distribution_col_dist_c(dist%c_ptr, ncols, col_dist)
|
||||
CALL C_F_POINTER(col_dist, res, shape=(/ncols/))
|
||||
CALL C_F_POINTER(col_dist, res, shape=[ncols])
|
||||
|
||||
#if defined(DBM_VALIDATE_AGAINST_DBCSR)
|
||||
CPASSERT(ALL(res == dbcsr_distribution_col_dist(dist%dbcsr)))
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ CONTAINS
|
|||
bmax = MAXVAL(bs_m(2::2))
|
||||
CALL generate_mixed_block_sizes(sizes_m, matrix_sizes(1), bs_m)
|
||||
ELSE
|
||||
CALL generate_mixed_block_sizes(sizes_m, matrix_sizes(1), (/1, 13, 2, 5/))
|
||||
CALL generate_mixed_block_sizes(sizes_m, matrix_sizes(1), [1, 13, 2, 5])
|
||||
bmin = 5; bmax = 13
|
||||
END IF
|
||||
IF (ASSOCIATED(bs_n)) THEN
|
||||
|
|
@ -100,7 +100,7 @@ CONTAINS
|
|||
bmax = MAX(bmax, MAXVAL(bs_n(2::2)))
|
||||
CALL generate_mixed_block_sizes(sizes_n, matrix_sizes(2), bs_n)
|
||||
ELSE
|
||||
CALL generate_mixed_block_sizes(sizes_n, matrix_sizes(2), (/1, 13, 2, 5/))
|
||||
CALL generate_mixed_block_sizes(sizes_n, matrix_sizes(2), [1, 13, 2, 5])
|
||||
bmin = MIN(bmin, 5); bmax = MAX(bmax, 13)
|
||||
END IF
|
||||
IF (ASSOCIATED(bs_k)) THEN
|
||||
|
|
@ -108,7 +108,7 @@ CONTAINS
|
|||
bmax = MAX(bmax, MAXVAL(bs_k(2::2)))
|
||||
CALL generate_mixed_block_sizes(sizes_k, matrix_sizes(3), bs_k)
|
||||
ELSE
|
||||
CALL generate_mixed_block_sizes(sizes_k, matrix_sizes(3), (/1, 13, 2, 5/))
|
||||
CALL generate_mixed_block_sizes(sizes_k, matrix_sizes(3), [1, 13, 2, 5])
|
||||
bmin = MIN(bmin, 5); bmax = MAX(bmax, 13)
|
||||
END IF
|
||||
|
||||
|
|
|
|||
|
|
@ -556,7 +556,7 @@ CONTAINS
|
|||
|
||||
shape_2d = [PRODUCT(sizes(map1_2d)), PRODUCT(sizes(map2_2d))]
|
||||
|
||||
IF (ALL([map1_2d, map2_2d] == (/(i, i=1, ${ndim}$)/))) THEN
|
||||
IF (ALL([map1_2d, map2_2d] == [(i, i=1, ${ndim}$)])) THEN
|
||||
! to avoid costly reshape can do pointer bounds remapping as long as arrays are equivalent in memory
|
||||
block_2d(1:shape_2d(1), 1:shape_2d(2)) => block(${shape_colon(ndim)}$)
|
||||
ELSE
|
||||
|
|
@ -639,7 +639,7 @@ CONTAINS
|
|||
found = ASSOCIATED(block_2d_ptr)
|
||||
|
||||
IF (found) THEN
|
||||
IF (ALL([map1_2d, map2_2d] == (/(i, i=1, ${ndim}$)/))) THEN
|
||||
IF (ALL([map1_2d, map2_2d] == [(i, i=1, ${ndim}$)])) THEN
|
||||
! to avoid costly reshape can do pointer bounds remapping as long as arrays are equivalent in memory
|
||||
block_ptr(${shape_explicit('block', ndim)}$) => block_2d_ptr(:, :)
|
||||
block(${shape_colon(ndim)}$) = block_ptr(${shape_colon(ndim)}$)
|
||||
|
|
|
|||
|
|
@ -100,8 +100,8 @@ CONTAINS
|
|||
ALLOCATE (map%dims2_2d, source=dims(map2_2d))
|
||||
|
||||
ALLOCATE (map%map_nd(map%ndim_nd))
|
||||
map%map_nd(map1_2d) = (/(i, i=1, SIZE(map1_2d))/)
|
||||
map%map_nd(map2_2d) = (/(i + SIZE(map1_2d), i=1, SIZE(map2_2d))/)
|
||||
map%map_nd(map1_2d) = [(i, i=1, SIZE(map1_2d))]
|
||||
map%map_nd(map2_2d) = [(i + SIZE(map1_2d), i=1, SIZE(map2_2d))]
|
||||
|
||||
map%dims_2d = [PRODUCT(INT(map%dims1_2d, KIND=int_8)), PRODUCT(INT(map%dims2_2d, KIND=int_8))]
|
||||
|
||||
|
|
@ -412,7 +412,7 @@ CONTAINS
|
|||
|
||||
INTEGER :: i
|
||||
|
||||
dbt_inverse_order(order) = (/(i, i=1, SIZE(order))/)
|
||||
dbt_inverse_order(order) = [(i, i=1, SIZE(order))]
|
||||
END FUNCTION
|
||||
|
||||
! **************************************************************************************************
|
||||
|
|
|
|||
|
|
@ -140,7 +140,7 @@ CONTAINS
|
|||
nblock_sum = dbt_get_num_blocks_total(tensor)
|
||||
nelement_sum = dbt_get_nze_total(tensor)
|
||||
|
||||
tmp = (/nblock, nelement/)
|
||||
tmp = [nblock, nelement]
|
||||
CALL tensor%pgrid%mp_comm_2d%max(tmp)
|
||||
nblock_max = tmp(1); nelement_max = tmp(2)
|
||||
|
||||
|
|
|
|||
|
|
@ -126,7 +126,7 @@ CONTAINS
|
|||
INTEGER, INTENT(IN) :: n
|
||||
INTEGER :: k
|
||||
INTEGER :: factorial
|
||||
factorial = PRODUCT((/(k, k=1, n)/))
|
||||
factorial = PRODUCT([(k, k=1, n)])
|
||||
END FUNCTION
|
||||
|
||||
! **************************************************************************************************
|
||||
|
|
|
|||
|
|
@ -1363,8 +1363,8 @@ CONTAINS
|
|||
|
||||
ALLOCATE (map1_2d(ndims/2))
|
||||
ALLOCATE (map2_2d(ndims - ndims/2))
|
||||
map1_2d(:) = (/(i, i=1, SIZE(map1_2d))/)
|
||||
map2_2d(:) = (/(i, i=SIZE(map1_2d) + 1, SIZE(map1_2d) + SIZE(map2_2d))/)
|
||||
map1_2d(:) = [(i, i=1, SIZE(map1_2d))]
|
||||
map2_2d(:) = [(i, i=SIZE(map1_2d) + 1, SIZE(map1_2d) + SIZE(map2_2d))]
|
||||
|
||||
CALL dbt_pgrid_create_expert(mp_comm, dims, pgrid, map1_2d, map2_2d, tensor_dims)
|
||||
|
||||
|
|
|
|||
|
|
@ -541,7 +541,7 @@ CONTAINS
|
|||
bin_mask = occup == min_occup
|
||||
n_avail = COUNT(bin_mask)
|
||||
ALLOCATE (bins_avail(n_avail))
|
||||
bins_avail(:) = PACK((/(i, i=1, nbin)/), MASK=bin_mask)
|
||||
bins_avail(:) = PACK([(i, i=1, nbin)], MASK=bin_mask)
|
||||
|
||||
CALL dlarnv(1, iseed, 1, rand)
|
||||
i_select = FLOOR(rand*n_avail) + 1
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ CONTAINS
|
|||
ndbt_p_sum = dbt_tas_get_num_blocks_total(matrix)
|
||||
nelement_p_sum = dbt_tas_get_nze_total(matrix)
|
||||
|
||||
tmp = (/nblock, nelement/)
|
||||
tmp = [nblock, nelement]
|
||||
CALL mp_comm%max(tmp)
|
||||
ndbt_p_max = tmp(1); nelement_p_max = tmp(2)
|
||||
|
||||
|
|
@ -160,7 +160,7 @@ CONTAINS
|
|||
CALL mp_comm_group%sum(ndbt_s)
|
||||
CALL mp_comm_group%sum(nelement_s)
|
||||
|
||||
tmp_i8 = (/ndbt_s, nelement_s/)
|
||||
tmp_i8 = [ndbt_s, nelement_s]
|
||||
CALL mp_comm%max(tmp_i8)
|
||||
ndbt_s_max = tmp_i8(1); nelement_s_max = tmp_i8(2)
|
||||
|
||||
|
|
|
|||
|
|
@ -58,8 +58,8 @@ CONTAINS
|
|||
xa = 0.783300000000_dp ! exponents
|
||||
xb = 1.239648746700_dp
|
||||
|
||||
A = (/0.329309000000_dp, 0.28408240000_dp, 0.28408240000_dp/) !* bohr !positions
|
||||
B = (/0.983983000000_dp, 0.00453720000_dp, 0.00432740000_dp/) !* bohr
|
||||
A = [0.329309000000_dp, 0.28408240000_dp, 0.28408240000_dp] !* bohr !positions
|
||||
B = [0.983983000000_dp, 0.00453720000_dp, 0.00432740000_dp] !* bohr
|
||||
|
||||
la_min = 0
|
||||
lb_min = 0
|
||||
|
|
@ -205,9 +205,9 @@ CONTAINS
|
|||
xb = 1.239648746700_dp
|
||||
xc = 0.548370000000_dp
|
||||
|
||||
A = (/0.329309000000_dp, 0.28408240000_dp, 0.28408240000_dp/) !* bohr !positions
|
||||
B = (/0.983983000000_dp, 0.00453720000_dp, 0.00432740000_dp/) !* bohr
|
||||
C = (/0.032380000000_dp, 1.23470000000_dp, 0.11137400000_dp/) !* bohr
|
||||
A = [0.329309000000_dp, 0.28408240000_dp, 0.28408240000_dp] !* bohr !positions
|
||||
B = [0.983983000000_dp, 0.00453720000_dp, 0.00432740000_dp] !* bohr
|
||||
C = [0.032380000000_dp, 1.23470000000_dp, 0.11137400000_dp] !* bohr
|
||||
|
||||
la_min = 0
|
||||
lb_min = 0
|
||||
|
|
@ -401,8 +401,8 @@ CONTAINS
|
|||
xa2 = 0.3400000000_dp ! exponents
|
||||
xb2 = 2.76_dp
|
||||
|
||||
A = (/0.329309000000_dp, 0.28408240000_dp, 0.28408240000_dp/) !* bohr !positions
|
||||
B = (/0.983983000000_dp, 0.00453720000_dp, 0.00432740000_dp/) !* bohr
|
||||
A = [0.329309000000_dp, 0.28408240000_dp, 0.28408240000_dp] !* bohr !positions
|
||||
B = [0.983983000000_dp, 0.00453720000_dp, 0.00432740000_dp] !* bohr
|
||||
|
||||
la_min1 = 0
|
||||
la_min2 = 0
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ CONTAINS
|
|||
! Check for errors.
|
||||
error_c_ptr = DeepPotCheckOK(model%c_ptr)
|
||||
CPASSERT(C_ASSOCIATED(error_c_ptr))
|
||||
CALL C_F_POINTER(error_c_ptr, error_f_ptr, shape=(/default_string_length/))
|
||||
CALL C_F_POINTER(error_c_ptr, error_f_ptr, shape=[default_string_length])
|
||||
error_str = ""
|
||||
DO i = 1, default_string_length
|
||||
IF (error_f_ptr(i) == C_NULL_CHAR) EXIT
|
||||
|
|
|
|||
|
|
@ -856,7 +856,7 @@ CONTAINS
|
|||
pgrid_gcd = gcd(nprows, npcols)
|
||||
CALL sort(cluster_prices, SIZE(cluster_list), cluster_list)
|
||||
CALL cp_heap_new(bin_heap, nbins)
|
||||
CALL cp_heap_fill(bin_heap, (/(0_int_8, bin=1, nbins)/))
|
||||
CALL cp_heap_fill(bin_heap, [(0_int_8, bin=1, nbins)])
|
||||
!
|
||||
nclusters = SIZE(cluster_list)
|
||||
! Put the most expensive cluster in the bin with the smallest
|
||||
|
|
@ -918,7 +918,7 @@ CONTAINS
|
|||
ALLOCATE (bin_costs(nbins), distribution(natoms))
|
||||
bin_costs = 0
|
||||
|
||||
CALL spatial_recurse(pbc_scaled_coords, costs, (/(iatom, iatom=1, natoms)/), bin_costs, distribution, 0)
|
||||
CALL spatial_recurse(pbc_scaled_coords, costs, [(iatom, iatom=1, natoms)], bin_costs, distribution, 0)
|
||||
|
||||
! WRITE(*, *) "Final bin costs: ", bin_costs
|
||||
|
||||
|
|
|
|||
|
|
@ -492,7 +492,7 @@ CONTAINS
|
|||
CALL dbcsr_copy(tmp, res)
|
||||
CALL dbcsr_add(tmp, Ax, 1.0_dp, -fac)
|
||||
devi(i) = dbcsr_frobenius_norm(tmp)
|
||||
lin_eq(i, :) = (/fac**2, fac, 1.0_dp/)
|
||||
lin_eq(i, :) = [fac**2, fac, 1.0_dp]
|
||||
fac = fac1 + fac1*((-1)**i)*0.5_dp
|
||||
END DO
|
||||
CALL invmat(lin_eq, info)
|
||||
|
|
|
|||
|
|
@ -2456,83 +2456,83 @@ CONTAINS
|
|||
REAL(KIND=dp), PARAMETER :: hsixth_phi = 5.55555555555556e-002_dp
|
||||
REAL(KIND=dp), PARAMETER :: h2sixth_phi = 1.85185185185185e-002_dp
|
||||
REAL(KIND=dp), PARAMETER, DIMENSION(0:9) :: cof_phi = &
|
||||
(/0.69299400000000e+01_dp, -0.43995000000000e+00_dp, &
|
||||
-0.17012300000000e+01_dp, -0.16247300000000e+01_dp, &
|
||||
-0.99696000000000e+00_dp, -0.27391000000000e+00_dp, &
|
||||
-0.24990000000000e-01_dp, -0.17840000000000e-01_dp, &
|
||||
-0.96100000000000e-02_dp, 0.00000000000000e+00_dp/)
|
||||
[0.69299400000000e+01_dp, -0.43995000000000e+00_dp, &
|
||||
-0.17012300000000e+01_dp, -0.16247300000000e+01_dp, &
|
||||
-0.99696000000000e+00_dp, -0.27391000000000e+00_dp, &
|
||||
-0.24990000000000e-01_dp, -0.17840000000000e-01_dp, &
|
||||
-0.96100000000000e-02_dp, 0.00000000000000e+00_dp]
|
||||
REAL(KIND=dp), PARAMETER, DIMENSION(0:9) :: dof_phi = &
|
||||
(/0.16533229480429e+03_dp, 0.39415410391417e+02_dp, &
|
||||
0.68710036300407e+01_dp, 0.53406950884203e+01_dp, &
|
||||
0.15347960162782e+01_dp, -0.63347591535331e+01_dp, &
|
||||
-0.17987794021458e+01_dp, 0.47429676211617e+00_dp, &
|
||||
-0.40087646318907e-01_dp, -0.23942617684055e+00_dp/)
|
||||
[0.16533229480429e+03_dp, 0.39415410391417e+02_dp, &
|
||||
0.68710036300407e+01_dp, 0.53406950884203e+01_dp, &
|
||||
0.15347960162782e+01_dp, -0.63347591535331e+01_dp, &
|
||||
-0.17987794021458e+01_dp, 0.47429676211617e+00_dp, &
|
||||
-0.40087646318907e-01_dp, -0.23942617684055e+00_dp]
|
||||
REAL(KIND=dp), PARAMETER :: tmin_rho = 0.1500000e+01_dp
|
||||
REAL(KIND=dp), PARAMETER :: tmax_rho = 0.3500000e+01_dp
|
||||
REAL(KIND=dp), PARAMETER :: hi_rho = 5.00000000000e0_dp
|
||||
REAL(KIND=dp), PARAMETER :: hsixth_rho = 3.33333333333333e-002_dp
|
||||
REAL(KIND=dp), PARAMETER :: h2sixth_rho = 6.66666666666667e-003_dp
|
||||
REAL(KIND=dp), PARAMETER, DIMENSION(0:10) :: cof_rho = &
|
||||
(/0.13747000000000e+00_dp, -0.14831000000000e+00_dp, &
|
||||
-0.55972000000000e+00_dp, -0.73110000000000e+00_dp, &
|
||||
-0.76283000000000e+00_dp, -0.72918000000000e+00_dp, &
|
||||
-0.66620000000000e+00_dp, -0.57328000000000e+00_dp, &
|
||||
-0.40690000000000e+00_dp, -0.16662000000000e+00_dp, &
|
||||
0.00000000000000e+00_dp/)
|
||||
[0.13747000000000e+00_dp, -0.14831000000000e+00_dp, &
|
||||
-0.55972000000000e+00_dp, -0.73110000000000e+00_dp, &
|
||||
-0.76283000000000e+00_dp, -0.72918000000000e+00_dp, &
|
||||
-0.66620000000000e+00_dp, -0.57328000000000e+00_dp, &
|
||||
-0.40690000000000e+00_dp, -0.16662000000000e+00_dp, &
|
||||
0.00000000000000e+00_dp]
|
||||
REAL(KIND=dp), PARAMETER, DIMENSION(0:10) :: dof_rho = &
|
||||
(/-0.32275496741918e+01_dp, -0.64119006516165e+01_dp, &
|
||||
0.10030652280658e+02_dp, 0.22937915289857e+01_dp, &
|
||||
0.17416816033995e+01_dp, 0.54648205741626e+00_dp, &
|
||||
0.47189016693543e+00_dp, 0.20569572748420e+01_dp, &
|
||||
0.23192807336964e+01_dp, -0.24908020962757e+00_dp, &
|
||||
-0.12371959895186e+02_dp/)
|
||||
[-0.32275496741918e+01_dp, -0.64119006516165e+01_dp, &
|
||||
0.10030652280658e+02_dp, 0.22937915289857e+01_dp, &
|
||||
0.17416816033995e+01_dp, 0.54648205741626e+00_dp, &
|
||||
0.47189016693543e+00_dp, 0.20569572748420e+01_dp, &
|
||||
0.23192807336964e+01_dp, -0.24908020962757e+00_dp, &
|
||||
-0.12371959895186e+02_dp]
|
||||
REAL(KIND=dp), PARAMETER :: tmin_fff = 0.1500000e+01_dp
|
||||
REAL(KIND=dp), PARAMETER :: tmax_fff = 0.3500000e+01_dp
|
||||
REAL(KIND=dp), PARAMETER :: hi_fff = 4.50000000000e0_dp
|
||||
REAL(KIND=dp), PARAMETER :: hsixth_fff = 3.70370370370370e-002_dp
|
||||
REAL(KIND=dp), PARAMETER :: h2sixth_fff = 8.23045267489712e-003_dp
|
||||
REAL(KIND=dp), PARAMETER, DIMENSION(0:9) :: cof_fff = &
|
||||
(/0.12503100000000e+01_dp, 0.86821000000000e+00_dp, &
|
||||
0.60846000000000e+00_dp, 0.48756000000000e+00_dp, &
|
||||
0.44163000000000e+00_dp, 0.37610000000000e+00_dp, &
|
||||
0.27145000000000e+00_dp, 0.14814000000000e+00_dp, &
|
||||
0.48550000000000e-01_dp, 0.00000000000000e+00_dp/)
|
||||
[0.12503100000000e+01_dp, 0.86821000000000e+00_dp, &
|
||||
0.60846000000000e+00_dp, 0.48756000000000e+00_dp, &
|
||||
0.44163000000000e+00_dp, 0.37610000000000e+00_dp, &
|
||||
0.27145000000000e+00_dp, 0.14814000000000e+00_dp, &
|
||||
0.48550000000000e-01_dp, 0.00000000000000e+00_dp]
|
||||
REAL(KIND=dp), PARAMETER, DIMENSION(0:9) :: dof_fff = &
|
||||
(/0.27904652711432e+02_dp, -0.45230754228635e+01_dp, &
|
||||
0.50531739800222e+01_dp, 0.11806545027747e+01_dp, &
|
||||
-0.66693699112098e+00_dp, -0.89430653829079e+00_dp, &
|
||||
-0.50891685571587e+00_dp, 0.66278396115427e+00_dp, &
|
||||
0.73976101109878e+00_dp, 0.25795319944506e+01_dp/)
|
||||
[0.27904652711432e+02_dp, -0.45230754228635e+01_dp, &
|
||||
0.50531739800222e+01_dp, 0.11806545027747e+01_dp, &
|
||||
-0.66693699112098e+00_dp, -0.89430653829079e+00_dp, &
|
||||
-0.50891685571587e+00_dp, 0.66278396115427e+00_dp, &
|
||||
0.73976101109878e+00_dp, 0.25795319944506e+01_dp]
|
||||
REAL(KIND=dp), PARAMETER :: tmin_uuu = -0.1770930e+01_dp
|
||||
REAL(KIND=dp), PARAMETER :: tmax_uuu = 0.7908520e+01_dp
|
||||
REAL(KIND=dp), PARAMETER :: hi_uuu = 0.723181585730594e0_dp
|
||||
REAL(KIND=dp), PARAMETER :: hsixth_uuu = 0.230463095238095e0_dp
|
||||
REAL(KIND=dp), PARAMETER :: h2sixth_uuu = 0.318679429600340e0_dp
|
||||
REAL(KIND=dp), PARAMETER, DIMENSION(0:7) :: cof_uuu = &
|
||||
(/-0.10749300000000e+01_dp, -0.20045000000000e+00_dp, &
|
||||
0.41422000000000e+00_dp, 0.87939000000000e+00_dp, &
|
||||
0.12668900000000e+01_dp, 0.16299800000000e+01_dp, &
|
||||
0.19773800000000e+01_dp, 0.23961800000000e+01_dp/)
|
||||
[-0.10749300000000e+01_dp, -0.20045000000000e+00_dp, &
|
||||
0.41422000000000e+00_dp, 0.87939000000000e+00_dp, &
|
||||
0.12668900000000e+01_dp, 0.16299800000000e+01_dp, &
|
||||
0.19773800000000e+01_dp, 0.23961800000000e+01_dp]
|
||||
REAL(KIND=dp), PARAMETER, DIMENSION(0:7) :: dof_uuu = &
|
||||
(/-0.14827125747284e+00_dp, -0.14922155328475e+00_dp, &
|
||||
-0.70113224223509e-01_dp, -0.39449020349230e-01_dp, &
|
||||
-0.15815242579643e-01_dp, 0.26112640061855e-01_dp, &
|
||||
-0.13786974745095e+00_dp, 0.74941595372657e+00_dp/)
|
||||
[-0.14827125747284e+00_dp, -0.14922155328475e+00_dp, &
|
||||
-0.70113224223509e-01_dp, -0.39449020349230e-01_dp, &
|
||||
-0.15815242579643e-01_dp, 0.26112640061855e-01_dp, &
|
||||
-0.13786974745095e+00_dp, 0.74941595372657e+00_dp]
|
||||
REAL(KIND=dp), PARAMETER :: tmin_ggg = -0.1000000e+01_dp
|
||||
REAL(KIND=dp), PARAMETER :: tmax_ggg = 0.8001400e+00_dp
|
||||
REAL(KIND=dp), PARAMETER :: hi_ggg = 3.88858644327663e0_dp
|
||||
REAL(KIND=dp), PARAMETER :: hsixth_ggg = 4.28604761904762e-002_dp
|
||||
REAL(KIND=dp), PARAMETER :: h2sixth_ggg = 1.10221225156463e-002_dp
|
||||
REAL(KIND=dp), PARAMETER, DIMENSION(0:7) :: cof_ggg = &
|
||||
(/0.52541600000000e+01_dp, 0.23591500000000e+01_dp, &
|
||||
0.11959500000000e+01_dp, 0.12299500000000e+01_dp, &
|
||||
0.20356500000000e+01_dp, 0.34247400000000e+01_dp, &
|
||||
0.49485900000000e+01_dp, 0.56179900000000e+01_dp/)
|
||||
[0.52541600000000e+01_dp, 0.23591500000000e+01_dp, &
|
||||
0.11959500000000e+01_dp, 0.12299500000000e+01_dp, &
|
||||
0.20356500000000e+01_dp, 0.34247400000000e+01_dp, &
|
||||
0.49485900000000e+01_dp, 0.56179900000000e+01_dp]
|
||||
REAL(KIND=dp), PARAMETER, DIMENSION(0:7) :: dof_ggg = &
|
||||
(/0.15826876132396e+02_dp, 0.31176239377907e+02_dp, &
|
||||
0.16589446539683e+02_dp, 0.11083892500520e+02_dp, &
|
||||
0.90887216383860e+01_dp, 0.54902279653967e+01_dp, &
|
||||
-0.18823313223755e+02_dp, -0.77183416481005e+01_dp/)
|
||||
[0.15826876132396e+02_dp, 0.31176239377907e+02_dp, &
|
||||
0.16589446539683e+02_dp, 0.11083892500520e+02_dp, &
|
||||
0.90887216383860e+01_dp, 0.54902279653967e+01_dp, &
|
||||
-0.18823313223755e+02_dp, -0.77183416481005e+01_dp]
|
||||
|
||||
REAL(KIND=dp) :: a2_fff, a2_ggg, a_fff, a_ggg, b2_fff, b2_ggg, b_fff, &
|
||||
b_ggg, cof1_fff, cof1_ggg, cof2_fff, cof2_ggg, cof3_fff, &
|
||||
|
|
|
|||
|
|
@ -448,7 +448,7 @@ CONTAINS
|
|||
IF (SIZE(seed_vals) == 1) THEN
|
||||
initial_seed(:, :) = REAL(seed_vals(1), KIND=dp)
|
||||
ELSE IF (SIZE(seed_vals) == 6) THEN
|
||||
initial_seed(1:3, 1:2) = RESHAPE(REAL(seed_vals(:), KIND=dp), (/3, 2/))
|
||||
initial_seed(1:3, 1:2) = RESHAPE(REAL(seed_vals(:), KIND=dp), [3, 2])
|
||||
ELSE
|
||||
CPABORT("Supply exactly 1 or 6 arguments for SEED in &GLOBAL only!")
|
||||
END IF
|
||||
|
|
|
|||
|
|
@ -204,7 +204,7 @@ CONTAINS
|
|||
cutoff_radius = exp_radius(0, 2.0_dp*alphasq, epsilon, norm)
|
||||
|
||||
CALL dg_pme_grid_setup(cell_ref%hmat, npts_s, cutoff_radius, &
|
||||
pw_small_grid, pw_big_grid, para_env, rs_dims=(/para_env%num_pe, 1/), &
|
||||
pw_small_grid, pw_big_grid, para_env, rs_dims=[para_env%num_pe, 1], &
|
||||
iounit=output_unit, fft_usage=.TRUE.)
|
||||
! Write some useful info
|
||||
IF (output_unit > 0) THEN
|
||||
|
|
@ -228,7 +228,7 @@ CONTAINS
|
|||
NULLIFY (rs_desc)
|
||||
CALL init_input_type(input_settings, nsmax=MAXVAL(pw_small_grid%npts(1:3)), &
|
||||
rs_grid_section=rs_grid_section, ilevel=1, &
|
||||
higher_grid_layout=(/-1, -1, -1/))
|
||||
higher_grid_layout=[-1, -1, -1])
|
||||
CALL rs_grid_create_descriptor(rs_desc, pw_big_grid, input_settings)
|
||||
|
||||
BLOCK
|
||||
|
|
@ -258,7 +258,7 @@ CONTAINS
|
|||
END IF
|
||||
npts_s = gmax
|
||||
CALL pw_grid_create(pw_big_grid, para_env, cell_ref%hmat, grid_span=HALFSPACE, npts=npts_s, spherical=.TRUE., &
|
||||
rs_dims=(/para_env%num_pe, 1/), iounit=output_unit, fft_usage=.TRUE.)
|
||||
rs_dims=[para_env%num_pe, 1], iounit=output_unit, fft_usage=.TRUE.)
|
||||
|
||||
! pw pools initialized
|
||||
NULLIFY (pw_pool)
|
||||
|
|
@ -268,7 +268,7 @@ CONTAINS
|
|||
NULLIFY (rs_desc)
|
||||
CALL init_input_type(input_settings, nsmax=o_spline, &
|
||||
rs_grid_section=rs_grid_section, ilevel=1, &
|
||||
higher_grid_layout=(/-1, -1, -1/))
|
||||
higher_grid_layout=[-1, -1, -1])
|
||||
CALL rs_grid_create_descriptor(rs_desc, pw_big_grid, input_settings)
|
||||
|
||||
BLOCK
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ CONTAINS
|
|||
CPASSERT(.NOT. ASSOCIATED(coeff))
|
||||
NULLIFY (cell)
|
||||
|
||||
CALL cell_create(cell, hmat=hmat, periodic=(/1, 1, 1/))
|
||||
CALL cell_create(cell, hmat=hmat, periodic=[1, 1, 1])
|
||||
logger => cp_get_default_logger()
|
||||
iounit = cp_print_key_unit_nr(logger, print_section, "", &
|
||||
extension=".Log")
|
||||
|
|
@ -390,18 +390,18 @@ CONTAINS
|
|||
dzTerm = 0.0_dp
|
||||
! Sum over k vectors
|
||||
DO kg = 1, SIZE(Lg)
|
||||
vec = (/REAL(gx(kg), KIND=dp), REAL(gy(kg), KIND=dp), REAL(gz(kg), KIND=dp)/)
|
||||
vec = [REAL(gx(kg), KIND=dp), REAL(gy(kg), KIND=dp), REAL(gz(kg), KIND=dp)]
|
||||
Term = Term + lg(kg)*COS(vec(1)*xs1 + vec(2)*xs2 + vec(3)*xs3)
|
||||
dxTerm = dxTerm - lg(kg)*SIN(vec(1)*xs1 + vec(2)*xs2 + vec(3)*xs3)*vec(1)
|
||||
dyTerm = dyTerm - lg(kg)*SIN(vec(1)*xs1 + vec(2)*xs2 + vec(3)*xs3)*vec(2)
|
||||
dzTerm = dzTerm - lg(kg)*SIN(vec(1)*xs1 + vec(2)*xs2 + vec(3)*xs3)*vec(3)
|
||||
END DO
|
||||
Na = SQRT(dxTerm*dxTerm + dyTerm*dyTerm + dzTerm*dzTerm)
|
||||
dn = Eval_d_Interp_Spl3_pbc((/xs1, xs2, xs3/), TabLR)
|
||||
dn = Eval_d_Interp_Spl3_pbc([xs1, xs2, xs3], TabLR)
|
||||
Nn = SQRT(DOT_PRODUCT(dn, dn))
|
||||
Fterm = Eval_Interp_Spl3_pbc((/xs1, xs2, xs3/), TabLR)
|
||||
Fterm = Eval_Interp_Spl3_pbc([xs1, xs2, xs3], TabLR)
|
||||
tmp1 = ABS(Term - Fterm)
|
||||
tmp2 = SQRT(DOT_PRODUCT(dn - (/dxTerm, dyTerm, dzTerm/), dn - (/dxTerm, dyTerm, dzTerm/)))
|
||||
tmp2 = SQRT(DOT_PRODUCT(dn - [dxTerm, dyTerm, dzTerm], dn - [dxTerm, dyTerm, dzTerm]))
|
||||
errf = errf + tmp1
|
||||
maxerrorf = MAX(maxerrorf, tmp1)
|
||||
errd = errd + tmp2
|
||||
|
|
|
|||
|
|
@ -1633,7 +1633,7 @@ CONTAINS
|
|||
DO icell = -ncells, ncells
|
||||
DO jcell = -ncells, ncells
|
||||
DO kcell = -ncells, ncells
|
||||
cell_v = MATMUL(cell%hmat, REAL((/icell, jcell, kcell/), KIND=dp))
|
||||
cell_v = MATMUL(cell%hmat, REAL([icell, jcell, kcell], KIND=dp))
|
||||
IF (ALL(cell_v == 0.0_dp) .AND. (atom_a == atom_b)) CYCLE
|
||||
rab = rab0 + cell_v
|
||||
rab2 = rab(1)**2 + rab(2)**2 + rab(3)**2
|
||||
|
|
@ -2042,7 +2042,7 @@ CONTAINS
|
|||
WRITE (iw, '(/,A,I8)') "FIELD GRADIENT FOR ATOM: ", i
|
||||
WRITE (iw, '(A,9F15.9)') " NUMERICAL: ", efield2n, &
|
||||
" ANALYTICAL: ", efield2(:, i), &
|
||||
" ERROR: ", RESHAPE(efield2n, (/9/)) - efield2(:, i)
|
||||
" ERROR: ", RESHAPE(efield2n, [9]) - efield2(:, i)
|
||||
END DO
|
||||
END SUBROUTINE debug_ewald_multipoles_fields
|
||||
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ CONTAINS
|
|||
CALL section_vals_val_get(ext_pot_section, "DX", r_val=dx, i_rep_section=rep)
|
||||
CALL section_vals_val_get(ext_pot_section, "ERROR_LIMIT", r_val=lerr, i_rep_section=rep)
|
||||
CALL get_generic_info(ext_pot_section, "FUNCTION", coupling_function, my_par, my_val, &
|
||||
input_variables=(/"X", "Y", "Z"/), i_rep_sec=rep)
|
||||
input_variables=["X", "Y", "Z"], i_rep_sec=rep)
|
||||
CALL initf(1)
|
||||
CALL parsef(1, TRIM(coupling_function), my_par)
|
||||
|
||||
|
|
|
|||
|
|
@ -388,7 +388,7 @@ CONTAINS
|
|||
loop1: DO k = -isubcell(3), isubcell(3)
|
||||
loop2: DO j = -isubcell(2), isubcell(2)
|
||||
loop3: DO i = -isubcell(1), isubcell(1)
|
||||
ic = REAL((/i, j, k/), KIND=dp)
|
||||
ic = REAL([i, j, k], KIND=dp)
|
||||
! subcell cube vertex
|
||||
DO kx = -1, 1
|
||||
icx(3) = ic(3) + SIGN(0.5_dp, REAL(kx, KIND=dp))
|
||||
|
|
|
|||
|
|
@ -973,7 +973,7 @@ CONTAINS
|
|||
IF (ASSOCIATED(source%matrix_struct)) THEN
|
||||
IF ((send_rank == 0)) THEN
|
||||
! need to use separate buffers here in case this is actually global rank 0
|
||||
src_block_tmp = (/send_dist%nrow_block, send_dist%ncol_block/)
|
||||
src_block_tmp = [send_dist%nrow_block, send_dist%ncol_block]
|
||||
CALL para_env%isend(src_block_tmp, 0, send_req(1), tag=src_tag)
|
||||
CALL para_env%isend(send_dist%context%num_pe, 0, send_req(2), tag=src_tag)
|
||||
END IF
|
||||
|
|
@ -981,7 +981,7 @@ CONTAINS
|
|||
|
||||
IF (ASSOCIATED(destination%matrix_struct)) THEN
|
||||
IF ((recv_rank == 0)) THEN
|
||||
dest_block_tmp = (/recv_dist%nrow_block, recv_dist%ncol_block/)
|
||||
dest_block_tmp = [recv_dist%nrow_block, recv_dist%ncol_block]
|
||||
CALL para_env%isend(dest_block_tmp, 0, send_req(3), tag=dest_tag)
|
||||
CALL para_env%isend(recv_dist%context%num_pe, 0, send_req(4), tag=dest_tag)
|
||||
END IF
|
||||
|
|
|
|||
|
|
@ -371,7 +371,7 @@ CONTAINS
|
|||
! split comm, the first num_pe_new tasks will do the work
|
||||
ALLOCATE (work_redistribute%group_distribution(0:rdinfo%num_pe_old - 1))
|
||||
ALLOCATE (work_redistribute%group_partition(0:1))
|
||||
work_redistribute%group_partition = (/rdinfo%num_pe_new, rdinfo%num_pe_old - rdinfo%num_pe_new/)
|
||||
work_redistribute%group_partition = [rdinfo%num_pe_new, rdinfo%num_pe_old - rdinfo%num_pe_new]
|
||||
ALLOCATE (work_redistribute%para_env_new)
|
||||
CALL work_redistribute%para_env_new%from_split( &
|
||||
comm=para_env, ngroups=ngroups, group_distribution=work_redistribute%group_distribution, &
|
||||
|
|
|
|||
|
|
@ -233,7 +233,7 @@ CONTAINS
|
|||
ALLOCATE (fmstruct%nrow_locals(0:(fmstruct%context%num_pe(1) - 1)), &
|
||||
fmstruct%ncol_locals(0:(fmstruct%context%num_pe(2) - 1)))
|
||||
IF (.NOT. PRESENT(template_fmstruct)) &
|
||||
fmstruct%first_p_pos = (/0, 0/)
|
||||
fmstruct%first_p_pos = [0, 0]
|
||||
IF (PRESENT(first_p_pos)) fmstruct%first_p_pos = first_p_pos
|
||||
|
||||
fmstruct%nrow_locals = 0
|
||||
|
|
|
|||
|
|
@ -454,7 +454,7 @@ CONTAINS
|
|||
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :), &
|
||||
POINTER :: local_data
|
||||
REAL(KIND=dp), DIMENSION(3, 2), SAVE :: &
|
||||
seed = RESHAPE((/1.0_dp, 2.0_dp, 3.0_dp, 4.0_dp, 5.0_dp, 6.0_dp/), (/3, 2/))
|
||||
seed = RESHAPE([1.0_dp, 2.0_dp, 3.0_dp, 4.0_dp, 5.0_dp, 6.0_dp], [3, 2])
|
||||
TYPE(rng_stream_type) :: rng
|
||||
|
||||
CALL timeset(routineN, handle)
|
||||
|
|
@ -1669,7 +1669,7 @@ CONTAINS
|
|||
IF (ASSOCIATED(send_dist)) THEN
|
||||
IF ((send_rank .EQ. 0)) THEN
|
||||
! need to use separate buffers here in case this is actually global rank 0
|
||||
src_block_tmp = (/send_dist%nrow_block, send_dist%ncol_block/)
|
||||
src_block_tmp = [send_dist%nrow_block, send_dist%ncol_block]
|
||||
CALL para_env%isend(src_block_tmp, 0, send_req(1), tag=src_tag)
|
||||
CALL para_env%isend(send_dist%context%num_pe, 0, send_req(2), tag=src_tag)
|
||||
END IF
|
||||
|
|
@ -1677,7 +1677,7 @@ CONTAINS
|
|||
|
||||
IF (ASSOCIATED(recv_dist)) THEN
|
||||
IF ((recv_rank .EQ. 0)) THEN
|
||||
dest_block_tmp = (/recv_dist%nrow_block, recv_dist%ncol_block/)
|
||||
dest_block_tmp = [recv_dist%nrow_block, recv_dist%ncol_block]
|
||||
CALL para_env%isend(dest_block_tmp, 0, send_req(3), tag=dest_tag)
|
||||
CALL para_env%isend(recv_dist%context%num_pe, 0, send_req(4), tag=dest_tag)
|
||||
END IF
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ MODULE force_env_types
|
|||
use_ipi = 510
|
||||
|
||||
CHARACTER(LEN=10), DIMENSION(501:510), PARAMETER, PUBLIC :: &
|
||||
use_prog_name = (/ &
|
||||
use_prog_name = [ &
|
||||
"FIST ", &
|
||||
"QS ", &
|
||||
"QMMM ", &
|
||||
|
|
@ -102,7 +102,7 @@ MODULE force_env_types
|
|||
"EMBED ", &
|
||||
"SIRIUS", &
|
||||
"NNP ", &
|
||||
"IPI "/)
|
||||
"IPI "]
|
||||
|
||||
PUBLIC :: force_env_type, &
|
||||
force_env_p_type
|
||||
|
|
|
|||
|
|
@ -158,7 +158,7 @@ CONTAINS
|
|||
|
||||
! catch the case where the molecules are already in the right order
|
||||
N = SIZE(order)
|
||||
order = (/(i, i=1, N)/)
|
||||
order = [(i, i=1, N)]
|
||||
IF (matrix_equal(reference, unordered, order)) THEN
|
||||
matches = .TRUE.
|
||||
RETURN
|
||||
|
|
@ -222,7 +222,7 @@ CONTAINS
|
|||
class_of_atom(classes(I)%reference) = I
|
||||
ALLOCATE (classes(I)%order(Nele))
|
||||
ALLOCATE (classes(I)%q(Nele))
|
||||
classes(I)%order = (/(J, J=1, Nele)/)
|
||||
classes(I)%order = [(J, J=1, Nele)]
|
||||
classes(I)%first = .TRUE.
|
||||
END DO
|
||||
|
||||
|
|
|
|||
|
|
@ -265,7 +265,7 @@ CONTAINS
|
|||
block_size = row_size*col_size
|
||||
|
||||
buffer_send(imep)%msg(msg_offset + 1:msg_offset + block_size) = &
|
||||
RESHAPE(data_block(1:row_size, 1:col_size), (/block_size/))
|
||||
RESHAPE(data_block(1:row_size, 1:col_size), [block_size])
|
||||
|
||||
entry_counter(imep) = entry_counter(imep) + block_size
|
||||
|
||||
|
|
@ -383,7 +383,7 @@ CONTAINS
|
|||
|
||||
data_block(1:row_size, 1:col_size) = &
|
||||
RESHAPE(buffer_rec(imep)%msg(offset + 1:offset + row_size*col_size), &
|
||||
(/row_size, col_size/))
|
||||
[row_size, col_size])
|
||||
|
||||
END IF
|
||||
|
||||
|
|
@ -629,7 +629,7 @@ CONTAINS
|
|||
offset = entry_counter(imep)
|
||||
|
||||
buffer_send(imep)%msg(offset + 1:offset + block_size) = &
|
||||
RESHAPE(data_block(1:row_size, 1:col_size), (/block_size/))
|
||||
RESHAPE(data_block(1:row_size, 1:col_size), [block_size])
|
||||
|
||||
i_block = block_counter(imep) + 1
|
||||
|
||||
|
|
@ -712,7 +712,7 @@ CONTAINS
|
|||
o = offset
|
||||
|
||||
data_block(1:r, 1:c) = data_block(1:r, 1:c) + &
|
||||
RESHAPE(buffer_rec(imep)%msg(o + 1:o + r*c), (/r, c/))
|
||||
RESHAPE(buffer_rec(imep)%msg(o + 1:o + r*c), [r, c])
|
||||
|
||||
END IF
|
||||
|
||||
|
|
|
|||
|
|
@ -321,24 +321,24 @@ CONTAINS
|
|||
max_contraction_i = 0.0_dp
|
||||
DO iset = 1, nseti
|
||||
sgfi = first_sgf_i(1, iset)
|
||||
max_contraction_i(iset) = MAXVAL((/(SUM(ABS(sphi_i(:, i))), i=sgfi, &
|
||||
sgfi + nsgfi(iset) - 1)/))
|
||||
max_contraction_i(iset) = MAXVAL([(SUM(ABS(sphi_i(:, i))), i=sgfi, &
|
||||
sgfi + nsgfi(iset) - 1)])
|
||||
END DO
|
||||
|
||||
ALLOCATE (max_contraction_j(nsetj))
|
||||
max_contraction_j = 0.0_dp
|
||||
DO jset = 1, nsetj
|
||||
sgfj = first_sgf_j(1, jset)
|
||||
max_contraction_j(jset) = MAXVAL((/(SUM(ABS(sphi_j(:, i))), i=sgfj, &
|
||||
sgfj + nsgfj(jset) - 1)/))
|
||||
max_contraction_j(jset) = MAXVAL([(SUM(ABS(sphi_j(:, i))), i=sgfj, &
|
||||
sgfj + nsgfj(jset) - 1)])
|
||||
END DO
|
||||
|
||||
ALLOCATE (max_contraction_k(nsetk))
|
||||
max_contraction_k = 0.0_dp
|
||||
DO kset = 1, nsetk
|
||||
sgfk = first_sgf_k(1, kset)
|
||||
max_contraction_k(kset) = MAXVAL((/(SUM(ABS(sphi_k(:, i))), i=sgfk, &
|
||||
sgfk + nsgfk(kset) - 1)/))
|
||||
max_contraction_k(kset) = MAXVAL([(SUM(ABS(sphi_k(:, i))), i=sgfk, &
|
||||
sgfk + nsgfk(kset) - 1)])
|
||||
END DO
|
||||
|
||||
DO iset = 1, nseti
|
||||
|
|
|
|||
|
|
@ -2007,7 +2007,7 @@ CONTAINS
|
|||
DO j_cell_y = -n_max(2), n_max(2)
|
||||
DO k_cell_z = -n_max(3), n_max(3)
|
||||
|
||||
cell_index(1:3) = (/i_cell_x, j_cell_y, k_cell_z/)
|
||||
cell_index(1:3) = [i_cell_x, j_cell_y, k_cell_z]
|
||||
|
||||
CALL get_cell_dist(cell_index, bs_env%hmat, cell_dist)
|
||||
|
||||
|
|
@ -2034,7 +2034,7 @@ CONTAINS
|
|||
DO j_cell_y = -n_max(2), n_max(2)
|
||||
DO k_cell_z = -n_max(3), n_max(3)
|
||||
|
||||
cell_index(1:3) = (/i_cell_x, j_cell_y, k_cell_z/)
|
||||
cell_index(1:3) = [i_cell_x, j_cell_y, k_cell_z]
|
||||
|
||||
CALL get_cell_dist(cell_index, bs_env%hmat, cell_dist)
|
||||
|
||||
|
|
@ -2409,7 +2409,7 @@ CONTAINS
|
|||
DO k_cell_z = -cixd(3), cixd(3)
|
||||
img = img + 1
|
||||
kpoints%cell_to_index(i_cell_x, j_cell_y, k_cell_z) = img
|
||||
kpoints%index_to_cell(img, 1:3) = (/i_cell_x, j_cell_y, k_cell_z/)
|
||||
kpoints%index_to_cell(img, 1:3) = [i_cell_x, j_cell_y, k_cell_z]
|
||||
END DO
|
||||
END DO
|
||||
END DO
|
||||
|
|
|
|||
|
|
@ -465,7 +465,7 @@ CONTAINS
|
|||
END DO
|
||||
CALL dbcsr_iterator_stop(iter)
|
||||
|
||||
tmp = (/number_of_p_entries, number_of_p_blocks/)
|
||||
tmp = [number_of_p_entries, number_of_p_blocks]
|
||||
CALL para_env%max(tmp)
|
||||
number_of_p_entries = tmp(1)
|
||||
number_of_p_blocks = tmp(2)
|
||||
|
|
|
|||
|
|
@ -35,19 +35,19 @@ MODULE hfx_compression_methods
|
|||
|
||||
INTEGER(kind=int_8), PARAMETER :: ugly_duck = ISHFT(1_int_8, 63)
|
||||
INTEGER(int_8), PARAMETER :: shifts(0:63) = &
|
||||
(/1_int_8, 2_int_8, 4_int_8, 8_int_8, 16_int_8, 32_int_8, 64_int_8, 128_int_8, 256_int_8, &
|
||||
512_int_8, 1024_int_8, 2048_int_8, 4096_int_8, 8192_int_8, 16384_int_8, 32768_int_8, &
|
||||
65536_int_8, 131072_int_8, 262144_int_8, 524288_int_8, 1048576_int_8, 2097152_int_8, &
|
||||
4194304_int_8, 8388608_int_8, 16777216_int_8, 33554432_int_8, 67108864_int_8, &
|
||||
134217728_int_8, 268435456_int_8, 536870912_int_8, 1073741824_int_8, 2147483648_int_8, &
|
||||
4294967296_int_8, 8589934592_int_8, 17179869184_int_8, 34359738368_int_8, 68719476736_int_8, &
|
||||
[1_int_8, 2_int_8, 4_int_8, 8_int_8, 16_int_8, 32_int_8, 64_int_8, 128_int_8, 256_int_8, &
|
||||
512_int_8, 1024_int_8, 2048_int_8, 4096_int_8, 8192_int_8, 16384_int_8, 32768_int_8, &
|
||||
65536_int_8, 131072_int_8, 262144_int_8, 524288_int_8, 1048576_int_8, 2097152_int_8, &
|
||||
4194304_int_8, 8388608_int_8, 16777216_int_8, 33554432_int_8, 67108864_int_8, &
|
||||
134217728_int_8, 268435456_int_8, 536870912_int_8, 1073741824_int_8, 2147483648_int_8, &
|
||||
4294967296_int_8, 8589934592_int_8, 17179869184_int_8, 34359738368_int_8, 68719476736_int_8, &
|
||||
137438953472_int_8, 274877906944_int_8, 549755813888_int_8, 1099511627776_int_8, 2199023255552_int_8, &
|
||||
4398046511104_int_8, 8796093022208_int_8, 17592186044416_int_8, 35184372088832_int_8, 70368744177664_int_8, &
|
||||
140737488355328_int_8, 281474976710656_int_8, 562949953421312_int_8, 1125899906842624_int_8, &
|
||||
2251799813685248_int_8, 4503599627370496_int_8, 9007199254740992_int_8, 18014398509481984_int_8, &
|
||||
140737488355328_int_8, 281474976710656_int_8, 562949953421312_int_8, 1125899906842624_int_8, &
|
||||
2251799813685248_int_8, 4503599627370496_int_8, 9007199254740992_int_8, 18014398509481984_int_8, &
|
||||
36028797018963968_int_8, 72057594037927936_int_8, 144115188075855872_int_8, 288230376151711744_int_8, &
|
||||
576460752303423488_int_8, 1152921504606846976_int_8, 2305843009213693952_int_8, &
|
||||
4611686018427387904_int_8, ugly_duck/)
|
||||
576460752303423488_int_8, 1152921504606846976_int_8, 2305843009213693952_int_8, &
|
||||
4611686018427387904_int_8, ugly_duck]
|
||||
|
||||
!***
|
||||
|
||||
|
|
|
|||
|
|
@ -472,7 +472,7 @@ CONTAINS
|
|||
sgfb = first_sgfb(1, jset)
|
||||
! if the primitives are assumed to be all of max_val2, max_val2*p2s_b becomes
|
||||
! the maximum value after multiplication with sphi_b
|
||||
max_contraction(jset, jatom) = MAXVAL((/(SUM(ABS(sphi_b(1:ncob, i))), i=sgfb, sgfb + nsgfb(jset) - 1)/))
|
||||
max_contraction(jset, jatom) = MAXVAL([(SUM(ABS(sphi_b(1:ncob, i))), i=sgfb, sgfb + nsgfb(jset) - 1)])
|
||||
max_pgf = MAX(max_pgf, npgfb(jset))
|
||||
END DO
|
||||
END DO
|
||||
|
|
@ -1584,8 +1584,8 @@ CONTAINS
|
|||
!$OMP MASTER
|
||||
!! Print some memeory information if this is the first step
|
||||
IF (actual_x_data%memory_parameter%recalc_forces) THEN
|
||||
tmp_i8(1:6) = (/shm_storage_counter_integrals, shm_neris_onthefly, shm_neris_incore, &
|
||||
shm_neris_total, shm_nprim_ints, shm_stor_count_max_val/)
|
||||
tmp_i8(1:6) = [shm_storage_counter_integrals, shm_neris_onthefly, shm_neris_incore, &
|
||||
shm_neris_total, shm_nprim_ints, shm_stor_count_max_val]
|
||||
CALL para_env%sum(tmp_i8)
|
||||
shm_storage_counter_integrals = tmp_i8(1)
|
||||
shm_neris_onthefly = tmp_i8(2)
|
||||
|
|
|
|||
|
|
@ -543,7 +543,7 @@ CONTAINS
|
|||
sgfb = first_sgfb(1, jset)
|
||||
! if the primitives are assumed to be all of max_val2, max_val2*p2s_b becomes
|
||||
! the maximum value after multiplication with sphi_b
|
||||
max_contraction(jset, jatom) = MAXVAL((/(SUM(ABS(sphi_b(1:ncob, i))), i=sgfb, sgfb + nsgfb(jset) - 1)/))
|
||||
max_contraction(jset, jatom) = MAXVAL([(SUM(ABS(sphi_b(1:ncob, i))), i=sgfb, sgfb + nsgfb(jset) - 1)])
|
||||
max_pgf = MAX(max_pgf, npgfb(jset))
|
||||
END DO
|
||||
END DO
|
||||
|
|
@ -1983,8 +1983,8 @@ CONTAINS
|
|||
|
||||
!! Print some memeory information if this is the first step
|
||||
IF (my_geo_change) THEN
|
||||
tmp_i8(1:8) = (/shm_storage_counter_integrals, shm_neris_onthefly, shm_neris_incore, shm_neris_disk, &
|
||||
shm_neris_total, shm_stor_count_int_disk, shm_nprim_ints, shm_stor_count_max_val/)
|
||||
tmp_i8(1:8) = [shm_storage_counter_integrals, shm_neris_onthefly, shm_neris_incore, shm_neris_disk, &
|
||||
shm_neris_total, shm_stor_count_int_disk, shm_nprim_ints, shm_stor_count_max_val]
|
||||
CALL para_env%sum(tmp_i8)
|
||||
shm_storage_counter_integrals = tmp_i8(1)
|
||||
shm_neris_onthefly = tmp_i8(2)
|
||||
|
|
|
|||
|
|
@ -73,10 +73,10 @@ CONTAINS
|
|||
inner: DO k = -shell*perd(3), shell*perd(3)
|
||||
IF (.NOT. (i**2 + j**2 + k**2 == shell)) CYCLE inner
|
||||
IF (found) THEN
|
||||
m = (/i, j, k/)
|
||||
m = [i, j, k]
|
||||
EXIT outer
|
||||
END IF
|
||||
IF (ALL(M .EQ. (/i, j, k/))) found = .TRUE.
|
||||
IF (ALL(M .EQ. [i, j, k])) found = .TRUE.
|
||||
END DO inner
|
||||
END DO
|
||||
END DO
|
||||
|
|
|
|||
|
|
@ -45,14 +45,14 @@ MODULE hfx_libint_interface
|
|||
evaluate_deriv_eri, &
|
||||
evaluate_eri_screen
|
||||
|
||||
INTEGER, DIMENSION(12), PARAMETER :: full_perm1 = (/1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12/)
|
||||
INTEGER, DIMENSION(12), PARAMETER :: full_perm2 = (/4, 5, 6, 1, 2, 3, 7, 8, 9, 10, 11, 12/)
|
||||
INTEGER, DIMENSION(12), PARAMETER :: full_perm3 = (/1, 2, 3, 4, 5, 6, 10, 11, 12, 7, 8, 9/)
|
||||
INTEGER, DIMENSION(12), PARAMETER :: full_perm4 = (/4, 5, 6, 1, 2, 3, 10, 11, 12, 7, 8, 9/)
|
||||
INTEGER, DIMENSION(12), PARAMETER :: full_perm5 = (/7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6/)
|
||||
INTEGER, DIMENSION(12), PARAMETER :: full_perm6 = (/7, 8, 9, 10, 11, 12, 4, 5, 6, 1, 2, 3/)
|
||||
INTEGER, DIMENSION(12), PARAMETER :: full_perm7 = (/10, 11, 12, 7, 8, 9, 1, 2, 3, 4, 5, 6/)
|
||||
INTEGER, DIMENSION(12), PARAMETER :: full_perm8 = (/10, 11, 12, 7, 8, 9, 4, 5, 6, 1, 2, 3/)
|
||||
INTEGER, DIMENSION(12), PARAMETER :: full_perm1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
|
||||
INTEGER, DIMENSION(12), PARAMETER :: full_perm2 = [4, 5, 6, 1, 2, 3, 7, 8, 9, 10, 11, 12]
|
||||
INTEGER, DIMENSION(12), PARAMETER :: full_perm3 = [1, 2, 3, 4, 5, 6, 10, 11, 12, 7, 8, 9]
|
||||
INTEGER, DIMENSION(12), PARAMETER :: full_perm4 = [4, 5, 6, 1, 2, 3, 10, 11, 12, 7, 8, 9]
|
||||
INTEGER, DIMENSION(12), PARAMETER :: full_perm5 = [7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6]
|
||||
INTEGER, DIMENSION(12), PARAMETER :: full_perm6 = [7, 8, 9, 10, 11, 12, 4, 5, 6, 1, 2, 3]
|
||||
INTEGER, DIMENSION(12), PARAMETER :: full_perm7 = [10, 11, 12, 7, 8, 9, 1, 2, 3, 4, 5, 6]
|
||||
INTEGER, DIMENSION(12), PARAMETER :: full_perm8 = [10, 11, 12, 7, 8, 9, 4, 5, 6, 1, 2, 3]
|
||||
|
||||
!***
|
||||
|
||||
|
|
|
|||
|
|
@ -42,32 +42,32 @@ MODULE hfx_load_balance_methods
|
|||
|
||||
CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'hfx_load_balance_methods'
|
||||
|
||||
REAL(KIND=dp), PARAMETER :: p1_energy(12) = (/2.9461408209700424_dp, 1.0624718662999657_dp, &
|
||||
-1.91570128356921242E-002_dp, -1.6668495454436603_dp, &
|
||||
1.7512639006523709_dp, -9.76074323945336081E-002_dp, &
|
||||
2.6230786127311889_dp, -0.31870737623014189_dp, &
|
||||
7.9588203912690973_dp, 1.8331423413134813_dp, &
|
||||
-0.15427618665346299_dp, 0.19749436090711650_dp/)
|
||||
REAL(KIND=dp), PARAMETER :: p2_energy(12) = (/2.3104682960662593_dp, 1.8744052737304417_dp, &
|
||||
-9.36564055598656797E-002_dp, 0.64284973765086939_dp, &
|
||||
1.0137565430060556_dp, -6.80088178288954567E-003_dp, &
|
||||
1.1692629207374552_dp, -2.6314710080507573_dp, &
|
||||
19.237814781880786_dp, 1.0505934173661349_dp, &
|
||||
0.80382371955699250_dp, 0.49903401991818103_dp/)
|
||||
REAL(KIND=dp), PARAMETER :: p3_energy(2) = (/7.82336287670072350E-002_dp, 0.38073304105744837_dp/)
|
||||
REAL(KIND=dp), PARAMETER :: p1_forces(12) = (/2.5746279948798874_dp, 1.3420575378609276_dp, &
|
||||
-9.41673106447732111E-002_dp, 0.94568006899317825_dp, &
|
||||
-1.4511897117448544_dp, 0.59178934677316952_dp, &
|
||||
2.7291149361757236_dp, -0.50555512044800210_dp, &
|
||||
8.3508180969609871_dp, 1.6829982496141809_dp, &
|
||||
-0.74895370472152600_dp, 0.43801726744197500_dp/)
|
||||
REAL(KIND=dp), PARAMETER :: p2_forces(12) = (/2.6398568961569020_dp, 2.3024918834564101_dp, &
|
||||
5.33216585432061581E-003_dp, 0.45572145697283628_dp, &
|
||||
1.8119743851500618_dp, -0.12533918548421166_dp, &
|
||||
-1.4040312084552751_dp, -4.5331650463917859_dp, &
|
||||
12.593431549069477_dp, 1.1311978374487595_dp, &
|
||||
1.4245996087624646_dp, 1.1425350529853495_dp/)
|
||||
REAL(KIND=dp), PARAMETER :: p3_forces(2) = (/0.12051930516830946_dp, 1.3828051586144336_dp/)
|
||||
REAL(KIND=dp), PARAMETER :: p1_energy(12) = [2.9461408209700424_dp, 1.0624718662999657_dp, &
|
||||
-1.91570128356921242E-002_dp, -1.6668495454436603_dp, &
|
||||
1.7512639006523709_dp, -9.76074323945336081E-002_dp, &
|
||||
2.6230786127311889_dp, -0.31870737623014189_dp, &
|
||||
7.9588203912690973_dp, 1.8331423413134813_dp, &
|
||||
-0.15427618665346299_dp, 0.19749436090711650_dp]
|
||||
REAL(KIND=dp), PARAMETER :: p2_energy(12) = [2.3104682960662593_dp, 1.8744052737304417_dp, &
|
||||
-9.36564055598656797E-002_dp, 0.64284973765086939_dp, &
|
||||
1.0137565430060556_dp, -6.80088178288954567E-003_dp, &
|
||||
1.1692629207374552_dp, -2.6314710080507573_dp, &
|
||||
19.237814781880786_dp, 1.0505934173661349_dp, &
|
||||
0.80382371955699250_dp, 0.49903401991818103_dp]
|
||||
REAL(KIND=dp), PARAMETER :: p3_energy(2) = [7.82336287670072350E-002_dp, 0.38073304105744837_dp]
|
||||
REAL(KIND=dp), PARAMETER :: p1_forces(12) = [2.5746279948798874_dp, 1.3420575378609276_dp, &
|
||||
-9.41673106447732111E-002_dp, 0.94568006899317825_dp, &
|
||||
-1.4511897117448544_dp, 0.59178934677316952_dp, &
|
||||
2.7291149361757236_dp, -0.50555512044800210_dp, &
|
||||
8.3508180969609871_dp, 1.6829982496141809_dp, &
|
||||
-0.74895370472152600_dp, 0.43801726744197500_dp]
|
||||
REAL(KIND=dp), PARAMETER :: p2_forces(12) = [2.6398568961569020_dp, 2.3024918834564101_dp, &
|
||||
5.33216585432061581E-003_dp, 0.45572145697283628_dp, &
|
||||
1.8119743851500618_dp, -0.12533918548421166_dp, &
|
||||
-1.4040312084552751_dp, -4.5331650463917859_dp, &
|
||||
12.593431549069477_dp, 1.1311978374487595_dp, &
|
||||
1.4245996087624646_dp, 1.1425350529853495_dp]
|
||||
REAL(KIND=dp), PARAMETER :: p3_forces(2) = [0.12051930516830946_dp, 1.3828051586144336_dp]
|
||||
|
||||
!***
|
||||
|
||||
|
|
|
|||
|
|
@ -516,8 +516,8 @@ CONTAINS
|
|||
coeffs_kind(jkind, ikind)%x(2)) + coeffs_kind_max0 + pmax_blocks < log10_eps_schwarz) CYCLE
|
||||
|
||||
n_element = n_element + 1
|
||||
list%elements(n_element)%pair = (/iatom, jatom/)
|
||||
list%elements(n_element)%kind_pair = (/ikind, jkind/)
|
||||
list%elements(n_element)%pair = [iatom, jatom]
|
||||
list%elements(n_element)%kind_pair = [ikind, jkind]
|
||||
list%elements(n_element)%r1 = ra
|
||||
list%elements(n_element)%r2 = B11
|
||||
list%elements(n_element)%dist2 = rab2
|
||||
|
|
@ -528,7 +528,7 @@ CONTAINS
|
|||
IF (coeffs_set(jset, iset, jkind, ikind)%x(1)*rab2 + coeffs_set(jset, iset, jkind, ikind)%x(2) + &
|
||||
coeffs_kind_max0 + pmax_blocks < log10_eps_schwarz) CYCLE
|
||||
nset_ij = nset_ij + 1
|
||||
set_list(nset_ij)%pair = (/iset, jset/)
|
||||
set_list(nset_ij)%pair = [iset, jset]
|
||||
END DO
|
||||
END DO
|
||||
list%elements(n_element)%set_bounds(2) = nset_ij
|
||||
|
|
@ -702,8 +702,8 @@ CONTAINS
|
|||
coeffs_kind(jkind, ikind)%x(2)) + coeffs_kind_max0 + pmax_blocks < log10_eps_schwarz) CYCLE
|
||||
|
||||
n_element = n_element + 1
|
||||
list%elements(n_element)%pair = (/iatom, jatom/)
|
||||
list%elements(n_element)%kind_pair = (/ikind, jkind/)
|
||||
list%elements(n_element)%pair = [iatom, jatom]
|
||||
list%elements(n_element)%kind_pair = [ikind, jkind]
|
||||
list%elements(n_element)%r1 = ra
|
||||
list%elements(n_element)%r2 = B11
|
||||
list%elements(n_element)%dist2 = rab2
|
||||
|
|
@ -714,7 +714,7 @@ CONTAINS
|
|||
IF (coeffs_set(jset, iset, jkind, ikind)%x(1)*rab2 + coeffs_set(jset, iset, jkind, ikind)%x(2) + &
|
||||
coeffs_kind_max0 + pmax_blocks < log10_eps_schwarz) CYCLE
|
||||
nset_ij = nset_ij + 1
|
||||
set_list(nset_ij)%pair = (/iset, jset/)
|
||||
set_list(nset_ij)%pair = [iset, jset]
|
||||
END DO
|
||||
END DO
|
||||
list%elements(n_element)%set_bounds(2) = nset_ij
|
||||
|
|
|
|||
|
|
@ -400,11 +400,11 @@ CONTAINS
|
|||
DO iset = 1, nseta
|
||||
ncoa = npgfa(iset)*ncoset(la_max(iset))
|
||||
sgfa = first_sgfa(1, iset)
|
||||
max_contraction_a = MAXVAL((/(SUM(ABS(sphi_a(1:ncoa, i))), i=sgfa, sgfa + nsgfa(iset) - 1)/))
|
||||
max_contraction_a = MAXVAL([(SUM(ABS(sphi_a(1:ncoa, i))), i=sgfa, sgfa + nsgfa(iset) - 1)])
|
||||
DO jset = 1, nsetb
|
||||
ncob = npgfb(jset)*ncoset(lb_max(jset))
|
||||
sgfb = first_sgfb(1, jset)
|
||||
max_contraction_b = MAXVAL((/(SUM(ABS(sphi_b(1:ncob, i))), i=sgfb, sgfb + nsgfb(jset) - 1)/))
|
||||
max_contraction_b = MAXVAL([(SUM(ABS(sphi_b(1:ncob, i))), i=sgfb, sgfb + nsgfb(jset) - 1)])
|
||||
radius = set_radius_a(iset) + set_radius_b(jset)
|
||||
DO ipgf = 1, npgfa(iset)
|
||||
DO jpgf = 1, npgfb(jset)
|
||||
|
|
@ -508,11 +508,11 @@ CONTAINS
|
|||
DO iset = 1, nseta
|
||||
ncoa = npgfa(iset)*ncoset(la_max(iset))
|
||||
sgfa = first_sgfa(1, iset)
|
||||
max_contraction_a = MAXVAL((/(SUM(ABS(sphi_a(1:ncoa, i))), i=sgfa, sgfa + nsgfa(iset) - 1)/))
|
||||
max_contraction_a = MAXVAL([(SUM(ABS(sphi_a(1:ncoa, i))), i=sgfa, sgfa + nsgfa(iset) - 1)])
|
||||
DO jset = 1, nsetb
|
||||
ncob = npgfb(jset)*ncoset(lb_max(jset))
|
||||
sgfb = first_sgfb(1, jset)
|
||||
max_contraction_b = MAXVAL((/(SUM(ABS(sphi_b(1:ncob, i))), i=sgfb, sgfb + nsgfb(jset) - 1)/))
|
||||
max_contraction_b = MAXVAL([(SUM(ABS(sphi_b(1:ncob, i))), i=sgfb, sgfb + nsgfb(jset) - 1)])
|
||||
radius = set_radius_a(iset) + set_radius_b(jset)
|
||||
tmp_R_1 => radii_pgf(:, :, jset, iset, jkind, ikind)
|
||||
DO i = i_thread, 100, n_threads
|
||||
|
|
@ -592,11 +592,11 @@ CONTAINS
|
|||
DO iset = 1, nseta
|
||||
ncoa = npgfa(iset)*ncoset(la_max(iset))
|
||||
sgfa = first_sgfa(1, iset)
|
||||
max_contraction_a = MAXVAL((/(SUM(ABS(sphi_a(1:ncoa, i))), i=sgfa, sgfa + nsgfa(iset) - 1)/))
|
||||
max_contraction_a = MAXVAL([(SUM(ABS(sphi_a(1:ncoa, i))), i=sgfa, sgfa + nsgfa(iset) - 1)])
|
||||
DO jset = 1, nsetb
|
||||
ncob = npgfb(jset)*ncoset(lb_max(jset))
|
||||
sgfb = first_sgfb(1, jset)
|
||||
max_contraction_b = MAXVAL((/(SUM(ABS(sphi_b(1:ncob, i))), i=sgfb, sgfb + nsgfb(jset) - 1)/))
|
||||
max_contraction_b = MAXVAL([(SUM(ABS(sphi_b(1:ncob, i))), i=sgfb, sgfb + nsgfb(jset) - 1)])
|
||||
DO i = i_thread, 100, n_threads
|
||||
rb(1) = 0.0_dp + REAL(i, dp)*0.01_dp*radius
|
||||
max_val = 0.0_dp
|
||||
|
|
@ -746,11 +746,11 @@ CONTAINS
|
|||
DO iset = 1, nseta
|
||||
ncoa = npgfa(iset)*ncoset(la_max(iset))
|
||||
sgfa = first_sgfa(1, iset)
|
||||
max_contraction_a = MAXVAL((/(SUM(ABS(sphi_a(1:ncoa, i))), i=sgfa, sgfa + nsgfa(iset) - 1)/))
|
||||
max_contraction_a = MAXVAL([(SUM(ABS(sphi_a(1:ncoa, i))), i=sgfa, sgfa + nsgfa(iset) - 1)])
|
||||
DO jset = 1, nsetb
|
||||
ncob = npgfb(jset)*ncoset(lb_max(jset))
|
||||
sgfb = first_sgfb(1, jset)
|
||||
max_contraction_b = MAXVAL((/(SUM(ABS(sphi_b(1:ncob, i))), i=sgfb, sgfb + nsgfb(jset) - 1)/))
|
||||
max_contraction_b = MAXVAL([(SUM(ABS(sphi_b(1:ncob, i))), i=sgfb, sgfb + nsgfb(jset) - 1)])
|
||||
DO ipgf = 1, npgfa(iset)
|
||||
DO jpgf = 1, npgfb(jset)
|
||||
radius = rpgfa(ipgf, iset) + rpgfb(jpgf, jset)
|
||||
|
|
|
|||
|
|
@ -119,17 +119,17 @@ MODULE hfx_types
|
|||
REAL(dp), PARAMETER, PUBLIC :: log_zero = -1000.0_dp
|
||||
REAL(dp), PARAMETER, PUBLIC :: powell_min_log = -20.0_dp
|
||||
REAL(KIND=dp), DIMENSION(0:10), &
|
||||
PARAMETER, PUBLIC :: mul_fact = (/1.0_dp, &
|
||||
1.1781_dp, &
|
||||
1.3333_dp, &
|
||||
1.4726_dp, &
|
||||
1.6000_dp, &
|
||||
1.7181_dp, &
|
||||
1.8286_dp, &
|
||||
1.9328_dp, &
|
||||
2.0317_dp, &
|
||||
2.1261_dp, &
|
||||
2.2165_dp/)
|
||||
PARAMETER, PUBLIC :: mul_fact = [1.0_dp, &
|
||||
1.1781_dp, &
|
||||
1.3333_dp, &
|
||||
1.4726_dp, &
|
||||
1.6000_dp, &
|
||||
1.7181_dp, &
|
||||
1.8286_dp, &
|
||||
1.9328_dp, &
|
||||
2.0317_dp, &
|
||||
2.1261_dp, &
|
||||
2.2165_dp]
|
||||
|
||||
INTEGER, SAVE :: init_t_c_g0_lmax = -1
|
||||
|
||||
|
|
@ -2331,7 +2331,7 @@ CONTAINS
|
|||
END IF
|
||||
IF (dist_min < R_max) THEN
|
||||
total_number_of_cells = total_number_of_cells + 1
|
||||
x_data%neighbor_cells(ub)%cell = REAL((/ishell, jshell, kshell/), dp)
|
||||
x_data%neighbor_cells(ub)%cell = REAL([ishell, jshell, kshell], dp)
|
||||
ub = ub + 1
|
||||
image_cell_found = .TRUE.
|
||||
END IF
|
||||
|
|
|
|||
|
|
@ -502,7 +502,7 @@ CONTAINS
|
|||
|
||||
! la_max==0 so set lmax_global to 0
|
||||
CALL collocate_pgf_product(0, alpha, 0, 0, 0.0_dp, 0, ra, &
|
||||
(/0.0_dp, 0.0_dp, 0.0_dp/), 1.0_dp, pab, 0, 0, rs_rho, &
|
||||
[0.0_dp, 0.0_dp, 0.0_dp], 1.0_dp, pab, 0, 0, rs_rho, &
|
||||
radius=radius, ga_gb_function=GRID_FUNC_AB, &
|
||||
use_subpatch=.TRUE., subpatch_pattern=subpatch_pattern)
|
||||
END DO
|
||||
|
|
@ -627,7 +627,7 @@ CONTAINS
|
|||
prefactor=1.0_dp, cutoff=1.0_dp)
|
||||
|
||||
CALL integrate_pgf_product(0, alpha, 0, &
|
||||
0, 0.0_dp, 0, ra, (/0.0_dp, 0.0_dp, 0.0_dp/), &
|
||||
0, 0.0_dp, 0, ra, [0.0_dp, 0.0_dp, 0.0_dp], &
|
||||
rs_v, hab, pab=pab, o1=0, o2=0, &
|
||||
radius=radius, calculate_forces=do_force, &
|
||||
force_a=force_a, force_b=force_b, use_virial=.FALSE., &
|
||||
|
|
|
|||
|
|
@ -1195,7 +1195,7 @@ CONTAINS
|
|||
REAL(KIND=dp), DIMENSION(:, :, :), INTENT(INOUT) :: moments
|
||||
|
||||
CHARACTER(len=*), PARAMETER :: routineN = 'center_spread_loc'
|
||||
INTEGER, DIMENSION(6), PARAMETER :: list = (/1, 2, 3, 4, 7, 9/)
|
||||
INTEGER, DIMENSION(6), PARAMETER :: list = [1, 2, 3, 4, 7, 9]
|
||||
|
||||
INTEGER :: handle, i, iop, iorb, ispin, nao, norb, &
|
||||
nspin
|
||||
|
|
|
|||
|
|
@ -205,9 +205,9 @@ CONTAINS
|
|||
usage="silent", &
|
||||
default_i_val=my_print_level, lone_keyword_i_val=silent_print_level, &
|
||||
enum_c_vals=s2a("on", "off", "silent", "low", "medium", "high", "debug"), &
|
||||
enum_i_vals=(/silent_print_level - 1, debug_print_level + 1, &
|
||||
silent_print_level, low_print_level, &
|
||||
medium_print_level, high_print_level, debug_print_level/))
|
||||
enum_i_vals=[silent_print_level - 1, debug_print_level + 1, &
|
||||
silent_print_level, low_print_level, &
|
||||
medium_print_level, high_print_level, debug_print_level])
|
||||
CALL section_add_keyword(print_key_section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
|
|
@ -268,7 +268,7 @@ CONTAINS
|
|||
"all iteration levels are checked for the last iteration step.", &
|
||||
usage="ADD_LAST (NO|NUMERIC|SYMBOLIC)", &
|
||||
enum_c_vals=s2a("no", "numeric", "symbolic"), &
|
||||
enum_i_vals=(/add_last_no, add_last_numeric, add_last_symbolic/), &
|
||||
enum_i_vals=[add_last_no, add_last_numeric, add_last_symbolic], &
|
||||
enum_desc=s2a("Do not mark last iteration specifically", &
|
||||
"Mark last iteration with its iteration number", &
|
||||
"Mark last iteration with lowercase letter l"), &
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ MODULE cp_parser_types
|
|||
CHARACTER(LEN=1), PARAMETER, PUBLIC :: default_continuation_character = CHAR(92) ! backslash
|
||||
CHARACTER(LEN=4), PARAMETER, PUBLIC :: default_separators = ",:;="
|
||||
CHARACTER(LEN=3), PARAMETER, PUBLIC :: default_end_section_label = "END"
|
||||
CHARACTER(LEN=1), PARAMETER, PUBLIC :: default_comment_character(2) = (/"#", "!"/), &
|
||||
CHARACTER(LEN=1), PARAMETER, PUBLIC :: default_comment_character(2) = ["#", "!"], &
|
||||
default_section_character = "&", &
|
||||
default_quote_character = '"'
|
||||
INTEGER, PARAMETER, PUBLIC :: max_unit_number = 999
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ CONTAINS
|
|||
"on absolutely localized orbitals"// &
|
||||
" (ALMOs). ALMO methods are currently restricted to closed-shell molecular systems.", &
|
||||
n_keywords=10, n_subsections=6, repeats=.FALSE., &
|
||||
citations=(/Khaliullin2013, Scheiber2018/))
|
||||
citations=[Khaliullin2013, Scheiber2018])
|
||||
|
||||
NULLIFY (keyword)
|
||||
|
||||
|
|
@ -93,7 +93,7 @@ CONTAINS
|
|||
"keywords outside ALMO options. This kind of calculation is expensive "// &
|
||||
"and only recommended if ALMO SCF does not converge from the ATOMIC guess.", &
|
||||
"Superposition of atomic densities."), &
|
||||
enum_i_vals=(/molecular_guess, atomic_guess/))
|
||||
enum_i_vals=[molecular_guess, atomic_guess])
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
|
|
@ -105,7 +105,7 @@ CONTAINS
|
|||
enum_desc=s2a("Linear scaling iterative Hotelling algorithm. Fast for large sparse matrices.", &
|
||||
"Linear scaling algorithm based on Taylor expansion of (A+B)^(-1).", &
|
||||
"Stable but dense Cholesky algorithm. Cubically scaling."), &
|
||||
enum_i_vals=(/spd_inversion_ls_hotelling, spd_inversion_ls_taylor, spd_inversion_dense_cholesky/))
|
||||
enum_i_vals=[spd_inversion_ls_hotelling, spd_inversion_ls_taylor, spd_inversion_dense_cholesky])
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
|
|
@ -145,7 +145,7 @@ CONTAINS
|
|||
"It is controlled by ALMO_OPTIMIZER_TRUSTR", &
|
||||
"Skip optimization of block-diagonal ALMOs."), &
|
||||
!enum_i_vals=(/almo_scf_diag,almo_scf_dm_sign,almo_scf_pcg/),&
|
||||
enum_i_vals=(/almo_scf_diag, almo_scf_pcg, almo_scf_trustr, almo_scf_skip/))
|
||||
enum_i_vals=[almo_scf_diag, almo_scf_pcg, almo_scf_trustr, almo_scf_skip])
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
|
|
@ -157,7 +157,7 @@ CONTAINS
|
|||
enum_desc=s2a("DIIS-accelerated diagonalization.", &
|
||||
"PCG algorithm controlled by XALMO_OPTIMIZER_PCG.", &
|
||||
"Trust-region optimizer controlled by XALMO_OPTIMIZER_TRUSTR"), &
|
||||
enum_i_vals=(/almo_scf_diag, almo_scf_pcg, almo_scf_trustr/))
|
||||
enum_i_vals=[almo_scf_diag, almo_scf_pcg, almo_scf_trustr])
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
|
|
@ -169,7 +169,7 @@ CONTAINS
|
|||
enum_desc=s2a("Straightforward AO-basis expansion.", &
|
||||
"Block-diagonal ALMOs plus the XALMO term projected onto the unoccupied "// &
|
||||
"ALMO-subspace."), &
|
||||
enum_i_vals=(/xalmo_trial_simplex, xalmo_trial_r0_out/))
|
||||
enum_i_vals=[xalmo_trial_simplex, xalmo_trial_r0_out])
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
|
|
@ -191,8 +191,8 @@ CONTAINS
|
|||
"Single excitation correction (no Hamiltonian re-build) without spatial restrictions", &
|
||||
"Self-consistent treatment of delocalization without spatial restrictions", &
|
||||
"Single excitation correction followed by full SCF procedure, both without spatial restrictions"), &
|
||||
enum_i_vals=(/almo_deloc_none, almo_deloc_xalmo_1diag, almo_deloc_xalmo_x, almo_deloc_xalmo_scf, &
|
||||
almo_deloc_x, almo_deloc_scf, almo_deloc_x_then_scf/))
|
||||
enum_i_vals=[almo_deloc_none, almo_deloc_xalmo_1diag, almo_deloc_xalmo_x, almo_deloc_xalmo_scf, &
|
||||
almo_deloc_x, almo_deloc_scf, almo_deloc_x_then_scf])
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
|
|
@ -702,8 +702,8 @@ CONTAINS
|
|||
"Invert preconditioner domain-by-domain."// &
|
||||
" The main component of the linear scaling algorithm", &
|
||||
"Solve linear equations step=-H.grad on the entire space"), &
|
||||
enum_i_vals=(/xalmo_prec_zero, xalmo_prec_domain, &
|
||||
xalmo_prec_domain, xalmo_prec_full/))
|
||||
enum_i_vals=[xalmo_prec_zero, xalmo_prec_domain, &
|
||||
xalmo_prec_domain, xalmo_prec_full])
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
|
|
@ -749,9 +749,9 @@ CONTAINS
|
|||
"Fletcher and Reeves", "Hestenes and Stiefel", &
|
||||
"Fletcher (Conjugate descent)", "Liu and Storey", &
|
||||
"Dai and Yuan", "Hager and Zhang"), &
|
||||
enum_i_vals=(/cg_zero, cg_polak_ribiere, cg_fletcher_reeves, &
|
||||
cg_hestenes_stiefel, cg_fletcher, cg_liu_storey, &
|
||||
cg_dai_yuan, cg_hager_zhang/))
|
||||
enum_i_vals=[cg_zero, cg_polak_ribiere, cg_fletcher_reeves, &
|
||||
cg_hestenes_stiefel, cg_fletcher, cg_liu_storey, &
|
||||
cg_dai_yuan, cg_hager_zhang])
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
|
|
@ -767,7 +767,7 @@ CONTAINS
|
|||
enum_desc=s2a("Steihaug's iterative CG algorithm that does not invert model Hessian", &
|
||||
"Compute simple Cauchy point", &
|
||||
"Dogleg optimizer"), &
|
||||
enum_i_vals=(/trustr_steihaug, trustr_cauchy, trustr_dogleg/))
|
||||
enum_i_vals=[trustr_steihaug, trustr_cauchy, trustr_dogleg])
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
|
|
@ -882,7 +882,7 @@ CONTAINS
|
|||
description="Type of opertator which defines the spread functional", &
|
||||
usage="OPERATOR PIPEK", &
|
||||
enum_c_vals=s2a("BERRY", "PIPEK"), &
|
||||
enum_i_vals=(/op_loc_berry, op_loc_pipek/), &
|
||||
enum_i_vals=[op_loc_berry, op_loc_pipek], &
|
||||
default_i_val=op_loc_berry)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
|
@ -946,7 +946,7 @@ CONTAINS
|
|||
CALL section_create(section, __LOCATION__, name="ANALYSIS", &
|
||||
description="Controls electronic structure analysis based on ALMOs and XALMOs.", &
|
||||
n_keywords=2, n_subsections=1, repeats=.FALSE., &
|
||||
citations=(/Khaliullin2007, Khaliullin2008/))
|
||||
citations=[Khaliullin2007, Khaliullin2008])
|
||||
|
||||
NULLIFY (keyword)
|
||||
|
||||
|
|
@ -968,9 +968,9 @@ CONTAINS
|
|||
"Use energies of single molecules in their positions in the crystal "// &
|
||||
"cell as the reference. "// &
|
||||
"This term does not have an interpretation if fragmetns are charged."), &
|
||||
enum_i_vals=(/almo_frz_none, &
|
||||
!almo_frz_isolated,&
|
||||
almo_frz_crystal/))
|
||||
enum_i_vals=[almo_frz_none, &
|
||||
!almo_frz_isolated,&
|
||||
almo_frz_crystal])
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ CONTAINS
|
|||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ACTIVE_ORBITAL_INDICES", &
|
||||
description="The indices of the active orbitals. Requires ORBITAL_SELECTION MANUAL!", &
|
||||
usage="ACTIVE_ORBITAL_INDICES 2 3 {...}", n_var=-1, default_i_vals=(/-1/), &
|
||||
usage="ACTIVE_ORBITAL_INDICES 2 3 {...}", n_var=-1, default_i_vals=[-1], &
|
||||
type_of_var=integer_t)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
|
@ -112,7 +112,7 @@ CONTAINS
|
|||
usage="ORBITAL_SELECTION CANONICAL", &
|
||||
default_i_val=casci_canonical, &
|
||||
enum_c_vals=s2a("CANONICAL", "WANNIER_PROJECTION", "MAO", "MANUAL"), &
|
||||
enum_i_vals=(/casci_canonical, wannier_projection, mao_projection, manual_selection/), &
|
||||
enum_i_vals=[casci_canonical, wannier_projection, mao_projection, manual_selection], &
|
||||
enum_desc=s2a("Select orbitals using energy ordering of canoncial orbitals", &
|
||||
"Select orbitals from projected Wannier functions", &
|
||||
"Select orbitals from modified atomic orbitals", &
|
||||
|
|
@ -154,7 +154,7 @@ CONTAINS
|
|||
usage="AS_SOLVER QISKIT", &
|
||||
default_i_val=no_solver, &
|
||||
enum_c_vals=s2a("NONE", "QISKIT"), &
|
||||
enum_i_vals=(/no_solver, qiskit_solver/), &
|
||||
enum_i_vals=[no_solver, qiskit_solver], &
|
||||
enum_desc=s2a("NO solver, used to produce FCIDUMP/QCSchema files", &
|
||||
"QISKIT active space solver"))
|
||||
CALL section_add_keyword(section, keyword)
|
||||
|
|
@ -265,14 +265,14 @@ CONTAINS
|
|||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ALIST", &
|
||||
description="List of alpha orbitals to be printed. -1 defaults to all values", &
|
||||
usage="ALIST {1 2 3 ...}", n_var=-1, default_i_vals=(/-1/), &
|
||||
usage="ALIST {1 2 3 ...}", n_var=-1, default_i_vals=[-1], &
|
||||
lone_keyword_i_val=-1, type_of_var=integer_t)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="BLIST", &
|
||||
description="List of beta orbitals to be printed. -1 defaults to all values", &
|
||||
usage="BLIST {1 2 3 ...}", n_var=-1, default_i_vals=(/-1/), &
|
||||
usage="BLIST {1 2 3 ...}", n_var=-1, default_i_vals=[-1], &
|
||||
lone_keyword_i_val=-1, type_of_var=integer_t)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
|
@ -281,7 +281,7 @@ CONTAINS
|
|||
description="The stride (X,Y,Z) used to write the cube file"// &
|
||||
" (larger values result in smaller cube files)."// &
|
||||
" You can provide 3 numbers (for X,Y,Z) or 1 number valid for all components", &
|
||||
usage="STRIDE {2 2 2}", n_var=-1, default_i_vals=(/2, 2, 2/), &
|
||||
usage="STRIDE {2 2 2}", n_var=-1, default_i_vals=[2, 2, 2], &
|
||||
type_of_var=integer_t)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
|
@ -313,7 +313,7 @@ CONTAINS
|
|||
description="Method used in ERI calculation.", &
|
||||
usage="METHOD FULL_GPW", &
|
||||
enum_c_vals=s2a("FULL_GPW", "GPW_HALF_TRANSFORM"), &
|
||||
enum_i_vals=(/eri_method_full_gpw, eri_method_gpw_ht/), &
|
||||
enum_i_vals=[eri_method_full_gpw, eri_method_gpw_ht], &
|
||||
enum_desc=s2a("Use the GPW approach with MOs", &
|
||||
"Use the GPW approach for half-transformed MO ERIs"), &
|
||||
default_i_val=eri_method_full_gpw)
|
||||
|
|
@ -325,9 +325,9 @@ CONTAINS
|
|||
usage="OPERATOR LONGRANGE", &
|
||||
enum_c_vals=s2a("COULOMB", "YUKAWA", "LONGRANGE", &
|
||||
"SHORTRANGE", "GAUSSIAN", "TRUNCATED", "LR_TRUNC"), &
|
||||
enum_i_vals=(/eri_operator_coulomb, eri_operator_yukawa, &
|
||||
eri_operator_erf, eri_operator_erfc, eri_operator_gaussian, &
|
||||
eri_operator_trunc, eri_operator_lr_trunc/), &
|
||||
enum_i_vals=[eri_operator_coulomb, eri_operator_yukawa, &
|
||||
eri_operator_erf, eri_operator_erfc, eri_operator_gaussian, &
|
||||
eri_operator_trunc, eri_operator_lr_trunc], &
|
||||
enum_desc=s2a("Coulomb operator: 1/r", &
|
||||
"Yukawa operator: exp(-omega*R)/R", &
|
||||
"Longrange operator: erf(omega*R)/R", &
|
||||
|
|
@ -341,7 +341,7 @@ CONTAINS
|
|||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="PERIODICITY", &
|
||||
description="Periodicity used for operators in ERI calclulation.", &
|
||||
usage="PERIODICITY 1 1 1", n_var=-1, default_i_vals=(/0, 0, 0/), &
|
||||
usage="PERIODICITY 1 1 1", n_var=-1, default_i_vals=[0, 0, 0], &
|
||||
type_of_var=integer_t)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
|
@ -410,7 +410,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="REL_CUTOFF", &
|
||||
variants=(/"RELATIVE_CUTOFF"/), &
|
||||
variants=["RELATIVE_CUTOFF"], &
|
||||
description="Determines the grid at which a Gaussian is mapped.", &
|
||||
usage="REL_CUTOFF 50", type_of_var=real_t, &
|
||||
default_r_val=50.0_dp)
|
||||
|
|
@ -418,7 +418,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="STORE_WFN", &
|
||||
variants=(/"STORE_WAVEFUNCTION"/), &
|
||||
variants=["STORE_WAVEFUNCTION"], &
|
||||
description="Store wavefunction in real space representation for integration.", &
|
||||
usage="STORE_WFN T", type_of_var=logical_t, &
|
||||
default_l_val=.TRUE., lone_keyword_l_val=.TRUE.)
|
||||
|
|
@ -437,7 +437,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="PRINT_LEVEL", &
|
||||
variants=(/"IOLEVEL"/), &
|
||||
variants=["IOLEVEL"], &
|
||||
description="How much output is written by the individual groups.", &
|
||||
usage="PRINT_LEVEL HIGH", &
|
||||
default_i_val=silent_print_level, enum_c_vals= &
|
||||
|
|
@ -445,8 +445,8 @@ CONTAINS
|
|||
enum_desc=s2a("Almost no output", &
|
||||
"Little output", "Quite some output", "Lots of output", &
|
||||
"Everything is written out, useful for debugging purposes only"), &
|
||||
enum_i_vals=(/silent_print_level, low_print_level, medium_print_level, &
|
||||
high_print_level, debug_print_level/))
|
||||
enum_i_vals=[silent_print_level, low_print_level, medium_print_level, &
|
||||
high_print_level, debug_print_level])
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ CONTAINS
|
|||
usage="RUN_TYPE (NONE|ENERGY|BASIS_OPTIMIZATION|PSEUDOPOTENTIAL_OPTIMIZATION)", &
|
||||
default_i_val=atom_energy_run, &
|
||||
enum_c_vals=s2a("NONE", "ENERGY", "BASIS_OPTIMIZATION", "PSEUDOPOTENTIAL_OPTIMIZATION"), &
|
||||
enum_i_vals=(/atom_no_run, atom_energy_run, atom_basis_run, atom_pseudo_run/), &
|
||||
enum_i_vals=[atom_no_run, atom_energy_run, atom_basis_run, atom_pseudo_run], &
|
||||
enum_desc=s2a("Perform no run", &
|
||||
"Perform energy optimization", &
|
||||
"Perform basis optimization", &
|
||||
|
|
@ -100,10 +100,10 @@ CONTAINS
|
|||
description="Method to calculate Coulomb integrals", &
|
||||
usage="COULOMB_INTEGRALS (ANALYTIC|SEMI_ANALYTIC|NUMERIC)", &
|
||||
default_i_val=do_numeric, &
|
||||
enum_c_vals=(/"ANALYTIC ", &
|
||||
"SEMI_ANALYTIC ", &
|
||||
"NUMERIC "/), &
|
||||
enum_i_vals=(/do_analytic, do_semi_analytic, do_numeric/), &
|
||||
enum_c_vals=["ANALYTIC ", &
|
||||
"SEMI_ANALYTIC ", &
|
||||
"NUMERIC "], &
|
||||
enum_i_vals=[do_analytic, do_semi_analytic, do_numeric], &
|
||||
enum_desc=s2a("Use analytical method", &
|
||||
"Use semi-analytical method", &
|
||||
"Use numerical method"))
|
||||
|
|
@ -114,10 +114,10 @@ CONTAINS
|
|||
description="Method to calculate Exchange integrals", &
|
||||
usage="EXCHANGE_INTEGRALS (ANALYTIC|SEMI_ANALYTIC|NUMERIC)", &
|
||||
default_i_val=do_numeric, &
|
||||
enum_c_vals=(/"ANALYTIC ", &
|
||||
"SEMI_ANALYTIC ", &
|
||||
"NUMERIC "/), &
|
||||
enum_i_vals=(/do_analytic, do_semi_analytic, do_numeric/), &
|
||||
enum_c_vals=["ANALYTIC ", &
|
||||
"SEMI_ANALYTIC ", &
|
||||
"NUMERIC "], &
|
||||
enum_i_vals=[do_analytic, do_semi_analytic, do_numeric], &
|
||||
enum_desc=s2a("Use analytical method. Not available for longrange Hartree-Fock", &
|
||||
"Use semi-analytical method", &
|
||||
"Use numerical method"))
|
||||
|
|
@ -320,7 +320,7 @@ CONTAINS
|
|||
description="Algorithm to construct the atomic radial grids", &
|
||||
usage="QUADRATURE (GC_SIMPLE|GC_TRANSFORMED|GC_LOG)", &
|
||||
enum_c_vals=s2a("GC_SIMPLE", "GC_TRANSFORMED", "GC_LOG"), &
|
||||
enum_i_vals=(/do_gapw_gcs, do_gapw_gct, do_gapw_log/), &
|
||||
enum_i_vals=[do_gapw_gcs, do_gapw_gct, do_gapw_log], &
|
||||
enum_desc=s2a("Gauss-Chebyshev quadrature", &
|
||||
"Transformed Gauss-Chebyshev quadrature", &
|
||||
"Logarithmic transformed Gauss-Chebyshev quadrature"), &
|
||||
|
|
@ -527,12 +527,12 @@ CONTAINS
|
|||
description="Basis set type", &
|
||||
usage="BASIS_TYPE (GAUSSIAN|GEOMETRICAL_GTO|CONTRACTED_GTO|SLATER|NUMERICAL)", &
|
||||
default_i_val=gaussian, &
|
||||
enum_c_vals=(/"GAUSSIAN ", &
|
||||
"GEOMETRICAL_GTO ", &
|
||||
"CONTRACTED_GTO ", &
|
||||
"SLATER ", &
|
||||
"NUMERICAL "/), &
|
||||
enum_i_vals=(/gaussian, geometrical_gto, contracted_gto, slater, numerical/), &
|
||||
enum_c_vals=["GAUSSIAN ", &
|
||||
"GEOMETRICAL_GTO ", &
|
||||
"CONTRACTED_GTO ", &
|
||||
"SLATER ", &
|
||||
"NUMERICAL "], &
|
||||
enum_i_vals=[gaussian, geometrical_gto, contracted_gto, slater, numerical], &
|
||||
enum_desc=s2a("Gaussian type orbitals", &
|
||||
"Geometrical Gaussian type orbitals", &
|
||||
"Contracted Gaussian type orbitals", &
|
||||
|
|
@ -637,7 +637,7 @@ CONTAINS
|
|||
description="Algorithm to construct the atomic radial grids", &
|
||||
usage="QUADRATURE (GC_SIMPLE|GC_TRANSFORMED|GC_LOG)", &
|
||||
enum_c_vals=s2a("GC_SIMPLE", "GC_TRANSFORMED", "GC_LOG"), &
|
||||
enum_i_vals=(/do_gapw_gcs, do_gapw_gct, do_gapw_log/), &
|
||||
enum_i_vals=[do_gapw_gcs, do_gapw_gct, do_gapw_log], &
|
||||
enum_desc=s2a("Gauss-Chebyshev quadrature", &
|
||||
"Transformed Gauss-Chebyshev quadrature", &
|
||||
"Logarithmic transformed Gauss-Chebyshev quadrature"), &
|
||||
|
|
@ -687,15 +687,15 @@ CONTAINS
|
|||
description="Type of electronic structure method to be used", &
|
||||
usage="METHOD_TYPE (KOHN-SHAM|RKS|UKS|HARTREE-FOCK|RHF|UHF|ROHF)", &
|
||||
default_i_val=do_rks_atom, &
|
||||
enum_c_vals=(/"KOHN-SHAM ", &
|
||||
"RKS ", &
|
||||
"UKS ", &
|
||||
"HARTREE-FOCK ", &
|
||||
"RHF ", &
|
||||
"UHF ", &
|
||||
"ROHF "/), &
|
||||
enum_i_vals=(/do_rks_atom, do_rks_atom, do_uks_atom, do_rhf_atom, &
|
||||
do_rhf_atom, do_uhf_atom, do_rohf_atom/), &
|
||||
enum_c_vals=["KOHN-SHAM ", &
|
||||
"RKS ", &
|
||||
"UKS ", &
|
||||
"HARTREE-FOCK ", &
|
||||
"RHF ", &
|
||||
"UHF ", &
|
||||
"ROHF "], &
|
||||
enum_i_vals=[do_rks_atom, do_rks_atom, do_uks_atom, do_rhf_atom, &
|
||||
do_rhf_atom, do_uhf_atom, do_rohf_atom], &
|
||||
enum_desc=s2a("Kohn-Sham electronic structure method", &
|
||||
"Restricted Kohn-Sham electronic structure method", &
|
||||
"Unrestricted Kohn-Sham electronic structure method", &
|
||||
|
|
@ -710,15 +710,15 @@ CONTAINS
|
|||
description="Type of scalar relativistic method to be used", &
|
||||
usage="RELATIVISTIC (OFF|ZORA(MP)|scZORA(MP)|DKH(0)|DKH(1)|DKH(2)|DKH(3))", &
|
||||
default_i_val=do_nonrel_atom, &
|
||||
enum_c_vals=(/"OFF ", &
|
||||
"ZORA(MP) ", &
|
||||
"scZORA(MP) ", &
|
||||
"DKH(0) ", &
|
||||
"DKH(1) ", &
|
||||
"DKH(2) ", &
|
||||
"DKH(3) "/), &
|
||||
enum_i_vals=(/do_nonrel_atom, do_zoramp_atom, do_sczoramp_atom, do_dkh0_atom, &
|
||||
do_dkh1_atom, do_dkh2_atom, do_dkh3_atom/), &
|
||||
enum_c_vals=["OFF ", &
|
||||
"ZORA(MP) ", &
|
||||
"scZORA(MP) ", &
|
||||
"DKH(0) ", &
|
||||
"DKH(1) ", &
|
||||
"DKH(2) ", &
|
||||
"DKH(3) "], &
|
||||
enum_i_vals=[do_nonrel_atom, do_zoramp_atom, do_sczoramp_atom, do_dkh0_atom, &
|
||||
do_dkh1_atom, do_dkh2_atom, do_dkh3_atom], &
|
||||
enum_desc=s2a("Use no scalar relativistic method", &
|
||||
"Use ZORA method with atomic model potential", &
|
||||
"Use scaled ZORA method with atomic model potential", &
|
||||
|
|
@ -921,10 +921,10 @@ CONTAINS
|
|||
description="Define functional form of confinement potential.", &
|
||||
usage="CONFINEMENT_TYPE (NONE|POLYNOM|BARRIER)", &
|
||||
default_i_val=poly_conf, &
|
||||
enum_c_vals=(/"NONE ", &
|
||||
"POLYNOM ", &
|
||||
"BARRIER "/), &
|
||||
enum_i_vals=(/no_conf, poly_conf, barrier_conf/), &
|
||||
enum_c_vals=["NONE ", &
|
||||
"POLYNOM ", &
|
||||
"BARRIER "], &
|
||||
enum_i_vals=[no_conf, poly_conf, barrier_conf], &
|
||||
enum_desc=s2a("Do not use confinement potential", &
|
||||
"Use polynomial confinement potential: a*(R/b)^c", &
|
||||
"Use a smooth barrier potential: a*F[R-c)/b]"))
|
||||
|
|
@ -935,7 +935,7 @@ CONTAINS
|
|||
description="Definition of parameters for confinement potential (a,b,c)", &
|
||||
usage="CONFINEMENT prefactor range exponent (POLYNOM) "// &
|
||||
"CONFINEMENT prefactor range r_onset (BARRIER)", &
|
||||
default_r_vals=(/0._dp, 0._dp, 0._dp/), &
|
||||
default_r_vals=[0._dp, 0._dp, 0._dp], &
|
||||
repeats=.FALSE., n_var=-1)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
|
@ -944,12 +944,12 @@ CONTAINS
|
|||
description="Pseudopotential type", &
|
||||
usage="PSEUDO_TYPE (NONE|GTH|UPF|ECP)", &
|
||||
default_i_val=no_pseudo, &
|
||||
enum_c_vals=(/"NONE ", &
|
||||
"GTH ", &
|
||||
"UPF ", &
|
||||
"SGP ", &
|
||||
"ECP "/), &
|
||||
enum_i_vals=(/no_pseudo, gth_pseudo, upf_pseudo, sgp_pseudo, ecp_pseudo/), &
|
||||
enum_c_vals=["NONE ", &
|
||||
"GTH ", &
|
||||
"UPF ", &
|
||||
"SGP ", &
|
||||
"ECP "], &
|
||||
enum_i_vals=[no_pseudo, gth_pseudo, upf_pseudo, sgp_pseudo, ecp_pseudo], &
|
||||
enum_desc=s2a("Do not use pseudopotentials", &
|
||||
"Use Goedecker-Teter-Hutter pseudopotentials", &
|
||||
"Use UPF norm-conserving pseudopotentials", &
|
||||
|
|
@ -966,7 +966,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="POTENTIAL_NAME", &
|
||||
variants=(/"POT_NAME"/), &
|
||||
variants=["POT_NAME"], &
|
||||
description="The name of the pseudopotential for the defined kind.", &
|
||||
usage="POTENTIAL_NAME <PSEUDO-POTENTIAL-NAME>", default_c_val=" ", n_var=1)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ CONTAINS
|
|||
description="Controls the calculation of atomic properties. "// &
|
||||
"Printing is controlled by FORCE_EVAL / PRINT / PROGRAM_RUN_INFO", &
|
||||
repeats=.FALSE., &
|
||||
citations=(/Kikuchi2009/))
|
||||
citations=[Kikuchi2009])
|
||||
|
||||
NULLIFY (keyword)
|
||||
|
||||
|
|
|
|||
|
|
@ -265,7 +265,7 @@ CONTAINS
|
|||
NULLIFY (subsection, keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ATOMS_FROM", &
|
||||
variants=(/"POINTS_FROM"/), &
|
||||
variants=["POINTS_FROM"], &
|
||||
description="Specify indexes of atoms/points building the coordination variable. ", &
|
||||
usage="ATOMS_FROM {integer} {integer} ..", repeats=.TRUE., &
|
||||
n_var=-1, type_of_var=integer_t)
|
||||
|
|
@ -273,7 +273,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ATOMS_TO", &
|
||||
variants=(/"POINTS_TO"/), &
|
||||
variants=["POINTS_TO"], &
|
||||
description="Specify indexes of atoms/points building the coordination variable. ", &
|
||||
usage="ATOMS_TO {integer} {integer} ..", repeats=.TRUE., &
|
||||
n_var=-1, type_of_var=integer_t)
|
||||
|
|
@ -281,7 +281,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ATOMS_TO_B", &
|
||||
variants=(/"POINTS_TO_B"/), &
|
||||
variants=["POINTS_TO_B"], &
|
||||
description="For the CV given by the multiplication of two coorination numbers,"// &
|
||||
" here specify indexes of the third set of atoms/points. ", &
|
||||
usage="ATOMS_TO_B {integer} {integer} ..", repeats=.TRUE., &
|
||||
|
|
@ -317,7 +317,7 @@ CONTAINS
|
|||
CALL section_release(subsection)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="R0", &
|
||||
variants=(/"R_0"/), &
|
||||
variants=["R_0"], &
|
||||
description="Specify the R0 parameter in the coordination function.", &
|
||||
usage="R0 {real}", default_r_val=3.0_dp, &
|
||||
unit_str="bohr", n_var=1)
|
||||
|
|
@ -325,7 +325,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="NN", &
|
||||
variants=(/"EXPON_NUMERATOR"/), &
|
||||
variants=["EXPON_NUMERATOR"], &
|
||||
description="Sets the value of the numerator of the exponential factor"// &
|
||||
" in the coordination FUNCTION.", &
|
||||
usage="NN {integer}", default_i_val=6, &
|
||||
|
|
@ -334,7 +334,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ND", &
|
||||
variants=(/"EXPON_DENOMINATOR"/), &
|
||||
variants=["EXPON_DENOMINATOR"], &
|
||||
description="Sets the value of the denominator of the exponential factor"// &
|
||||
" in the coordination FUNCTION.", &
|
||||
usage="ND {integer}", default_i_val=12, &
|
||||
|
|
@ -343,7 +343,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="R0_B", &
|
||||
variants=(/"R_0_B"/), &
|
||||
variants=["R_0_B"], &
|
||||
description="For the CV given by the multiplication of two coorination numbers,"// &
|
||||
" specify the R0 parameter in the second coordination function.", &
|
||||
usage="R0_B {real}", default_r_val=3.0_dp, &
|
||||
|
|
@ -352,7 +352,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="NN_B", &
|
||||
variants=(/"EXPON_NUMERATOR_B"/), &
|
||||
variants=["EXPON_NUMERATOR_B"], &
|
||||
description="For the CV given by the multiplication of two coorination numbers,"// &
|
||||
" Sets the value of the numerator of the exponential factor"// &
|
||||
" in the coordination FUNCTION.", &
|
||||
|
|
@ -362,7 +362,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ND_B", &
|
||||
variants=(/"EXPON_DENOMINATOR_B"/), &
|
||||
variants=["EXPON_DENOMINATOR_B"], &
|
||||
description="For the CV given by the multiplication of two coorination numbers,"// &
|
||||
" Sets the value of the denominator of the exponential factor"// &
|
||||
" in the coordination FUNCTION.", &
|
||||
|
|
@ -398,7 +398,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ATOMS_FROM", &
|
||||
variants=(/"POINTS_FROM"/), &
|
||||
variants=["POINTS_FROM"], &
|
||||
description="Specify indexes of atoms/points building the coordination variable. ", &
|
||||
usage="ATOMS_FROM {integer} {integer} ..", repeats=.TRUE., &
|
||||
n_var=-1, type_of_var=integer_t)
|
||||
|
|
@ -406,7 +406,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ATOMS_TO", &
|
||||
variants=(/"POINTS_TO"/), &
|
||||
variants=["POINTS_TO"], &
|
||||
description="Specify indexes of atoms/points building the coordination variable. ", &
|
||||
usage="ATOMS_TO {integer} {integer} ..", repeats=.TRUE., &
|
||||
n_var=-1, type_of_var=integer_t)
|
||||
|
|
@ -433,7 +433,7 @@ CONTAINS
|
|||
CALL section_release(subsection)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="R0", &
|
||||
variants=(/"R_0"/), &
|
||||
variants=["R_0"], &
|
||||
description="Specify the R0 parameter in the coordination function.", &
|
||||
usage="R0 {real}", default_r_val=3.0_dp, &
|
||||
unit_str="bohr", n_var=1)
|
||||
|
|
@ -441,7 +441,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="NN", &
|
||||
variants=(/"EXPON_NUMERATOR"/), &
|
||||
variants=["EXPON_NUMERATOR"], &
|
||||
description="Sets the value of the numerator of the exponential factor"// &
|
||||
" in the coordination FUNCTION.", &
|
||||
usage="NN {integer}", default_i_val=6, &
|
||||
|
|
@ -450,7 +450,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ND", &
|
||||
variants=(/"EXPON_DENOMINATOR"/), &
|
||||
variants=["EXPON_DENOMINATOR"], &
|
||||
description="Sets the value of the denominator of the exponential factor"// &
|
||||
" in the coordination FUNCTION.", &
|
||||
usage="ND {integer}", default_i_val=12, &
|
||||
|
|
@ -488,7 +488,7 @@ CONTAINS
|
|||
NULLIFY (subsection, keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ATOMS_FROM", &
|
||||
variants=(/"POINTS_FROM"/), &
|
||||
variants=["POINTS_FROM"], &
|
||||
description="Specify indexes of atoms/points building the coordination variable. ", &
|
||||
usage="ATOMS_FROM {integer} {integer} ..", repeats=.TRUE., &
|
||||
n_var=-1, type_of_var=integer_t)
|
||||
|
|
@ -496,7 +496,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ATOMS_TO", &
|
||||
variants=(/"POINTS_TO"/), &
|
||||
variants=["POINTS_TO"], &
|
||||
description="Specify indexes of atoms/points building the coordination variable. ", &
|
||||
usage="ATOMS_TO {integer} {integer} ..", repeats=.TRUE., &
|
||||
n_var=-1, type_of_var=integer_t)
|
||||
|
|
@ -523,7 +523,7 @@ CONTAINS
|
|||
CALL section_release(subsection)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="R0", &
|
||||
variants=(/"R_0"/), &
|
||||
variants=["R_0"], &
|
||||
description="Specify the R0 parameter in the coordination function.", &
|
||||
usage="R0 {real}", default_r_val=3.0_dp, &
|
||||
n_var=1)
|
||||
|
|
@ -531,7 +531,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="NN", &
|
||||
variants=(/"EXPON_NUMERATOR"/), &
|
||||
variants=["EXPON_NUMERATOR"], &
|
||||
description="Sets the value of the numerator of the exponential factor"// &
|
||||
" in the coordination FUNCTION.", &
|
||||
usage="NN {integer}", default_i_val=6, &
|
||||
|
|
@ -540,7 +540,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ND", &
|
||||
variants=(/"EXPON_DENOMINATOR"/), &
|
||||
variants=["EXPON_DENOMINATOR"], &
|
||||
description="Sets the value of the denominator of the exponential factor"// &
|
||||
" in the coordination FUNCTION.", &
|
||||
usage="ND {integer}", default_i_val=12, &
|
||||
|
|
@ -549,7 +549,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="n0", &
|
||||
variants=(/"n_0"/), &
|
||||
variants=["n_0"], &
|
||||
description="Specify the n0 parameter that sets the coordination of the species.", &
|
||||
usage="n0 {integer}", default_i_val=4, &
|
||||
n_var=1)
|
||||
|
|
@ -583,7 +583,7 @@ CONTAINS
|
|||
NULLIFY (subsection, keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ATOMS", &
|
||||
variants=(/"POINTS"/), &
|
||||
variants=["POINTS"], &
|
||||
description="Specify indexes of atoms/points defyining the gyration radius variable. ", &
|
||||
usage="ATOMS {integer} {integer} ..", repeats=.TRUE., &
|
||||
n_var=-1, type_of_var=integer_t)
|
||||
|
|
@ -624,7 +624,7 @@ CONTAINS
|
|||
NULLIFY (keyword, subsection)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ATOMS", &
|
||||
variants=(/"POINTS"/), &
|
||||
variants=["POINTS"], &
|
||||
description="Specifies the indexes of atoms/points for the two bonds d1=(1-2) d2=(3-4).", &
|
||||
usage="ATOMS {integer} {integer} {integer} {integer}", &
|
||||
n_var=4, type_of_var=integer_t)
|
||||
|
|
@ -673,7 +673,7 @@ CONTAINS
|
|||
NULLIFY (keyword, subsection)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ATOMS", &
|
||||
variants=(/"POINTS"/), &
|
||||
variants=["POINTS"], &
|
||||
description="Specifies the indexes of atoms/points defining the torsion.", &
|
||||
usage="ATOMS {integer} {integer} {integer} {integer}", &
|
||||
n_var=4, type_of_var=integer_t)
|
||||
|
|
@ -763,7 +763,7 @@ CONTAINS
|
|||
NULLIFY (keyword, subsection)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ATOMS", &
|
||||
variants=(/"POINTS"/), &
|
||||
variants=["POINTS"], &
|
||||
description="Specifies the indexes of atoms/points defining the angle.", &
|
||||
usage="ATOMS {integer} {integer} {integer}", &
|
||||
n_var=3, type_of_var=integer_t)
|
||||
|
|
@ -795,7 +795,7 @@ CONTAINS
|
|||
NULLIFY (keyword, subsection)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ATOMS", &
|
||||
variants=(/"POINTS"/), &
|
||||
variants=["POINTS"], &
|
||||
description="Specifies the indexes of atoms/points defining the distance.", &
|
||||
usage="ATOMS {integer} {integer}", &
|
||||
n_var=2, type_of_var=integer_t)
|
||||
|
|
@ -805,7 +805,7 @@ CONTAINS
|
|||
description="Define the axes along which the colvar should be evaluated", &
|
||||
usage="AXIS (XYZ | X | Y | Z | XY| XZ | YZ)", &
|
||||
enum_c_vals=s2a("XYZ", "X", "Y", "Z", "XY", "XZ", "YZ"), &
|
||||
enum_i_vals=(/do_clv_xyz, do_clv_x, do_clv_y, do_clv_z, do_clv_xy, do_clv_xz, do_clv_yz/), &
|
||||
enum_i_vals=[do_clv_xyz, do_clv_x, do_clv_y, do_clv_z, do_clv_xy, do_clv_xz, do_clv_yz], &
|
||||
default_i_val=do_clv_xyz)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
|
@ -846,7 +846,7 @@ CONTAINS
|
|||
NULLIFY (keyword, subsection)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ATOM", &
|
||||
variants=(/"POINT"/), &
|
||||
variants=["POINT"], &
|
||||
description="Specifies the index of the atom/point.", &
|
||||
usage="ATOM {integer}", &
|
||||
n_var=1, type_of_var=integer_t)
|
||||
|
|
@ -858,7 +858,7 @@ CONTAINS
|
|||
"as a colvar.", &
|
||||
usage="COMPONENT (XYZ | X | Y | Z | XY| XZ | YZ)", &
|
||||
enum_c_vals=s2a("XYZ", "X", "Y", "Z", "XY", "XZ", "YZ"), &
|
||||
enum_i_vals=(/do_clv_xyz, do_clv_x, do_clv_y, do_clv_z, do_clv_xy, do_clv_xz, do_clv_yz/), &
|
||||
enum_i_vals=[do_clv_xyz, do_clv_x, do_clv_y, do_clv_z, do_clv_xy, do_clv_xz, do_clv_yz], &
|
||||
default_i_val=do_clv_xyz)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
|
@ -905,7 +905,7 @@ CONTAINS
|
|||
NULLIFY (keyword, subsection)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ATOMS", &
|
||||
variants=(/"POINTS"/), &
|
||||
variants=["POINTS"], &
|
||||
description="Specifies the index of the atoms/points A and B.", &
|
||||
usage="ATOMS {integer} {integer}", &
|
||||
n_var=2, type_of_var=integer_t)
|
||||
|
|
@ -917,7 +917,7 @@ CONTAINS
|
|||
"as a colvar for atom A.", &
|
||||
usage="COMPONENT_A (XYZ | X | Y | Z | XY| XZ | YZ)", &
|
||||
enum_c_vals=s2a("XYZ", "X", "Y", "Z", "XY", "XZ", "YZ"), &
|
||||
enum_i_vals=(/do_clv_xyz, do_clv_x, do_clv_y, do_clv_z, do_clv_xy, do_clv_xz, do_clv_yz/), &
|
||||
enum_i_vals=[do_clv_xyz, do_clv_x, do_clv_y, do_clv_z, do_clv_xy, do_clv_xz, do_clv_yz], &
|
||||
default_i_val=do_clv_xyz)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
|
@ -927,7 +927,7 @@ CONTAINS
|
|||
"as a colvar for atom B.", &
|
||||
usage="COMPONENT_B (XYZ | X | Y | Z | XY| XZ | YZ)", &
|
||||
enum_c_vals=s2a("XYZ", "X", "Y", "Z", "XY", "XZ", "YZ"), &
|
||||
enum_i_vals=(/do_clv_xyz, do_clv_x, do_clv_y, do_clv_z, do_clv_xy, do_clv_xz, do_clv_yz/), &
|
||||
enum_i_vals=[do_clv_xyz, do_clv_x, do_clv_y, do_clv_z, do_clv_xy, do_clv_xz, do_clv_yz], &
|
||||
default_i_val=do_clv_xyz)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
|
@ -1053,7 +1053,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ATOMS_PLANE", &
|
||||
variants=(/"POINTS_PLANE"/), &
|
||||
variants=["POINTS_PLANE"], &
|
||||
description="Specifies the indexes of atoms/points defining the plane.", &
|
||||
usage="ATOMS_PLANE <INTEGER> <INTEGER> <INTEGER>", &
|
||||
n_var=3, type_of_var=integer_t)
|
||||
|
|
@ -1061,7 +1061,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ATOM_POINT", &
|
||||
variants=(/"POINT_POINT"/), &
|
||||
variants=["POINT_POINT"], &
|
||||
description="Specifies the atom/point index defining the point.", &
|
||||
usage="ATOM_POINT <INTEGER>", &
|
||||
n_var=1, type_of_var=integer_t)
|
||||
|
|
@ -1107,7 +1107,7 @@ CONTAINS
|
|||
enum_c_vals=s2a("ATOMS", "VECTOR"), &
|
||||
enum_desc=s2a("Plane defined by the position of 3 atoms", &
|
||||
"Plane defined by a fixed normal vector"), &
|
||||
enum_i_vals=(/plane_def_atoms, plane_def_vec/))
|
||||
enum_i_vals=[plane_def_atoms, plane_def_vec])
|
||||
CALL section_add_keyword(subsection, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
|
|
@ -1158,7 +1158,7 @@ CONTAINS
|
|||
enum_c_vals=s2a("GEO_CENTER", "FIX_POINT"), &
|
||||
enum_desc=s2a("Computes the geometrical center of the listed atoms", &
|
||||
"Defines a fixed point in space"), &
|
||||
enum_i_vals=(/do_clv_geo_center, do_clv_fix_point/), &
|
||||
enum_i_vals=[do_clv_geo_center, do_clv_fix_point], &
|
||||
default_i_val=do_clv_geo_center)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
|
@ -1207,7 +1207,7 @@ CONTAINS
|
|||
NULLIFY (keyword, subsection)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ATOMS_FROM", &
|
||||
variants=(/"POINTS_FROM"/), &
|
||||
variants=["POINTS_FROM"], &
|
||||
description="Specify indexes of atoms/points building the coordination variable. ", &
|
||||
usage="ATOMS_FROM {integer} {integer} ..", repeats=.TRUE., &
|
||||
n_var=-1, type_of_var=integer_t)
|
||||
|
|
@ -1215,7 +1215,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ATOMS_TO", &
|
||||
variants=(/"POINTS_TO"/), &
|
||||
variants=["POINTS_TO"], &
|
||||
description="Specify indexes of atoms/points building the coordination variable. ", &
|
||||
usage="ATOMS_TO {integer} {integer} ..", repeats=.TRUE., &
|
||||
n_var=-1, type_of_var=integer_t)
|
||||
|
|
@ -1311,7 +1311,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="pOO", &
|
||||
variants=(/"EXPON_NUMERATORA"/), &
|
||||
variants=["EXPON_NUMERATORA"], &
|
||||
description="Sets the value of the numerator of the exponential factor"// &
|
||||
" in the coordination function: number of oxygens per water oxygen.", &
|
||||
usage="pOO {integer}", default_i_val=6, &
|
||||
|
|
@ -1320,7 +1320,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="qOO", &
|
||||
variants=(/"EXPON_DENOMINATORA"/), &
|
||||
variants=["EXPON_DENOMINATORA"], &
|
||||
description="Sets the value of the denominator of the exponential factor"// &
|
||||
" in the coordination function: number of oxygens per water oxygen.", &
|
||||
usage="qOO {integer}", default_i_val=12, &
|
||||
|
|
@ -1337,7 +1337,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="pOH", &
|
||||
variants=(/"EXPON_NUMERATORB"/), &
|
||||
variants=["EXPON_NUMERATORB"], &
|
||||
description="Sets the value of the numerator of the exponential factor"// &
|
||||
" in the coordination function: number of hydrogens per water molecule.", &
|
||||
usage="pOH {integer}", default_i_val=6, &
|
||||
|
|
@ -1346,7 +1346,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="qOH", &
|
||||
variants=(/"EXPON_DENOMINATORB"/), &
|
||||
variants=["EXPON_DENOMINATORB"], &
|
||||
description="Sets the value of the denominator of the exponential factor"// &
|
||||
" in the coordination function: number of hydrogens per water molecule.", &
|
||||
usage="qOH {integer}", default_i_val=12, &
|
||||
|
|
@ -1362,7 +1362,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="pM", &
|
||||
variants=(/"EXPON_NUMERATOR"/), &
|
||||
variants=["EXPON_NUMERATOR"], &
|
||||
description="Sets the value of the numerator of the exponential factor"// &
|
||||
" in the M function.", &
|
||||
usage="pM {integer}", default_i_val=8, &
|
||||
|
|
@ -1371,7 +1371,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="qM", &
|
||||
variants=(/"EXPON_DENOMINATOR"/), &
|
||||
variants=["EXPON_DENOMINATOR"], &
|
||||
description="Sets the value of the denominator of the exponential factor"// &
|
||||
" in the M function.", &
|
||||
usage="qM {integer}", default_i_val=16, &
|
||||
|
|
@ -1620,7 +1620,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="LAMBDA", &
|
||||
variants=(/"LAMBDA"/), &
|
||||
variants=["LAMBDA"], &
|
||||
description="Specifies the LAMBDA parameter carboxylic acid function.", &
|
||||
usage="LAMBDA {real}", default_r_val=20.0_dp, &
|
||||
n_var=1)
|
||||
|
|
@ -1794,7 +1794,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="LAMBDA", &
|
||||
variants=(/"LAMBDA"/), &
|
||||
variants=["LAMBDA"], &
|
||||
description="Specifies the LAMBDA parameter carboxylic acid function.", &
|
||||
usage="LAMBDA {real}", default_r_val=10.0_dp, &
|
||||
n_var=1)
|
||||
|
|
@ -1828,7 +1828,7 @@ CONTAINS
|
|||
" with WEIGHT_LIST a list of weights is expected from input.", &
|
||||
usage="SUBSET_TYPE ALL", &
|
||||
enum_c_vals=s2a("ALL", "LIST", "WEIGHT_LIST"), &
|
||||
enum_i_vals=(/rmsd_all, rmsd_list, rmsd_weightlist/), &
|
||||
enum_i_vals=[rmsd_all, rmsd_list, rmsd_weightlist], &
|
||||
default_i_val=rmsd_all)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
|
@ -1890,7 +1890,7 @@ CONTAINS
|
|||
"both in the Q-dimensional colvar and 3N-Q remaining coordinates. "// &
|
||||
"For the details of the function see cited literature.", &
|
||||
n_keywords=1, n_subsections=0, repeats=.FALSE., &
|
||||
citations=(/Branduardi2007/))
|
||||
citations=[Branduardi2007])
|
||||
|
||||
CALL keywords_colvar_path(section)
|
||||
END SUBROUTINE create_colvar_rpath_section
|
||||
|
|
@ -1911,7 +1911,7 @@ CONTAINS
|
|||
"both in the Q-dimensional colvar and 3N-Q remaining coordinates. "// &
|
||||
"For the details of the function see cited literature.", &
|
||||
n_keywords=1, n_subsections=0, repeats=.FALSE., &
|
||||
citations=(/Branduardi2007/))
|
||||
citations=[Branduardi2007])
|
||||
|
||||
CALL keywords_colvar_path(section)
|
||||
END SUBROUTINE create_colvar_dpath_section
|
||||
|
|
@ -1951,7 +1951,7 @@ CONTAINS
|
|||
description="Define the subsytem used to compute the RMSD", &
|
||||
usage="SUBSET_TYPE ALL", &
|
||||
enum_c_vals=s2a("ALL", "LIST"), &
|
||||
enum_i_vals=(/rmsd_all, rmsd_list/), &
|
||||
enum_i_vals=[rmsd_all, rmsd_list], &
|
||||
default_i_val=rmsd_all)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
|
@ -2185,7 +2185,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ATOMS", &
|
||||
variants=(/"POINTS"/), &
|
||||
variants=["POINTS"], &
|
||||
description="Specifies the indexes of atoms/points defining the bond (Od, H, Oa).", &
|
||||
usage="ATOMS {integer} {integer} {integer}", &
|
||||
n_var=3, type_of_var=integer_t, repeats=.TRUE.)
|
||||
|
|
@ -2239,7 +2239,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ATOMS", &
|
||||
variants=(/"POINTS"/), &
|
||||
variants=["POINTS"], &
|
||||
description="Specifies the indexes of atoms/points defining the bond (Od, H, Oa).", &
|
||||
usage="ATOMS {integer} {integer} {integer}", &
|
||||
n_var=3, type_of_var=integer_t, repeats=.TRUE.)
|
||||
|
|
@ -2273,7 +2273,7 @@ CONTAINS
|
|||
NULLIFY (keyword, subsection)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="ATOMS", &
|
||||
variants=(/"POINTS"/), &
|
||||
variants=["POINTS"], &
|
||||
description="Specifies the indexes of atoms/points defining the ring. "// &
|
||||
"At least 4 Atoms are needed.", &
|
||||
usage="ATOMS {integer} {integer} {integer} ..", &
|
||||
|
|
|
|||
|
|
@ -273,7 +273,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="MOLNAME", &
|
||||
variants=(/"SEGNAME"/), &
|
||||
variants=["SEGNAME"], &
|
||||
description="Specifies the name of the molecule on which the constraint will be applied.", &
|
||||
usage="MOLNAME {character}", n_var=1, type_of_var=char_t)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
|
|
@ -352,9 +352,9 @@ CONTAINS
|
|||
usage="COMPONENTS_TO_FIX (x|y|z|xy|xz|yz|xyz)", &
|
||||
default_i_val=use_perd_xyz, &
|
||||
enum_c_vals=s2a("x", "y", "z", "xy", "xz", "yz", "xyz"), &
|
||||
enum_i_vals=(/use_perd_x, use_perd_y, use_perd_z, &
|
||||
use_perd_xy, use_perd_xz, use_perd_yz, &
|
||||
use_perd_xyz/), &
|
||||
enum_i_vals=[use_perd_x, use_perd_y, use_perd_z, &
|
||||
use_perd_xy, use_perd_xz, use_perd_yz, &
|
||||
use_perd_xyz], &
|
||||
enum_desc=s2a("Fix only X component", &
|
||||
"Fix only Y component", &
|
||||
"Fix only Z component", &
|
||||
|
|
@ -375,7 +375,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="MOLNAME", &
|
||||
variants=(/"SEGNAME"/), &
|
||||
variants=["SEGNAME"], &
|
||||
description="Specifies the name of the molecule to fix", &
|
||||
usage="MOLNAME WAT MEOH", repeats=.TRUE., &
|
||||
n_var=-1, type_of_var=char_t)
|
||||
|
|
@ -384,11 +384,11 @@ CONTAINS
|
|||
|
||||
CALL keyword_create( &
|
||||
keyword, __LOCATION__, name="MM_SUBSYS", &
|
||||
variants=(/"PROTEIN"/), &
|
||||
variants=["PROTEIN"], &
|
||||
description="In a QM/MM run all MM atoms are fixed according to the argument.", &
|
||||
usage="MM_SUBSYS (NONE|ATOMIC|MOLECULAR)", &
|
||||
enum_c_vals=s2a("NONE", "ATOMIC", "MOLECULAR"), &
|
||||
enum_i_vals=(/do_constr_none, do_constr_atomic, do_constr_molec/), &
|
||||
enum_i_vals=[do_constr_none, do_constr_atomic, do_constr_molec], &
|
||||
enum_desc=s2a("fix nothing", &
|
||||
"only the MM atoms itself", &
|
||||
"the full molecule/residue that contains a MM atom (i.e. some QM atoms might be fixed as well)"), &
|
||||
|
|
@ -404,7 +404,7 @@ CONTAINS
|
|||
enum_desc=s2a("fix nothing", &
|
||||
"only the QM atoms itself", &
|
||||
"the full molecule/residue that contains a QM atom (i.e. some MM atoms might be fixed as well)"), &
|
||||
enum_i_vals=(/do_constr_none, do_constr_atomic, do_constr_molec/), &
|
||||
enum_i_vals=[do_constr_none, do_constr_atomic, do_constr_molec], &
|
||||
default_i_val=do_constr_none, repeats=.FALSE.)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
|
@ -446,7 +446,7 @@ CONTAINS
|
|||
|
||||
! Integer
|
||||
CALL keyword_create(keyword, __LOCATION__, name="MOLECULE", &
|
||||
variants=(/"MOL"/), &
|
||||
variants=["MOL"], &
|
||||
description="Specifies the molecule kind number on which constraint will be applied."// &
|
||||
" MOLECULE and MOLNAME keyword exclude themself mutually.", &
|
||||
usage="MOL {integer}", n_var=1, type_of_var=integer_t)
|
||||
|
|
@ -454,7 +454,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="MOLNAME", &
|
||||
variants=(/"SEGNAME"/), &
|
||||
variants=["SEGNAME"], &
|
||||
description="Specifies the name of the molecule on which the constraint will be applied.", &
|
||||
usage="MOLNAME {character}", n_var=1, type_of_var=char_t)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
|
|
@ -533,7 +533,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="MOLNAME", &
|
||||
variants=(/"SEGNAME"/), &
|
||||
variants=["SEGNAME"], &
|
||||
description="Specifies the names of the molecule on which the constraint will be applied.", &
|
||||
usage="MOLNAME {character} .. {character} ", n_var=-1, &
|
||||
type_of_var=char_t)
|
||||
|
|
@ -583,7 +583,7 @@ CONTAINS
|
|||
|
||||
! Integer
|
||||
CALL keyword_create(keyword, __LOCATION__, name="MOLECULE", &
|
||||
variants=(/"MOL"/), &
|
||||
variants=["MOL"], &
|
||||
description="Specifies the molecule number on which constraint will be applied."// &
|
||||
" MOLECULE and MOLNAME keyword exclude themself mutually.", &
|
||||
usage="MOL {integer}", n_var=1, type_of_var=integer_t)
|
||||
|
|
@ -591,7 +591,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="MOLNAME", &
|
||||
variants=(/"SEGNAME"/), &
|
||||
variants=["SEGNAME"], &
|
||||
description="Specifies the name of the molecule on which the constraint will be applied.", &
|
||||
usage="MOLNAME {character}", n_var=1, type_of_var=char_t)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
|
|
@ -654,7 +654,7 @@ CONTAINS
|
|||
|
||||
! Integer
|
||||
CALL keyword_create(keyword, __LOCATION__, name="MOLECULE", &
|
||||
variants=(/"MOL"/), &
|
||||
variants=["MOL"], &
|
||||
description="Specifies the molecule number on which constraint will be applied."// &
|
||||
" MOLECULE and MOLNAME keyword exclude themself mutually.", &
|
||||
usage="MOL {integer}", n_var=1, type_of_var=integer_t)
|
||||
|
|
@ -662,7 +662,7 @@ CONTAINS
|
|||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="MOLNAME", &
|
||||
variants=(/"SEGNAME"/), &
|
||||
variants=["SEGNAME"], &
|
||||
description="Specifies the name of the molecule on which the constraint will be applied.", &
|
||||
usage="MOLNAME {character}", n_var=1, type_of_var=char_t)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue