DBCSR-RMA-3D: fix a bug when using 3D layers and images

svn-origin-rev: 17376
This commit is contained in:
Alfio Lazzaro 2016-09-08 17:49:38 +00:00
parent 339b0a3769
commit ae3bd46f79
14 changed files with 481 additions and 32 deletions

View file

@ -24,12 +24,13 @@ MODULE cp_dbcsr_cp2k_link
cp_dbcsr_get_matrix_type, cp_dbcsr_has_symmetry, cp_dbcsr_reserve_blocks, cp_dbcsr_set, &
cp_dbcsr_type, dbcsr_get_conf_avg_elements_images, dbcsr_get_conf_comm_thread_load, &
dbcsr_get_conf_mm_driver, dbcsr_get_conf_mm_stacksize, dbcsr_get_conf_mpi_mem, &
dbcsr_get_conf_nstacks, dbcsr_get_conf_num_layers_3D, dbcsr_get_conf_randmat_seed, &
dbcsr_get_conf_use_comm_thread, dbcsr_get_conf_use_mpi_exp, &
dbcsr_get_conf_nstacks, dbcsr_get_conf_num_layers_3D, dbcsr_get_conf_num_mult_images, &
dbcsr_get_conf_randmat_seed, dbcsr_get_conf_use_comm_thread, dbcsr_get_conf_use_mpi_exp, &
dbcsr_get_conf_use_mpi_filtering, dbcsr_set_conf_avg_elements_images, &
dbcsr_set_conf_comm_thread_load, dbcsr_set_conf_max_ele_block, dbcsr_set_conf_mm_driver, &
dbcsr_set_conf_mm_stacksize, dbcsr_set_conf_nstacks, dbcsr_set_conf_num_layers_3D, &
dbcsr_set_conf_randmat_seed, dbcsr_set_conf_use_comm_thread, dbcsr_set_conf_use_mpi_exp, &
dbcsr_set_conf_num_mult_images, dbcsr_set_conf_randmat_seed, &
dbcsr_set_conf_use_comm_thread, dbcsr_set_conf_use_mpi_exp, &
dbcsr_set_conf_use_mpi_filtering, dbcsr_type_no_symmetry, has_acc, has_mpi, &
mm_driver_blas, mm_driver_matmul, mm_driver_smm, mm_driver_xsmm, mm_name_blas, &
mm_name_matmul, mm_name_smm, mm_name_xsmm, multrec_limit
@ -81,10 +82,8 @@ CONTAINS
CHARACTER(len=*), PARAMETER :: routineN = 'cp_dbcsr_config', &
routineP = moduleN//':'//routineN
INTEGER :: avg_elements_images, comm_thread_load, &
error_handle, max_ele_block, &
mm_driver, mm_ss, num_layers, &
randmat_seed
INTEGER :: avg_elements_images, comm_thread_load, error_handle, max_ele_block, mm_driver, &
mm_ss, num_layers, num_mult_images, randmat_seed
INTEGER, DIMENSION(3) :: nstacks
LOGICAL :: use_comm_thread, use_mpi_exp, &
use_mpi_filtering
@ -101,6 +100,8 @@ CONTAINS
"MAX_ELEMENTS_PER_BLOCK", i_val=max_ele_block)
CALL section_vals_val_get(dbcsr_section, &
"avg_elements_images", i_val=avg_elements_images)
CALL section_vals_val_get(dbcsr_section, &
"num_mult_images", i_val=num_mult_images)
CALL section_vals_val_get(dbcsr_section, &
"n_size_mnk_stacks", i_val=nstacks(1))
nstacks(2:3) = nstacks(1)
@ -147,6 +148,8 @@ CONTAINS
CALL dbcsr_set_conf_mm_stacksize(mm_ss)
IF (avg_elements_images > 0) &
CALL dbcsr_set_conf_avg_elements_images(avg_elements_images)
IF (num_mult_images > 0) &
CALL dbcsr_set_conf_num_mult_images(num_mult_images)
IF (nstacks(1) > 0) &
CALL dbcsr_set_conf_nstacks(nstacks)
CALL dbcsr_set_conf_use_mpi_filtering(use_mpi_filtering)
@ -202,6 +205,8 @@ CONTAINS
WRITE (UNIT=unit_num, FMT='(1X,A,T72,A)') &
"DBCSR| Maximum elements for images", "UNLIMITED"
ENDIF
WRITE (UNIT=unit_num, FMT='(1X,A,T70,I11)') &
"DBCSR| Multiplicative factor virtual images", dbcsr_get_conf_num_mult_images()
WRITE (UNIT=unit_num, FMT='(1X,A,T70,I11)') &
"DBCSR| Randmat seed", dbcsr_get_conf_randmat_seed()

View file

@ -33,9 +33,11 @@ MODULE dbcsr_config
PUBLIC :: dbcsr_get_conf_mpi_mem
PUBLIC :: dbcsr_set_conf_mm_driver, dbcsr_get_conf_mm_driver, dbcsr_get_conf_avg_elements_images
PUBLIC :: dbcsr_set_conf_mm_driver, dbcsr_get_conf_mm_driver, &
dbcsr_get_conf_avg_elements_images, dbcsr_get_conf_num_mult_images
PUBLIC :: dbcsr_set_conf_avg_elements_images, dbcsr_set_conf_nstacks, dbcsr_get_conf_nstacks
PUBLIC :: dbcsr_set_conf_avg_elements_images, dbcsr_set_conf_num_mult_images, &
dbcsr_set_conf_nstacks, dbcsr_get_conf_nstacks
PUBLIC :: dbcsr_set_conf_use_mpi_exp, dbcsr_get_conf_use_mpi_exp
PUBLIC :: dbcsr_set_conf_num_layers_3D, dbcsr_get_conf_num_layers_3D
@ -63,7 +65,7 @@ MODULE dbcsr_config
mm_name_xsmm
PUBLIC :: use_mpi_exp, use_mpi_filtering, use_comm_thread, comm_thread_load
PUBLIC :: num_layers_3D
PUBLIC :: max_elements_per_block, avg_elements_images
PUBLIC :: max_elements_per_block, avg_elements_images, num_mult_images
!
PUBLIC :: is_initialized
@ -146,6 +148,9 @@ MODULE dbcsr_config
! Maximum number of elements for each image
INTEGER, SAVE :: avg_elements_images = -1
! Multiplicative factor for number of virtual images
INTEGER, SAVE :: num_mult_images = 1
! Number of stacks to use
INTEGER, SAVE :: nm_stacks = 3
INTEGER, SAVE :: nn_stacks = 3
@ -369,11 +374,7 @@ CONTAINS
CHARACTER(len=*), PARAMETER :: routineN = 'dbcsr_set_conf_avg_elements_images', &
routineP = moduleN//':'//routineN
INTEGER :: error_handle
CALL timeset(routineN, error_handle)
avg_elements_images = new_avg_elements_images
CALL timestop(error_handle)
END SUBROUTINE dbcsr_set_conf_avg_elements_images
! **************************************************************************************************
@ -386,6 +387,29 @@ CONTAINS
dbcsr_get_conf_avg_elements_images = avg_elements_images
END FUNCTION dbcsr_get_conf_avg_elements_images
! **************************************************************************************************
!> \brief ...
!> \param new_num_mult_images ...
! **************************************************************************************************
SUBROUTINE dbcsr_set_conf_num_mult_images(new_num_mult_images)
INTEGER, INTENT(IN) :: new_num_mult_images
CHARACTER(len=*), PARAMETER :: routineN = 'dbcsr_set_conf_num_mult_images', &
routineP = moduleN//':'//routineN
num_mult_images = new_num_mult_images
END SUBROUTINE dbcsr_set_conf_num_mult_images
! **************************************************************************************************
!> \brief ...
!> \retval dbcsr_get_conf_num_mult_images ...
! **************************************************************************************************
FUNCTION dbcsr_get_conf_num_mult_images()
INTEGER :: dbcsr_get_conf_num_mult_images
dbcsr_get_conf_num_mult_images = num_mult_images
END FUNCTION dbcsr_get_conf_num_mult_images
! **************************************************************************************************
!> \brief ...
!> \param nstacks ...

View file

@ -34,11 +34,12 @@ MODULE dbcsr_api
accdrv_priority_streams, dbcsr_get_conf_avg_elements_images, &
dbcsr_get_conf_comm_thread_load, dbcsr_get_conf_max_ele_block, dbcsr_get_conf_mm_driver, &
dbcsr_get_conf_mm_stacksize, dbcsr_get_conf_mpi_mem, dbcsr_get_conf_nstacks, &
dbcsr_get_conf_num_layers_3D, dbcsr_get_conf_randmat_seed, dbcsr_get_conf_use_comm_thread, &
dbcsr_get_conf_use_mpi_exp, dbcsr_get_conf_use_mpi_filtering, &
dbcsr_set_conf_avg_elements_images, dbcsr_set_conf_comm_thread_load, &
dbcsr_set_conf_max_ele_block, dbcsr_set_conf_mm_driver, dbcsr_set_conf_mm_stacksize, &
dbcsr_set_conf_nstacks, dbcsr_set_conf_num_layers_3D, dbcsr_set_conf_randmat_seed, &
dbcsr_get_conf_num_layers_3D, dbcsr_get_conf_num_mult_images, dbcsr_get_conf_randmat_seed, &
dbcsr_get_conf_use_comm_thread, dbcsr_get_conf_use_mpi_exp, &
dbcsr_get_conf_use_mpi_filtering, dbcsr_set_conf_avg_elements_images, &
dbcsr_set_conf_comm_thread_load, dbcsr_set_conf_max_ele_block, dbcsr_set_conf_mm_driver, &
dbcsr_set_conf_mm_stacksize, dbcsr_set_conf_nstacks, dbcsr_set_conf_num_layers_3D, &
dbcsr_set_conf_num_mult_images, dbcsr_set_conf_randmat_seed, &
dbcsr_set_conf_use_comm_thread, dbcsr_set_conf_use_mpi_exp, &
dbcsr_set_conf_use_mpi_filtering, dbcsr_set_default_config, has_acc, has_mpi, &
mm_driver_auto, mm_driver_blas, mm_driver_matmul, mm_driver_smm, mm_driver_xsmm, &
@ -214,6 +215,7 @@ MODULE dbcsr_api
dbcsr_get_conf_max_ele_block, &
dbcsr_get_conf_mm_driver, &
dbcsr_get_conf_avg_elements_images, &
dbcsr_get_conf_num_mult_images, &
dbcsr_get_conf_mm_stacksize, &
dbcsr_get_conf_mpi_mem, &
dbcsr_get_conf_nstacks, &
@ -290,6 +292,7 @@ MODULE dbcsr_api
dbcsr_set_conf_mm_driver, &
dbcsr_set_conf_mm_stacksize, &
dbcsr_set_conf_avg_elements_images, &
dbcsr_set_conf_num_mult_images, &
dbcsr_set_conf_nstacks, &
dbcsr_set_conf_use_mpi_exp, &
dbcsr_set_conf_use_mpi_filtering, &

View file

@ -17,7 +17,8 @@ MODULE dbcsr_dist_methods
array_release,&
array_size
USE dbcsr_config, ONLY: avg_elements_images,&
comm_thread_load
comm_thread_load,&
num_mult_images
USE dbcsr_error_handling, ONLY: dbcsr_assert,&
dbcsr_fatal_level,&
dbcsr_internal_error,&
@ -501,8 +502,12 @@ CONTAINS
lcmv = lcm(nprows, npcols)
num_images_1d = lcmv
IF (num_mult_images .GT. 1) THEN
num_images_1d = num_images_1d*num_mult_images
RETURN
ENDIF
IF (matrix_dense_size_1d .EQ. 0) RETURN
!
IF (avg_elements_images .GT. 0) THEN
num_images_1d = num_images_1d* &
CEILING((DBLE(matrix_dense_size_1d)/num_images_1d)/ &

View file

@ -2361,6 +2361,29 @@ CONTAINS
ileft_buffer_comm = 0
ALLOCATE (do_comm_left(nrows3D))
ALLOCATE (right_vcol(ncols3D), left_vrow(nrows3D))
! Pre-set image coordinates
IF (min_nimages .GT. 1 .AND. shift_k .GT. 0) THEN
DO icol3D = 1, ncols3D
CALL image_calculator(imgdist_right, &
vprow=recv_vrow, &
vpcol=right_vcol(icol3D), &
mypcol=mypcol, &
myvprow=right_myfirstvrow, &
myvpcol=right_myfirstvcol+(icol3D-1)*layers_3D_C_reduction%side3D, &
vprow_shift=start_k, &
shifting='R')
ENDDO
DO irow3D = 1, nrows3D
CALL image_calculator(imgdist_left, &
vprow=left_vrow(irow3D), &
vpcol=recv_vcol, &
myprow=myprow, &
myvprow=left_myfirstvrow+(irow3D-1)*layers_3D_C_reduction%side3D, &
myvpcol=left_myfirstvcol, &
vpcol_shift=start_k, &
shifting='L')
ENDDO
ENDIF
grouped_steps_index: DO istep_k = shift_k, nvirt_k+shift_k
ivirt_k = istep_k/nranks3D
v_ki = MOD(ivirt_k, min_nimages)
@ -2562,7 +2585,8 @@ CONTAINS
ENDIF
IF (istep_k .GT. final_step_k) THEN
!$OMP PARALLEL DEFAULT (NONE) &
!$OMP SHARED (multrec, left_buffer, ileft_buffer_calc, buffers_calc) &
!$OMP SHARED (multrec, left_buffer, ileft_buffer_calc, buffers_calc, &
!$OMP myrow3D, mycol3D, product_matrix3D) &
!$OMP PRIVATE (ithread)
ithread = 0
!$ ithread = omp_get_thread_num()
@ -2572,6 +2596,12 @@ CONTAINS
DEALLOCATE (multrec(ithread, &
left_buffer(ileft_buffer_calc)%coord3D, &
buffers_calc%right%coord3D)%p)
IF (left_buffer(ileft_buffer_calc)%coord3D .NE. myrow3D .OR. &
buffers_calc%right%coord3D .NE. mycol3D) THEN
! Finalize the matrix to send
CALL dbcsr_finalize(product_matrix3D%mats(left_buffer(ileft_buffer_calc)%coord3D, &
buffers_calc%right%coord3D)%matrix)
ENDIF
!$OMP END PARALLEL
ENDIF
ENDIF wait_calc
@ -2654,8 +2684,6 @@ CONTAINS
irecv3D = MOD(nranks3D+myrank3D-iproc, nranks3D)
irow3D = MOD(isend3D, nrows3D)+1
icol3D = isend3D/nrows3D+1
! Finalize the matrix to send
CALL dbcsr_finalize(product_matrix3D%mats(irow3D, icol3D)%matrix)
product_matrix_size_comm(idata, 1) = &
product_matrix3D%mats(irow3D, icol3D)%matrix%m%index(dbcsr_slot_nze)
IF (product_matrix_size_comm(idata, 1) .GT. 0) THEN

View file

@ -44,7 +44,8 @@ MODULE cp_dbcsr_interface
dbcsr_get_conf_avg_elements_images, dbcsr_get_conf_comm_thread_load, &
dbcsr_get_conf_max_ele_block, dbcsr_get_conf_mm_driver, dbcsr_get_conf_mm_stacksize, &
dbcsr_get_conf_mpi_mem, dbcsr_get_conf_nstacks, dbcsr_get_conf_num_layers_3D, &
dbcsr_get_conf_randmat_seed, dbcsr_get_conf_use_comm_thread, dbcsr_get_conf_use_mpi_exp, &
dbcsr_get_conf_num_mult_images, dbcsr_get_conf_randmat_seed, &
dbcsr_get_conf_use_comm_thread, dbcsr_get_conf_use_mpi_exp, &
dbcsr_get_conf_use_mpi_filtering, dbcsr_get_data_p, dbcsr_get_data_size, &
dbcsr_get_data_type, dbcsr_get_diag, dbcsr_get_info, dbcsr_get_matrix_type, &
dbcsr_get_num_blocks, dbcsr_get_occupation, dbcsr_get_stored_coordinates, &
@ -64,7 +65,8 @@ MODULE cp_dbcsr_interface
dbcsr_scale_by_vector, dbcsr_set, dbcsr_set_conf_avg_elements_images, &
dbcsr_set_conf_comm_thread_load, dbcsr_set_conf_max_ele_block, dbcsr_set_conf_mm_driver, &
dbcsr_set_conf_mm_stacksize, dbcsr_set_conf_nstacks, dbcsr_set_conf_num_layers_3D, &
dbcsr_set_conf_randmat_seed, dbcsr_set_conf_use_comm_thread, dbcsr_set_conf_use_mpi_exp, &
dbcsr_set_conf_num_mult_images, dbcsr_set_conf_randmat_seed, &
dbcsr_set_conf_use_comm_thread, dbcsr_set_conf_use_mpi_exp, &
dbcsr_set_conf_use_mpi_filtering, dbcsr_set_diag, dbcsr_setname, dbcsr_sum_replicated, &
dbcsr_test_arnoldi, dbcsr_test_binary_io, dbcsr_test_mm, dbcsr_trace, dbcsr_triu, &
dbcsr_type_antisymmetric, dbcsr_type_complex_4, dbcsr_type_complex_8, &
@ -93,13 +95,14 @@ MODULE cp_dbcsr_interface
!
! Interface to libdbcsr (contains cp2k timing and error)
PUBLIC :: dbcsr_get_conf_comm_thread_load, &
dbcsr_get_conf_avg_elements_images, &
dbcsr_get_conf_avg_elements_images, dbcsr_get_conf_num_mult_images, &
dbcsr_get_conf_mm_stacksize, dbcsr_get_conf_nstacks, &
dbcsr_set_conf_mm_stacksize, &
dbcsr_get_conf_use_mpi_exp, dbcsr_get_conf_use_mpi_filtering, &
dbcsr_set_conf_num_layers_3D, dbcsr_get_conf_num_layers_3D
PUBLIC :: dbcsr_set_conf_comm_thread_load, dbcsr_set_conf_max_ele_block, dbcsr_set_conf_mm_driver, &
dbcsr_set_conf_avg_elements_images, dbcsr_set_conf_nstacks, dbcsr_set_conf_use_comm_thread, &
dbcsr_set_conf_num_mult_images, &
has_mpi, dbcsr_set_conf_use_mpi_exp, dbcsr_set_conf_use_mpi_filtering
PUBLIC :: has_acc, dbcsr_create_dist_block_cyclic, dbcsr_create_dist_r_unrot, dbcsr_distribution_local_cols, &
dbcsr_distribution_nlocal_rows, dbcsr_distribution_nrows, dbcsr_distribution_local_rows, &

View file

@ -24,10 +24,11 @@ MODULE input_cp2k_global
accdrv_do_inhomogenous, accdrv_min_flop_process, accdrv_min_flop_sort, &
accdrv_posterior_buffers, accdrv_posterior_streams, accdrv_priority_buffers, &
accdrv_priority_streams, dbcsr_get_conf_avg_elements_images, dbcsr_get_conf_max_ele_block, &
dbcsr_get_conf_num_layers_3D, dbcsr_get_conf_randmat_seed, dbcsr_get_conf_use_comm_thread, &
dbcsr_get_conf_use_mpi_exp, dbcsr_get_conf_use_mpi_filtering, mm_driver_auto, &
mm_driver_blas, mm_driver_matmul, mm_driver_smm, mm_driver_xsmm, mm_name_auto, &
mm_name_blas, mm_name_matmul, mm_name_smm, mm_name_xsmm, multrec_limit
dbcsr_get_conf_num_layers_3D, dbcsr_get_conf_num_mult_images, dbcsr_get_conf_randmat_seed, &
dbcsr_get_conf_use_comm_thread, dbcsr_get_conf_use_mpi_exp, &
dbcsr_get_conf_use_mpi_filtering, mm_driver_auto, mm_driver_blas, mm_driver_matmul, &
mm_driver_smm, mm_driver_xsmm, mm_name_auto, mm_name_blas, mm_name_matmul, mm_name_smm, &
mm_name_xsmm, multrec_limit
USE cp_output_handling, ONLY: add_last_numeric,&
cp_print_key_section_create,&
debug_print_level,&
@ -554,6 +555,13 @@ CONTAINS
CALL section_add_keyword(section, keyword)
CALL keyword_release(keyword)
!
CALL keyword_create(keyword, name="num_mult_images", &
description="Multiplicative factor for number of virtual images.", &
usage="num_mult_images 2", &
default_i_val=dbcsr_get_conf_num_mult_images())
CALL section_add_keyword(section, keyword)
CALL keyword_release(keyword)
!
CALL keyword_create(keyword, name="randmat_seed", &
description="Seed value used to create random matrices in testing", &
usage="randmat_seed 3141592", &

View file

@ -0,0 +1,184 @@
@SET NREP 2
@SET GMAXVAL 40
&FORCE_EVAL
METHOD QS
&DFT
&QS
LS_SCF
METHOD DFTB
&DFTB
SELF_CONSISTENT T
DO_EWALD T
DISPERSION F
&PARAMETER
PARAM_FILE_PATH DFTB/scc
PARAM_FILE_NAME scc_parameter
UFF_FORCE_FIELD uff_table
&END PARAMETER
&END DFTB
&DISTRIBUTION
BASIC_OPTIMIZATION .FALSE.
BASIC_SPATIAL_OPTIMIZATION .TRUE.
&END
&END QS
&PRINT
&MULLIKEN OFF
&END
&END
&LS_SCF
MAX_SCF 20
EPS_FILTER 1.0E-7
EPS_SCF 1.0E-6
MU -0.20
MIXING_FRACTION 0.45
S_PRECONDITIONER MOLECULAR
REPORT_ALL_SPARSITIES ON
PERFORM_MU_SCAN OFF
&END
&SCF
MAX_SCF 30
EPS_SCF 1.0E-7
&PRINT
&RESTART OFF
&END
&END
&END
&POISSON
&EWALD
EWALD_TYPE SPME
GMAX ${GMAXVAL} ${GMAXVAL} ${GMAXVAL}
O_SPLINE 5
&END EWALD
&END POISSON
&END DFT
&SUBSYS
&PRINT
&MOLECULES OFF
&END
&ATOMIC_COORDINATES OFF
&END
&END
&TOPOLOGY
MULTIPLE_UNIT_CELL ${NREP} ${NREP} ${NREP}
&END
&CELL
ABC 9.8528 9.8528 9.8528
MULTIPLE_UNIT_CELL ${NREP} ${NREP} ${NREP}
&END CELL
# 32 H2O (TIP5P,1bar,300K) a = 9.8528
&COORD
O 2.280398 9.146539 5.088696 H2O
H 1.762019 9.820429 5.528454 H2O
H 3.095987 9.107088 5.588186 H2O
! O 1.251703 2.406261 7.769908 H2O
! H 0.554129 2.982634 8.082024 H2O
! H 1.771257 2.954779 7.182181 H2O
! O 1.596302 6.920128 0.656695 H2O
! H 2.112148 6.126321 0.798136 H2O
! H 1.776389 7.463264 1.424030 H2O
! O 2.957518 3.771868 1.877387 H2O
! H 3.754249 3.824017 1.349436 H2O
! H 3.010580 4.524142 2.466878 H2O
! O 0.228972 5.884026 6.532308 H2O
! H 0.939475 5.243834 6.571945 H2O
! H 0.515723 6.520548 5.877445 H2O
! O 9.023431 6.119654 0.092451 H2O
! H 9.852960 6.490366 0.393593 H2O
! H 8.556008 6.860063 -0.294256 H2O
! O 7.256289 8.493641 5.772041 H2O
! H 7.886607 7.941321 6.234506 H2O
! H 7.793855 9.141028 5.315813 H2O
! O 5.090422 9.467016 0.743177 H2O
! H 4.467366 9.971162 0.219851 H2O
! H 5.758685 10.102795 0.998994 H2O
! O 6.330888 7.363471 3.747750 H2O
! H 6.652693 7.917443 3.036562 H2O
! H 6.711966 7.743594 4.539279 H2O
! O 7.763819 8.349367 9.279457 H2O
! H 7.751955 8.745180 10.150905 H2O
! H 7.829208 9.092212 8.679343 H2O
! O 8.280798 3.837153 5.799282 H2O
! H 8.312540 3.218330 6.528858 H2O
! H 8.508855 4.680699 6.189990 H2O
! O 8.878250 2.025797 1.664102 H2O
! H 9.742249 1.704975 1.922581 H2O
! H 8.799060 2.876412 2.095861 H2O
! O 9.160372 0.285100 6.871004 H2O
! H 9.505360 1.161677 6.701213 H2O
! H 9.920117 -0.219794 7.161006 H2O
! O 4.962043 4.134437 0.173376 H2O
! H 4.749903 4.186003 -0.758595 H2O
! H 5.248010 5.018415 0.403676 H2O
! O 2.802896 8.690383 2.435952 H2O
! H 3.576065 9.078451 2.026264 H2O
! H 2.720238 9.146974 3.273164 H2O
! O 9.123223 3.549232 8.876721 H2O
! H 9.085561 4.493058 9.031660 H2O
! H 9.215391 3.166305 9.749133 H2O
! O 1.453702 1.402538 2.358278 H2O
! H 1.999705 2.060411 1.927796 H2O
! H 1.824184 0.564565 2.081195 H2O
! O 6.536550 1.146790 7.609732 H2O
! H 7.430334 0.849764 7.438978 H2O
! H 6.576029 1.537017 8.482885 H2O
! O 2.766709 0.881503 9.544263 H2O
! H 2.415851 1.576460 8.987338 H2O
! H 2.276957 0.099537 9.289499 H2O
! O 0.856426 2.075964 5.010625 H2O
! H 1.160987 1.818023 4.140602 H2O
! H 0.350256 2.874437 4.860741 H2O
! O 6.386036 1.918950 0.242690 H2O
! H 5.768804 2.638450 0.375264 H2O
! H 7.221823 2.257514 0.563730 H2O
! O 2.733023 4.452756 5.850203 H2O
! H 3.260797 5.243390 5.962382 H2O
! H 3.347848 3.732214 5.988196 H2O
! O 4.600039 9.254314 6.575944 H2O
! H 5.328688 9.073059 5.982269 H2O
! H 5.007063 9.672150 7.334875 H2O
! O 3.665373 6.210561 3.158420 H2O
! H 4.566850 6.413356 3.408312 H2O
! H 3.273115 7.061666 2.963521 H2O
! O 3.371648 6.925594 7.476036 H2O
! H 3.878372 7.435003 6.843607 H2O
! H 3.884673 6.966316 8.283117 H2O
! O 5.287920 3.270653 6.155080 H2O
! H 5.918240 3.116802 5.451335 H2O
! H 5.355924 2.495093 6.711958 H2O
! O 5.225237 6.959594 9.582991 H2O
! H 5.071858 7.687254 10.185667 H2O
! H 6.106394 7.112302 9.241707 H2O
! O 0.846293 5.595877 3.820630 H2O
! H 1.637363 5.184910 4.169264 H2O
! H 0.427645 4.908936 3.301903 H2O
! O 9.785620 8.164617 3.657879 H2O
! H 9.971698 7.227076 3.709104 H2O
! H 10.647901 8.579244 3.629806 H2O
! O 8.509982 4.430362 2.679946 H2O
! H 8.046808 5.126383 2.213838 H2O
! H 7.995317 4.290074 3.474723 H2O
! O 1.337625 8.580920 8.272484 H2O
! H 1.872601 7.864672 7.930401 H2O
! H 0.837635 8.186808 8.987268 H2O
! O 8.054437 9.221335 1.991376 H2O
! H 8.314696 10.115534 2.212519 H2O
! H 8.687134 8.667252 2.448452 H2O
&END COORD
&END SUBSYS
&END FORCE_EVAL
&GLOBAL
PROJECT H2O-32-dftb-ls-2
RUN_TYPE ENERGY
PRINT_LEVEL MEDIUM
&TIMINGS
THRESHOLD 0.000001
&END
&DBCSR
USE_MPI_EXP T
num_layers_3D 2
num_mult_images 3
&END
! EXTENDED_FFT_LENGTHS ! enable for large systems and FFTW
! TRACE
! TRACE_MAX 1000
&END GLOBAL

View file

@ -1,3 +1,4 @@
H2O-32-dftb-ls-2_mult.inp 11 1e-12 -32.574187802183182
H2O-32-dftb-ls-2.inp 11 1e-12 -32.574187802183182
H2O-OT-ASPC-1.inp 1 4e-14 -17.13993294772316
H2-big-nimages.inp 11 2e-13 -27.808422055041138

View file

@ -1,4 +1,6 @@
#
H2O-32-dftb-ls-2_mult.inp
#
H2O-32-dftb-ls-2.inp
#
H2-big-nimages.inp

View file

@ -0,0 +1,183 @@
@SET NREP 2
@SET GMAXVAL 40
&FORCE_EVAL
METHOD QS
&DFT
&QS
LS_SCF
METHOD DFTB
&DFTB
SELF_CONSISTENT T
DO_EWALD T
DISPERSION F
&PARAMETER
PARAM_FILE_PATH DFTB/scc
PARAM_FILE_NAME scc_parameter
UFF_FORCE_FIELD uff_table
&END PARAMETER
&END DFTB
&DISTRIBUTION
BASIC_OPTIMIZATION .FALSE.
BASIC_SPATIAL_OPTIMIZATION .TRUE.
&END
&END QS
&PRINT
&MULLIKEN OFF
&END
&END
&LS_SCF
MAX_SCF 20
EPS_FILTER 1.0E-7
EPS_SCF 1.0E-6
MU -0.20
MIXING_FRACTION 0.45
S_PRECONDITIONER MOLECULAR
REPORT_ALL_SPARSITIES ON
PERFORM_MU_SCAN OFF
&END
&SCF
MAX_SCF 30
EPS_SCF 1.0E-7
&PRINT
&RESTART OFF
&END
&END
&END
&POISSON
&EWALD
EWALD_TYPE SPME
GMAX ${GMAXVAL} ${GMAXVAL} ${GMAXVAL}
O_SPLINE 5
&END EWALD
&END POISSON
&END DFT
&SUBSYS
&PRINT
&MOLECULES OFF
&END
&ATOMIC_COORDINATES OFF
&END
&END
&TOPOLOGY
MULTIPLE_UNIT_CELL ${NREP} ${NREP} ${NREP}
&END
&CELL
ABC 9.8528 9.8528 9.8528
MULTIPLE_UNIT_CELL ${NREP} ${NREP} ${NREP}
&END CELL
# 32 H2O (TIP5P,1bar,300K) a = 9.8528
&COORD
O 2.280398 9.146539 5.088696 H2O
H 1.762019 9.820429 5.528454 H2O
H 3.095987 9.107088 5.588186 H2O
! O 1.251703 2.406261 7.769908 H2O
! H 0.554129 2.982634 8.082024 H2O
! H 1.771257 2.954779 7.182181 H2O
! O 1.596302 6.920128 0.656695 H2O
! H 2.112148 6.126321 0.798136 H2O
! H 1.776389 7.463264 1.424030 H2O
! O 2.957518 3.771868 1.877387 H2O
! H 3.754249 3.824017 1.349436 H2O
! H 3.010580 4.524142 2.466878 H2O
! O 0.228972 5.884026 6.532308 H2O
! H 0.939475 5.243834 6.571945 H2O
! H 0.515723 6.520548 5.877445 H2O
! O 9.023431 6.119654 0.092451 H2O
! H 9.852960 6.490366 0.393593 H2O
! H 8.556008 6.860063 -0.294256 H2O
! O 7.256289 8.493641 5.772041 H2O
! H 7.886607 7.941321 6.234506 H2O
! H 7.793855 9.141028 5.315813 H2O
! O 5.090422 9.467016 0.743177 H2O
! H 4.467366 9.971162 0.219851 H2O
! H 5.758685 10.102795 0.998994 H2O
! O 6.330888 7.363471 3.747750 H2O
! H 6.652693 7.917443 3.036562 H2O
! H 6.711966 7.743594 4.539279 H2O
! O 7.763819 8.349367 9.279457 H2O
! H 7.751955 8.745180 10.150905 H2O
! H 7.829208 9.092212 8.679343 H2O
! O 8.280798 3.837153 5.799282 H2O
! H 8.312540 3.218330 6.528858 H2O
! H 8.508855 4.680699 6.189990 H2O
! O 8.878250 2.025797 1.664102 H2O
! H 9.742249 1.704975 1.922581 H2O
! H 8.799060 2.876412 2.095861 H2O
! O 9.160372 0.285100 6.871004 H2O
! H 9.505360 1.161677 6.701213 H2O
! H 9.920117 -0.219794 7.161006 H2O
! O 4.962043 4.134437 0.173376 H2O
! H 4.749903 4.186003 -0.758595 H2O
! H 5.248010 5.018415 0.403676 H2O
! O 2.802896 8.690383 2.435952 H2O
! H 3.576065 9.078451 2.026264 H2O
! H 2.720238 9.146974 3.273164 H2O
! O 9.123223 3.549232 8.876721 H2O
! H 9.085561 4.493058 9.031660 H2O
! H 9.215391 3.166305 9.749133 H2O
! O 1.453702 1.402538 2.358278 H2O
! H 1.999705 2.060411 1.927796 H2O
! H 1.824184 0.564565 2.081195 H2O
! O 6.536550 1.146790 7.609732 H2O
! H 7.430334 0.849764 7.438978 H2O
! H 6.576029 1.537017 8.482885 H2O
! O 2.766709 0.881503 9.544263 H2O
! H 2.415851 1.576460 8.987338 H2O
! H 2.276957 0.099537 9.289499 H2O
! O 0.856426 2.075964 5.010625 H2O
! H 1.160987 1.818023 4.140602 H2O
! H 0.350256 2.874437 4.860741 H2O
! O 6.386036 1.918950 0.242690 H2O
! H 5.768804 2.638450 0.375264 H2O
! H 7.221823 2.257514 0.563730 H2O
! O 2.733023 4.452756 5.850203 H2O
! H 3.260797 5.243390 5.962382 H2O
! H 3.347848 3.732214 5.988196 H2O
! O 4.600039 9.254314 6.575944 H2O
! H 5.328688 9.073059 5.982269 H2O
! H 5.007063 9.672150 7.334875 H2O
! O 3.665373 6.210561 3.158420 H2O
! H 4.566850 6.413356 3.408312 H2O
! H 3.273115 7.061666 2.963521 H2O
! O 3.371648 6.925594 7.476036 H2O
! H 3.878372 7.435003 6.843607 H2O
! H 3.884673 6.966316 8.283117 H2O
! O 5.287920 3.270653 6.155080 H2O
! H 5.918240 3.116802 5.451335 H2O
! H 5.355924 2.495093 6.711958 H2O
! O 5.225237 6.959594 9.582991 H2O
! H 5.071858 7.687254 10.185667 H2O
! H 6.106394 7.112302 9.241707 H2O
! O 0.846293 5.595877 3.820630 H2O
! H 1.637363 5.184910 4.169264 H2O
! H 0.427645 4.908936 3.301903 H2O
! O 9.785620 8.164617 3.657879 H2O
! H 9.971698 7.227076 3.709104 H2O
! H 10.647901 8.579244 3.629806 H2O
! O 8.509982 4.430362 2.679946 H2O
! H 8.046808 5.126383 2.213838 H2O
! H 7.995317 4.290074 3.474723 H2O
! O 1.337625 8.580920 8.272484 H2O
! H 1.872601 7.864672 7.930401 H2O
! H 0.837635 8.186808 8.987268 H2O
! O 8.054437 9.221335 1.991376 H2O
! H 8.314696 10.115534 2.212519 H2O
! H 8.687134 8.667252 2.448452 H2O
&END COORD
&END SUBSYS
&END FORCE_EVAL
&GLOBAL
PROJECT H2O-32-dftb-ls-2
RUN_TYPE ENERGY
PRINT_LEVEL MEDIUM
&TIMINGS
THRESHOLD 0.000001
&END
&DBCSR
USE_MPI_EXP T
num_mult_images 3
&END
! EXTENDED_FFT_LENGTHS ! enable for large systems and FFTW
! TRACE
! TRACE_MAX 1000
&END GLOBAL

View file

@ -1,3 +1,4 @@
H2O-32-dftb-ls-2_mult.inp 11 1e-12 -32.574187802183182
H2O-32-dftb-ls-2.inp 11 1e-12 -32.574187802183182
H2O-OT-ASPC-1.inp 1 4e-14 -17.13993294772316
H2O-OT-ASPC-1_clusters.inp 1 4e-14 -17.13993294772316

View file

@ -1,4 +1,6 @@
#
H2O-32-dftb-ls-2_mult.inp
#
H2O-32-dftb-ls-2.inp
#
H2-big-nimages.inp

View file

@ -221,7 +221,7 @@ def main():
endc='\033[0m'
for filename in args.file_lists:
comp=(float(files[filename][1])-ref)/ref
if abs(comp)>1e-15: color='\033[91m'
if abs(comp)>1e-14: color='\033[91m'
else: color='\033[0m'
print(('{0} ==> {1} : {2} : '+color+'{3}'+endc).format(files[filename][0],filename,files[filename][1],(float(files[filename][1])-ref)/ref))