From dbbb30bfd4c3ada9e2c882c44b87b0b5a9d67390 Mon Sep 17 00:00:00 2001 From: Teodoro Laino Date: Mon, 2 Jul 2007 00:46:09 +0000 Subject: [PATCH] Bug fix for NP* runs mixed_env.. Bug fix for general NP* and NVT : making sections BAROSTAT and NOSE non-optional.. this means that in NP* and NVT runs the header of the BAROSTAT or NOSE must always be present (default values can always be used).. this avoids possible bugs when using in cascade restarts produced with MD with different ensembles.. added one more regtest for restart mixed_env NPT.. svn-origin-rev: 6169 --- src/init_extended_system_types.F | 2 +- src/input_cp2k_motion.F | 5 +- src/input_cp2k_restarts.F | 203 +++++++++++----- src/md.F | 22 +- tests/FE/regtest-2/Solv_alch_chng.inp | 2 + tests/FE/regtest-3/Solv_alch_chng.inp | 2 + tests/FE/regtest-3/Solv_alch_chng_res.inp | 272 ++++++++++++++++++++++ tests/FE/regtest-3/TEST_FILES | 3 +- tests/Fist/regtest-3/cu_eam_2.inp | 4 + tests/Fist/regtest-3/nh3_4x6_npt.inp | 2 + tests/Fist/regtest-3/nh3_dist_npt.inp | 2 + tests/Fist/regtest-4/ethene_colv1_npt.inp | 2 + tests/Fist/regtest-4/ethene_colv2_npt.inp | 2 + tests/Fist/regtest-6/C_tersoff.inp | 2 + tests/Fist/regtest/argon_msst.inp | 2 + tests/Fist/regtest/argon_msst_damped.inp | 2 + tests/QS/regtest-gapw/He2-all-md.inp | 2 + tests/QS/regtest-gpw-4/H2O-7.inp | 4 + tests/TEST_DIRS | 62 ++--- 19 files changed, 493 insertions(+), 104 deletions(-) create mode 100644 tests/FE/regtest-3/Solv_alch_chng_res.inp diff --git a/src/init_extended_system_types.F b/src/init_extended_system_types.F index f4acbe1e58..ca7e6a93b5 100644 --- a/src/init_extended_system_types.F +++ b/src/init_extended_system_types.F @@ -150,7 +150,7 @@ CONTAINS restart=explicit work_section2 => section_vals_get_subs_vals(work_section,"MASS",error=error) CALL section_vals_get(work_section2, explicit=explicit, error=error) - CALL cp_assert(restart.or..not.explicit,cp_failure_level,cp_assertion_failed,routineP,& + CALL cp_assert(restart.EQV.explicit,cp_failure_level,cp_assertion_failed,routineP,& "You need to define both VELOCITY and MASS section (or none) in the BAROSTAT section",& error=error, failure=failure) restart=explicit.and.restart diff --git a/src/input_cp2k_motion.F b/src/input_cp2k_motion.F index 37f0a69eac..9edafcf856 100644 --- a/src/input_cp2k_motion.F +++ b/src/input_cp2k_motion.F @@ -2850,7 +2850,7 @@ SUBROUTINE create_barostat_section(section, error) CALL section_create(section,name="barostat",& description="Parameters of barostat.",& - n_keywords=1, n_subsections=0, repeats=.FALSE., required=.FALSE.,& + n_keywords=1, n_subsections=0, repeats=.FALSE., required=.TRUE.,& error=error) NULLIFY(keyword,subsection,sub2section) @@ -3086,7 +3086,8 @@ SUBROUTINE create_nose_section(section, error) IF (.NOT. failure) THEN CALL section_create(section,name="nose",& description="paramameters of the Nose Hoover thermostat chain",& - required=.FALSE.,error=error) + required=.TRUE.,error=error) + NULLIFY(keyword,subsection) CALL keyword_create(keyword, name="length",& description="length of the NoseHoover chain", usage="length integer", & diff --git a/src/input_cp2k_restarts.F b/src/input_cp2k_restarts.F index 234c209625..c6c0caf4b5 100644 --- a/src/input_cp2k_restarts.F +++ b/src/input_cp2k_restarts.F @@ -93,6 +93,7 @@ MODULE input_cp2k_restarts string_to_ascii USE timings, ONLY: timeset,& timestop + USE virial_types, ONLY: virial_type #include "cp_common_uses.h" IMPLICIT NONE @@ -158,7 +159,8 @@ CONTAINS nforce_eval, strend, strstart LOGICAL :: failure, save_mem TYPE(cp_logger_type), POINTER :: logger - TYPE(section_vals_type), POINTER :: global_section, motion_section, sections + TYPE(section_vals_type), POINTER :: global_section, & + motion_section, sections CALL timeset(routineN,handle) @@ -267,21 +269,21 @@ CONTAINS CHARACTER(LEN=*), PARAMETER :: routineN = 'update_subsys_release', & routineP = moduleN//':'//routineN - INTEGER :: handle, iforce_eval, isubsys, myid, nforce_eval + INTEGER :: handle, iforce_eval, isubsys, & + myid, nforce_eval INTEGER, DIMENSION(:), POINTER :: i_force_eval - LOGICAL :: explicit, failure, skip_vel_section + LOGICAL :: explicit, failure, & + skip_vel_section TYPE(cp_logger_type), POINTER :: logger TYPE(cp_subsystem_p_type), & DIMENSION(:), POINTER :: subsys TYPE(force_env_p_type), DIMENSION(:), & POINTER :: force_env_p - TYPE(force_env_type), POINTER :: my_force_env, & - my_force_b - TYPE(mol_new_list_type), POINTER :: molecules - TYPE(particle_list_type), POINTER :: core_particles, & - particles, & + TYPE(force_env_type), POINTER :: my_force_b, my_force_env + TYPE(particle_list_type), POINTER :: core_particles, particles, & shell_particles - TYPE(section_vals_type), POINTER :: force_env_sections, subsys_section, work_section + TYPE(section_vals_type), POINTER :: force_env_sections, & + subsys_section, work_section CALL timeset(routineN,handle) @@ -461,6 +463,7 @@ CONTAINS IF (ASSOCIATED(my_force_env)) & CALL update_force_eval(force_env=my_force_env,logger=logger,& root_section=root_section,error=error) + END IF CALL timestop(handle) @@ -1213,12 +1216,13 @@ CONTAINS INTEGER :: iforce_eval, myid, nforce_eval INTEGER, DIMENSION(:), POINTER :: i_force_eval - LOGICAL :: failure, skip_vel_section + LOGICAL :: failure, skip_vel_section, multiple_subsys TYPE(section_vals_type), POINTER :: force_env_sections, & rng_section, subsys_section + TYPE(virial_type), POINTER :: virial failure = .FALSE. - NULLIFY(rng_section, subsys_section) + NULLIFY(rng_section, subsys_section, virial) ! If it's not a dynamical run don't update the velocity section CALL section_vals_val_get(root_section,"GLOBAL%RUN_TYPE",i_val=myid,error=error) skip_vel_section =((myid /= mol_dyn_run).AND.& @@ -1237,6 +1241,22 @@ CONTAINS rng_section => section_vals_get_subs_vals(subsys_section,"RNG_INIT",error=error) CALL update_rng(rng_section,force_env,error) + + ! And now update only the cells of all other force_eval + ! This is to make consistent for cell variable runs.. + IF (nforce_eval>1) THEN + CALL force_env_get(force_env=force_env,& + virial=virial,& + error=error) + CALL section_vals_val_get(root_section,"MULTIPLE_FORCE_EVALS%MULTIPLE_SUBSYS",l_val=multiple_subsys,error=error) + IF (virial%pv_availability.AND.multiple_subsys) THEN + DO iforce_eval = 2, nforce_eval + subsys_section => section_vals_get_subs_vals3(force_env_sections,"SUBSYS",& + i_rep_section=i_force_eval(iforce_eval),error=error) + CALL update_cell_section(force_env, subsys_section, error) + END DO + END IF + END IF DEALLOCATE(i_force_eval) END SUBROUTINE update_force_eval @@ -1373,10 +1393,9 @@ CONTAINS CHARACTER(LEN=*), PARAMETER :: routineN = 'update_subsys', & routineP = moduleN//':'//routineN - INTEGER :: handle, isubsys, my_unit, stat + INTEGER :: handle, isubsys, my_unit LOGICAL :: failure, scale, use_ref_cell REAL(KIND=dp) :: conv_factor - REAL(KIND=dp), DIMENSION(:), POINTER :: work TYPE(cell_type), POINTER :: cell, cell_ref TYPE(cp_subsystem_p_type), & DIMENSION(:), POINTER :: subsys @@ -1386,8 +1405,8 @@ CONTAINS TYPE(section_vals_type), POINTER :: work_section failure = .FALSE. - NULLIFY(work, work_section, core_particles, particles, shell_particles, & - subsys, cell, cell_ref) + NULLIFY(work_section, core_particles, particles, shell_particles, & + subsys, cell, cell_ref) CALL timeset(routineN,"I",'',handle) CALL force_env_get(force_env,& subsys=subsys,& @@ -1395,9 +1414,7 @@ CONTAINS cell_ref=cell_ref,& use_ref_cell=use_ref_cell,& error=error) - ! ! The structure for multiple subsys has to be still decided.. - ! CPPostcondition(SIZE(subsys)==1,cp_failure_level,routineP,error,failure) DO isubsys=1,SIZE(subsys) CALL cp_subsys_get(subsys(isubsys)%subsys,& @@ -1447,52 +1464,116 @@ CONTAINS CALL section_velocity_val_set(work_section, core_particles, conv_factor=1.0_dp, error=error) END IF ENDIF - ! - ! CELL - ! - work_section => section_vals_get_subs_vals(subsys_section,"CELL",error=error) - ALLOCATE(work(3),stat=stat) - CPPostcondition(stat==0,cp_failure_level,routineP,error,failure) - ! CELL VECTORS - A - work(1:3) = cell%hmat(1,1:3)/conv_factor - CALL section_vals_val_set(work_section,"A",r_vals_ptr=work,error=error) - ALLOCATE(work(3),stat=stat) - CPPostcondition(stat==0,cp_failure_level,routineP,error,failure) - ! CELL VECTORS - B - work(1:3) = cell%hmat(2,1:3)/conv_factor - CALL section_vals_val_set(work_section,"B",r_vals_ptr=work,error=error) - ALLOCATE(work(3),stat=stat) - CPPostcondition(stat==0,cp_failure_level,routineP,error,failure) - ! CELL VECTORS - C - work(1:3) = cell%hmat(3,1:3)/conv_factor - CALL section_vals_val_set(work_section,"C",r_vals_ptr=work,error=error) - CALL section_vals_val_unset(work_section,"ABC",error=error) - ! - ! CELL_REF - ! - IF (use_ref_cell.AND.ASSOCIATED(cell_ref)) THEN - work_section => section_vals_get_subs_vals(subsys_section,"CELL%CELL_REF",error=error) - CALL section_vals_val_set(work_section,"UNITS",i_val=my_unit,error=error) - ALLOCATE(work(3),stat=stat) - CPPostcondition(stat==0,cp_failure_level,routineP,error,failure) - ! CELL VECTORS - A - work(1:3) = cell_ref%hmat(1,1:3)/conv_factor - CALL section_vals_val_set(work_section,"A",r_vals_ptr=work,error=error) - ALLOCATE(work(3),stat=stat) - CPPostcondition(stat==0,cp_failure_level,routineP,error,failure) - ! CELL VECTORS - B - work(1:3) = cell_ref%hmat(2,1:3)/conv_factor - CALL section_vals_val_set(work_section,"B",r_vals_ptr=work,error=error) - ALLOCATE(work(3),stat=stat) - CPPostcondition(stat==0,cp_failure_level,routineP,error,failure) - ! CELL VECTORS - C - work(1:3) = cell_ref%hmat(3,1:3)/conv_factor - CALL section_vals_val_set(work_section,"C",r_vals_ptr=work,error=error) - END IF + ! Updating cell info + CALL update_cell_section(force_env, subsys_section, error) END DO CALL timestop(0.0_dp,handle) END SUBROUTINE update_subsys +!!****f* input_cp2k_restarts/update_cell_section [1.0] * +!! +!! NAME +!! update_cell_section +!! +!! FUNCTION +!! routine to update cell section.. splitted from the main update subsys_section +!! +!! NOTES +!! +!! +!! ARGUMENTS +!! - error: variable to control error logging, stopping,... +!! see module cp_error_handling +!! +!! AUTHOR +!! Teodoro Laino +!! +!! MODIFICATION HISTORY +!! 07.2007 created [teo] Zurich University +!! +!!*** ********************************************************************** + SUBROUTINE update_cell_section(force_env, subsys_section, error) + TYPE(force_env_type), POINTER :: force_env + TYPE(section_vals_type), POINTER :: subsys_section + TYPE(cp_error_type), INTENT(INOUT) :: error + + CHARACTER(LEN=*), PARAMETER :: routineN = 'update_cell_section', & + routineP = moduleN//':'//routineN + + INTEGER :: handle, my_unit, stat + LOGICAL :: failure, scale, use_ref_cell + REAL(KIND=dp) :: conv_factor + REAL(KIND=dp), DIMENSION(:), POINTER :: work + TYPE(cell_type), POINTER :: cell, cell_ref + TYPE(section_vals_type), POINTER :: work_section + + failure = .FALSE. + NULLIFY(work, work_section, cell, cell_ref) + CALL timeset(routineN,"I",'',handle) + ! Handle case for parallel runs + IF (ASSOCIATED(force_env)) THEN + CALL force_env_get(force_env,& + cell=cell,& + cell_ref=cell_ref,& + use_ref_cell=use_ref_cell,& + error=error) + ELSE + + END IF + + CALL section_vals_val_get(subsys_section,"CELL%UNITS",i_val=my_unit,error=error) + scale = .FALSE. + SELECT CASE(my_unit) + CASE (use_unit_angstrom,use_unit_scaled_angstrom) + conv_factor = bohr + IF (my_unit==use_unit_scaled_angstrom) scale = .TRUE. + CASE (use_unit_bohr,use_unit_scaled_bohr) + conv_factor = 1.0_dp + IF (my_unit==use_unit_scaled_bohr) scale = .TRUE. + CASE DEFAULT + CPPostcondition(.FALSE.,cp_failure_level,routineP,error,failure) + END SELECT + ! CELL + work_section => section_vals_get_subs_vals(subsys_section,"CELL",error=error) + ALLOCATE(work(3),stat=stat) + CPPostcondition(stat==0,cp_failure_level,routineP,error,failure) + ! CELL VECTORS - A + work(1:3) = cell%hmat(1,1:3)/conv_factor + CALL section_vals_val_set(work_section,"A",r_vals_ptr=work,error=error) + ALLOCATE(work(3),stat=stat) + CPPostcondition(stat==0,cp_failure_level,routineP,error,failure) + ! CELL VECTORS - B + work(1:3) = cell%hmat(2,1:3)/conv_factor + CALL section_vals_val_set(work_section,"B",r_vals_ptr=work,error=error) + ALLOCATE(work(3),stat=stat) + CPPostcondition(stat==0,cp_failure_level,routineP,error,failure) + ! CELL VECTORS - C + work(1:3) = cell%hmat(3,1:3)/conv_factor + CALL section_vals_val_set(work_section,"C",r_vals_ptr=work,error=error) + CALL section_vals_val_unset(work_section,"ABC",error=error) + ! CELL_REF + IF (use_ref_cell.AND.ASSOCIATED(cell_ref)) THEN + work_section => section_vals_get_subs_vals(subsys_section,"CELL%CELL_REF",error=error) + CALL section_vals_val_set(work_section,"UNITS",i_val=my_unit,error=error) + ALLOCATE(work(3),stat=stat) + CPPostcondition(stat==0,cp_failure_level,routineP,error,failure) + ! CELL VECTORS - A + work(1:3) = cell_ref%hmat(1,1:3)/conv_factor + CALL section_vals_val_set(work_section,"A",r_vals_ptr=work,error=error) + ALLOCATE(work(3),stat=stat) + CPPostcondition(stat==0,cp_failure_level,routineP,error,failure) + ! CELL VECTORS - B + work(1:3) = cell_ref%hmat(2,1:3)/conv_factor + CALL section_vals_val_set(work_section,"B",r_vals_ptr=work,error=error) + ALLOCATE(work(3),stat=stat) + CPPostcondition(stat==0,cp_failure_level,routineP,error,failure) + ! CELL VECTORS - C + work(1:3) = cell_ref%hmat(3,1:3)/conv_factor + CALL section_vals_val_set(work_section,"C",r_vals_ptr=work,error=error) + END IF + CALL timestop(0.0_dp,handle) + END SUBROUTINE update_cell_section + !!****f* input_cp2k_restarts/section_coord_val_set [1.0] * !! !! NAME @@ -1531,8 +1612,8 @@ CONTAINS CHARACTER(LEN=2*default_string_length) :: line CHARACTER(LEN=default_string_length) :: icval, my_tag, name, rcval - INTEGER :: handle, ik, imol, irk, k, last_atom, & - Nlist + INTEGER :: handle, ik, imol, irk, k, & + last_atom, Nlist LOGICAL :: failure, ldum, & molname_generated, my_shell REAL(KIND=dp), DIMENSION(3) :: r, s diff --git a/src/md.F b/src/md.F index bba004ef6e..c3aa5630d3 100644 --- a/src/md.F +++ b/src/md.F @@ -427,15 +427,21 @@ CONTAINS CALL section_vals_val_get(tmp_section,"VSHOCK",r_val=simpar%v_shock,error=error) END IF - tmp_section => section_vals_get_subs_vals(md_section,"BAROSTAT",error=error) - CALL section_vals_val_get(tmp_section,"PRESSURE",r_val=simpar%p_ext,error=error) - CALL section_vals_val_get(tmp_section,"TIMECON",r_val=simpar%tau_cell,error=error) + SELECT CASE (simpar%ensemble) + CASE(nph_ensemble, nph_uniaxial_damped_ensemble, nph_uniaxial_ensemble, npt_f_ensemble, npt_i_ensemble) + tmp_section => section_vals_get_subs_vals(md_section,"BAROSTAT",error=error) + CALL section_vals_val_get(tmp_section,"PRESSURE",r_val=simpar%p_ext,error=error) + CALL section_vals_val_get(tmp_section,"TIMECON",r_val=simpar%tau_cell,error=error) + END SELECT - tmp_section => section_vals_get_subs_vals(md_section,"NOSE",error=error) - CALL section_vals_val_get(tmp_section,"LENGTH",i_val=simpar%nhclen,error=error) - CALL section_vals_val_get(tmp_section,"YOSHIDA",i_val=simpar%nyosh,error=error) - CALL section_vals_val_get(tmp_section,"TIMECON",r_val=simpar%tau_nhc,error=error) - CALL section_vals_val_get(tmp_section,"MTS",i_val=simpar%nc,error=error) + SELECT CASE (simpar%ensemble) + CASE(npt_f_ensemble, npt_i_ensemble, nvt_ensemble) + tmp_section => section_vals_get_subs_vals(md_section,"NOSE",error=error) + CALL section_vals_val_get(tmp_section,"LENGTH",i_val=simpar%nhclen,error=error) + CALL section_vals_val_get(tmp_section,"YOSHIDA",i_val=simpar%nyosh,error=error) + CALL section_vals_val_get(tmp_section,"TIMECON",r_val=simpar%tau_nhc,error=error) + CALL section_vals_val_get(tmp_section,"MTS",i_val=simpar%nc,error=error) + END SELECT tmp_section => section_vals_get_subs_vals(md_section,"RESPA",error=error) CALL section_vals_get(tmp_section, explicit=simpar%do_respa, error=error) diff --git a/tests/FE/regtest-2/Solv_alch_chng.inp b/tests/FE/regtest-2/Solv_alch_chng.inp index a39adb549a..779602fdcc 100644 --- a/tests/FE/regtest-2/Solv_alch_chng.inp +++ b/tests/FE/regtest-2/Solv_alch_chng.inp @@ -158,6 +158,8 @@ STEPS 10 TIMESTEP 0.5 TEMPERATURE 200.0 + &BAROSTAT + &END &NOSE LENGTH 3 YOSHIDA 3 diff --git a/tests/FE/regtest-3/Solv_alch_chng.inp b/tests/FE/regtest-3/Solv_alch_chng.inp index d536dbbbaf..9851a4206b 100644 --- a/tests/FE/regtest-3/Solv_alch_chng.inp +++ b/tests/FE/regtest-3/Solv_alch_chng.inp @@ -236,6 +236,8 @@ TIMECON 300 MTS 2 &END NOSE + &BAROSTAT + &END &PRINT &ENERGY EACH 1 diff --git a/tests/FE/regtest-3/Solv_alch_chng_res.inp b/tests/FE/regtest-3/Solv_alch_chng_res.inp new file mode 100644 index 0000000000..9d365db35e --- /dev/null +++ b/tests/FE/regtest-3/Solv_alch_chng_res.inp @@ -0,0 +1,272 @@ +&MULTIPLE_FORCE_EVALS + FORCE_EVAL_ORDER 2 3 4 5 + MULTIPLE_SUBSYS T +&END +&FORCE_EVAL + METHOD MIXED + &MIXED + MIXING_TYPE GENMIX + &GENERIC + MIXING_FUNCTION k*X+(1.0-k)*Y+(1.0-k)*Z+k*J + VARIABLES X Y Z J + PARAMETERS k + VALUES 0.5 + &END + &MAPPING + &FORCE_EVAL_MIXED + &FRAGMENT 1 + 1 6 + &END + &FRAGMENT 2 + 7 16 + &END + &FRAGMENT 3 + 17 22 + &END + &FRAGMENT 4 + 23 33 + &END + &FRAGMENT 5 + 34 1851 + &END + &END + &FORCE_EVAL 1 + &FRAGMENT 1 + 1 6 + MAP 1 + &END + &FRAGMENT 2 + 7 16 + MAP 2 + &END + &FRAGMENT 3 + 17 22 + MAP 3 + &END + &FRAGMENT 4 + 23 1840 + MAP 5 + &END + &END + &FORCE_EVAL 2 + &FRAGMENT 1 + 1 6 + MAP 1 + &END + &FRAGMENT 2 + 7 17 + MAP 4 + &END + &FRAGMENT 3 + 18 23 + MAP 3 + &END + &FRAGMENT 4 + 24 1841 + MAP 5 + &END + &END + &FORCE_EVAL 3 + &FRAGMENT 1 + 1 11 + MAP 4 + &END + &END + &FORCE_EVAL 4 + &FRAGMENT 1 + 1 10 + MAP 2 + &END + &END + &END + &END + &SUBSYS + &TOPOLOGY + CONNECTIVITY OFF + COORDINATE PDB + COORD_FILE_NAME ../regtest-1/full.pdb + &END TOPOLOGY + &CELL + ABC 30.9751780 30.8599250 30.7278700 + UNIT ANGSTROM + &END CELL + &END SUBSYS +&END FORCE_EVAL +&FORCE_EVAL + METHOD FIST + &MM + &FORCEFIELD + PARM_FILE_NAME ../regtest-1/ala.pot + parmtype CHM + &SPLINE + EMAX_SPLINE 100000000.0 + &END + &END FORCEFIELD + &POISSON + &EWALD + EWALD_TYPE spme + ALPHA .5 + GMAX 36 + O_SPLINE 6 + &END EWALD + &END POISSON + &END MM + &SUBSYS + &TOPOLOGY + CONNECTIVITY PSF + CONN_FILE_NAME ../regtest-1/ala.psf + COORDINATE PDB + COORD_FILE_NAME ../regtest-1/ala.pdb + &END TOPOLOGY + &CELL + ABC 30.9751780 30.8599250 30.7278700 + UNIT ANGSTROM + &END CELL + &END SUBSYS +&END FORCE_EVAL +&FORCE_EVAL + METHOD FIST + &MM + &FORCEFIELD + PARM_FILE_NAME ../regtest-1/ser.pot + parmtype CHM + &SPLINE + EMAX_SPLINE 100000000.0 + &END + &END FORCEFIELD + &POISSON + &EWALD + EWALD_TYPE spme + ALPHA .5 + GMAX 36 + O_SPLINE 6 + &END EWALD + &END POISSON + &END MM + &SUBSYS + &TOPOLOGY + CONNECTIVITY PSF + CONN_FILE_NAME ../regtest-1/ser.psf + COORDINATE PDB + COORD_FILE_NAME ../regtest-1/ser.pdb + &END TOPOLOGY + &CELL + ABC 30.9751780 30.8599250 30.7278700 + UNIT ANGSTROM + &END CELL + &END SUBSYS +&END FORCE_EVAL +&FORCE_EVAL + METHOD FIST + &MM + &FORCEFIELD + NONBONDED F + NONBONDED14 F + PARM_FILE_NAME ser_s.pot + parmtype CHM + &SPLINE + EMAX_SPLINE 100000000.0 + &END + &END FORCEFIELD + &POISSON + &EWALD + EWALD_TYPE none + &END EWALD + &END POISSON + &END MM + &SUBSYS + &TOPOLOGY + CONNECTIVITY PSF + CONN_FILE_NAME ser_s.psf + COORDINATE PDB + COORD_FILE_NAME ser_s.pdb + &END TOPOLOGY + &CELL + ABC 30.9751780 30.8599250 30.7278700 + UNIT ANGSTROM + &END CELL + &END SUBSYS +&END FORCE_EVAL +&FORCE_EVAL + METHOD FIST + &MM + &FORCEFIELD + NONBONDED F + NONBONDED14 F + PARM_FILE_NAME ala_s.pot + parmtype CHM + &SPLINE + EMAX_SPLINE 100000000.0 + &END + &END FORCEFIELD + &POISSON + &EWALD + EWALD_TYPE none + &END EWALD + &END POISSON + &END MM + &SUBSYS + &TOPOLOGY + CONNECTIVITY PSF + CONN_FILE_NAME ala_s.psf + COORDINATE PDB + COORD_FILE_NAME ala_s.pdb + &END TOPOLOGY + &CELL + ABC 30.9751780 30.8599250 30.7278700 + UNIT ANGSTROM + &END CELL + &END SUBSYS +&END FORCE_EVAL +&GLOBAL + FFTLIB FFTSG + PROJECT DDG_SOLVATION + RUN_TYPE MD + PRINT_LEVEL LOW +&END GLOBAL +&MOTION + &MD + ENSEMBLE NPT_I + STEPS 5 + TIMESTEP 0.5 + TEMPERATURE 200.0 + &NOSE + LENGTH 3 + YOSHIDA 3 + TIMECON 300 + MTS 2 + &END NOSE + &BAROSTAT + &END + &PRINT + &ENERGY + EACH 1 + &END + &END + PV_AVA + &END MD + &PRINT + &TRAJECTORY + EACH 100 + &END + &VELOCITIES OFF + &END + &FORCES OFF + &END + &RESTART_HISTORY OFF + &END + &RESTART + EACH 10 + &END + &END + &FREE_ENERGY + METHOD AC + &ALCHEMICAL_CHANGE + PARAMETER k + WEIGHTING_FUNCTION (1.0-k)*Z+k*J + &END + &END +&END MOTION +&EXT_RESTART + RESTART_FILE_NAME DDG_SOLVATION-1.restart +&END diff --git a/tests/FE/regtest-3/TEST_FILES b/tests/FE/regtest-3/TEST_FILES index 9ae70c2fc1..ed4d10f1c6 100644 --- a/tests/FE/regtest-3/TEST_FILES +++ b/tests/FE/regtest-3/TEST_FILES @@ -4,4 +4,5 @@ # 1 compares the last total energy in the file # for details see cp2k/tools/do_regtest # -Solv_alch_chng.inp 2 +Solv_alch_chng.inp 2 +Solv_alch_chng_res.inp 2 diff --git a/tests/Fist/regtest-3/cu_eam_2.inp b/tests/Fist/regtest-3/cu_eam_2.inp index 130e2b3d43..32e052c46a 100644 --- a/tests/Fist/regtest-3/cu_eam_2.inp +++ b/tests/Fist/regtest-3/cu_eam_2.inp @@ -74,5 +74,9 @@ STEPS 5 TIMESTEP 5. TEMPERATURE 85.0 + &BAROSTAT + &END + &NOSE + &END &END MD &END MOTION diff --git a/tests/Fist/regtest-3/nh3_4x6_npt.inp b/tests/Fist/regtest-3/nh3_4x6_npt.inp index c3c9961c63..b4eb1d9cfe 100644 --- a/tests/Fist/regtest-3/nh3_4x6_npt.inp +++ b/tests/Fist/regtest-3/nh3_4x6_npt.inp @@ -57,6 +57,8 @@ STEPS 5 TIMESTEP 2.5 TEMPERATURE 298 + &BAROSTAT + &END &NOSE LENGTH 1 YOSHIDA 3 diff --git a/tests/Fist/regtest-3/nh3_dist_npt.inp b/tests/Fist/regtest-3/nh3_dist_npt.inp index 81c469a219..e1ff6a1231 100644 --- a/tests/Fist/regtest-3/nh3_dist_npt.inp +++ b/tests/Fist/regtest-3/nh3_dist_npt.inp @@ -118,5 +118,7 @@ TIMECON 500 MTS 2 &END NOSE + &BAROSTAT + &END &END MD &END MOTION diff --git a/tests/Fist/regtest-4/ethene_colv1_npt.inp b/tests/Fist/regtest-4/ethene_colv1_npt.inp index 77a65c9168..b43da497ca 100644 --- a/tests/Fist/regtest-4/ethene_colv1_npt.inp +++ b/tests/Fist/regtest-4/ethene_colv1_npt.inp @@ -74,5 +74,7 @@ TIMECON 500 MTS 2 &END NOSE + &BAROSTAT + &END &END MD &END MOTION diff --git a/tests/Fist/regtest-4/ethene_colv2_npt.inp b/tests/Fist/regtest-4/ethene_colv2_npt.inp index de1a59486c..662c6b6cf6 100644 --- a/tests/Fist/regtest-4/ethene_colv2_npt.inp +++ b/tests/Fist/regtest-4/ethene_colv2_npt.inp @@ -74,5 +74,7 @@ TIMECON 500 MTS 2 &END NOSE + &BAROSTAT + &END &END MD &END MOTION diff --git a/tests/Fist/regtest-6/C_tersoff.inp b/tests/Fist/regtest-6/C_tersoff.inp index 49b55c3916..bd475859ad 100644 --- a/tests/Fist/regtest-6/C_tersoff.inp +++ b/tests/Fist/regtest-6/C_tersoff.inp @@ -16,6 +16,8 @@ CMASS 70000000 PRESSURE 1000.0 &END MSST + &BAROSTAT + &END &PRINT &ENERGY EACH 1 diff --git a/tests/Fist/regtest/argon_msst.inp b/tests/Fist/regtest/argon_msst.inp index 035f58dd1a..589f61abeb 100644 --- a/tests/Fist/regtest/argon_msst.inp +++ b/tests/Fist/regtest/argon_msst.inp @@ -126,6 +126,8 @@ TIMESTEP 1 TEMPERATURE 20.0 PV_AVA + &BAROSTAT + &END &MSST CMASS 6876495.93450422771 V_SHOCK 2800. diff --git a/tests/Fist/regtest/argon_msst_damped.inp b/tests/Fist/regtest/argon_msst_damped.inp index a3429ae754..acb507f8ee 100644 --- a/tests/Fist/regtest/argon_msst_damped.inp +++ b/tests/Fist/regtest/argon_msst_damped.inp @@ -126,6 +126,8 @@ TIMESTEP 1 TEMPERATURE 20.0 PV_AVA + &BAROSTAT + &END &MSST CMASS 6876495.93450422771 V_SHOCK 2800. diff --git a/tests/QS/regtest-gapw/He2-all-md.inp b/tests/QS/regtest-gapw/He2-all-md.inp index eb9d08e779..5a78951cb1 100644 --- a/tests/QS/regtest-gapw/He2-all-md.inp +++ b/tests/QS/regtest-gapw/He2-all-md.inp @@ -71,5 +71,7 @@ STEPS 3 TIMESTEP 0.2 TEMPERATURE 300.0 + &NOSE + &END &END MD &END MOTION diff --git a/tests/QS/regtest-gpw-4/H2O-7.inp b/tests/QS/regtest-gpw-4/H2O-7.inp index 03abdbc708..a87006d74d 100644 --- a/tests/QS/regtest-gpw-4/H2O-7.inp +++ b/tests/QS/regtest-gpw-4/H2O-7.inp @@ -51,5 +51,9 @@ TIMESTEP 0.1 TEMPERATURE 300.0 PV_AVA + &NOSE + &END + &BAROSTAT + &END &END MD &END MOTION diff --git a/tests/TEST_DIRS b/tests/TEST_DIRS index 26e093bdf4..056f4b686c 100644 --- a/tests/TEST_DIRS +++ b/tests/TEST_DIRS @@ -3,48 +3,48 @@ # in case a new directory is added just drop it at the end of the list.. # the order will be regularly checked and modified... Fist/regtest-6 -QS/regtest-gpw-3 -QS/regtest-hybrid Fist/regtest-5 QS/regtest-gpw-4 -QS/regtest-gapw -QS/regtest-gapw-1 -QS/regtest-gapw-2 -QMMM/QS/regtest-1 +QS/regtest-gpw-3 +QS/regtest-hybrid +Fist/regtest QS/regtest-gpw-2 -QMMM/QS/regtest-3 QS/regtest-ot-2 +QMMM/QS/regtest-1 +QMMM/QS/regtest-3 QS/regtest-ot-1 QS/regtest-gpw-1 QS/regtest-ot -NEB/regtest-2 -Fist/regtest -QMMM/QS/regtest-4 EP +QMMM/QS/regtest-4 +QS/regtest-gapw +NEB/regtest-2 +QS/regtest-nmr-uks-1 +QMMM/SE/regtest +QS/regtest-gapw-2 +Fist/regtest-4 +QS/regtest-nmr-1 QMMM/QS/regtest-gapw NEB/regtest-1 +QS/regtest-ot-refine +Fist/regtest-3 QS/regtest-hfx MC/regtest -Fist/regtest-4 -KG/regtest -QMMM/SE/regtest -DFTB/regtest-scc -QMMM/QS/regtest-2-erf -QMMM/QS/regtest-2-swave -Fist/regtest-3 -Pimd -FE/regtest-1 -DFTB/regtest-nonscc -NEB/regtest-3 -QS -SE/regtest-2 Fist/regtest-2 -SE/regtest -FE/regtest-3 -FE/regtest-2 -QS/regtest-ot-refine -QS/regtest-nmr-1 -QS/regtest-nmr-uks-1 -QS/regtest-nmr-2 -QS/regtest-nmr-3 +DFTB/regtest-scc +SE/regtest-2 +QMMM/QS/regtest-2-swave +KG/regtest +QMMM/QS/regtest-2-erf +QS/regtest-gapw-1 QS/regtest-chi-1 +DFTB/regtest-nonscc +SE/regtest +NEB/regtest-3 +FE/regtest-1 +QS/regtest-nmr-3 +Pimd +FE/regtest-3 +QS +QS/regtest-nmr-2 +FE/regtest-2