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