small fixes f90 to F90 correction
[unres4.git] / source / unres / CMakeLists.txt
1 #
2 # CMake project file for UNRES 
3
4
5 enable_language (Fortran)
6
7 #================================
8 # Set source file lists for different compilation flags
9 #================================
10 set(UNRES_MD_SRC0 
11          data/names.F90
12          data/io_units.F90
13          data/calc_data.F90
14          data/compare_data.F90
15          data/control_data.F90
16          data/CSA_data.F90
17          data/energy_data.F90
18          data/geometry_data.F90
19          data/map_data.F90
20          data/MCM_data.F90
21          data/MD_data.F90
22          data/MPI_data.F90
23          data/REMD_data.F90
24          data/comm_local.F90
25          prng_32.F90
26          math.F90
27          random.F90
28          geometry.F90
29          io_base.F90
30          energy.F90
31          check_bond.F90
32          control.F90
33          MPI.F90
34          regularize.F90
35          compare.F90
36          map.F90
37          muca_md.F90
38          MCM_MD.F90
39          io.F90
40          MREMD.F90
41          CSA.F90
42          unres.F90
43          MD.F90
44          REMD.F90
45 )
46
47 set(UNRES_MD_SRC1
48         data/minim_data.F90 
49 )
50
51 set(UNRES_MD_SRC2
52         minim.F90
53         md_calc.F90 
54 )
55
56 set(UNRES_MD_SRC3 
57         io_config.F90
58 )
59
60
61 #================================================
62 # Set compiler flags for different sourcefiles  
63 #================================================
64 if (Fortran_COMPILER_NAME STREQUAL "ifort")
65   set (CMAKE_Fortran_FLAGS_RELEASE " ")
66   set (CMAKE_Fortran_FLAGS_DEBUG   "-O0 -g ")
67   set(FFLAGS0 "-fpp -c -O3 -ip " ) 
68   set(FFLAGS1 "-fpp -c -O " ) 
69   set(FFLAGS2 "-fpp -c -g -CA -CB ")
70   set(FFLAGS3 "-fpp -c -g -O0 " )
71 elseif (Fortran_COMPILER_NAME STREQUAL "gfortran")
72   set(FFLAGS0 "-std=legacy -I. " ) 
73   set(FFLAGS1 "-std=legacy -g -I. " ) 
74   set(FFLAGS2 "-std=legacy -I. ")
75   set(FFLAGS3 "-std=legacy -I. " )
76 endif (Fortran_COMPILER_NAME STREQUAL "ifort")
77
78
79 # Add MPI compiler flags
80 if(UNRES_WITH_MPI)
81   set(FFLAGS0 "${FFLAGS0} -I${MPI_Fortran_INCLUDE_PATH}")
82   set(FFLAGS1 "${FFLAGS1} -I${MPI_Fortran_INCLUDE_PATH}")
83   set(FFLAGS2 "${FFLAGS2} -I${MPI_Fortran_INCLUDE_PATH}")
84   set(FFLAGS3 "${FFLAGS3} -I${MPI_Fortran_INCLUDE_PATH}")
85 endif(UNRES_WITH_MPI)
86
87 set_property(SOURCE ${UNRES_MD_SRC0} PROPERTY COMPILE_FLAGS ${FFLAGS0} )
88 set_property(SOURCE ${UNRES_MD_SRC1} PROPERTY COMPILE_FLAGS ${FFLAGS1} )
89 set_property(SOURCE ${UNRES_MD_SRC2} PROPERTY COMPILE_FLAGS ${FFLAGS2} )
90 set_property(SOURCE ${UNRES_MD_SRC3} PROPERTY COMPILE_FLAGS ${FFLAGS3} )
91
92 #=========================================
93 # Settings for GAB force field 
94 #=========================================
95 if(UNRES_MD_FF STREQUAL "GAB" )
96   # set preprocesor flags   
97   set(CPPFLAGS "PROCOR -DUNRES -DISNAN -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC")
98
99 #=========================================
100 #  Settings for E0LL2Y force field
101 #=========================================
102 elseif(UNRES_MD_FF STREQUAL "E0LL2Y")
103   # set preprocesor flags   
104   set(CPPFLAGS "PROCOR -DUNRES -DISNAN -DSPLITELE -DLANG0" )
105
106 #=========================================
107 #  Settings for 4P force field
108 #=========================================
109 elseif(UNRES_MD_FF STREQUAL "4P")
110   set(CPPFLAGS "UNRES -DISNAN -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC -DSCCORPDB" )
111 endif(UNRES_MD_FF STREQUAL "GAB")
112
113 #=========================================
114 # System specific flags
115 #=========================================
116 if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
117   set(CPPFLAGS "${CPPFLAGS} -DLINUX") 
118 endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
119
120 #=========================================
121 # Compiler specific flags
122 #=========================================
123
124 if (Fortran_COMPILER_NAME STREQUAL "ifort")
125   # Add ifort preprocessor flags
126   set(CPPFLAGS "${CPPFLAGS} -DPGI") 
127 elseif (Fortran_COMPILER_NAME STREQUAL "f95")
128   # Add new gfortran flags
129   set(CPPFLAGS "${CPPFLAGS} -DG77") 
130 elseif (Fortran_COMPILER_NAME STREQUAL "gfortran")
131   # Add old gfortran flags
132   set(CPPFLAGS "${CPPFLAGS} -DG77")
133 elseif (Fortran_COMPILER_NAME STREQUAL "pgf90")
134   set(CPPFLAGS "${CPPFLAGS} -DPGI")
135   FILE(COPY ${CMAKE_SOURCE_DIR}/source/isnan_pgi.f DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
136   list(APPEND UNRES_MD_SRC0 ${CMAKE_CURRENT_BINARY_DIR}/isnan_pgi.f)
137 endif (Fortran_COMPILER_NAME STREQUAL "ifort")
138
139 #=========================================
140 # Add MPI preprocessor flags
141 #=========================================
142 if (UNRES_WITH_MPI)
143   set(CPPFLAGS "${CPPFLAGS} -DMP -DMPI") 
144 endif(UNRES_WITH_MPI)
145
146 #=========================================
147 # Add 64-bit specific preprocessor flags
148 #=========================================
149 if (architektura STREQUAL "64")
150   set(CPPFLAGS "${CPPFLAGS} -DAMD64")
151 endif (architektura STREQUAL "64")
152
153
154 #========================================
155 #  Setting binary name
156 #========================================
157 if(UNRES_WITH_MPI) 
158   # binary with mpi
159   set(UNRES_BIN "unresMD_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}.exe")
160 else(UNRES_WITH_MPI)
161   # binary without mpi
162   set(UNRES_BIN "unresMD_${Fortran_COMPILER_NAME}_single_${UNRES_MD_FF}.exe")
163 endif(UNRES_WITH_MPI)  
164
165 #=========================================
166 # cinfo.f90 workaround for cmake
167 #=========================================
168 # get the current date  
169 TODAY(DATE)
170 # generate cinfo.f90
171
172 set(CINFO "${CMAKE_CURRENT_BINARY_DIR}/cinfo.f90")
173 FILE(WRITE ${CINFO}
174 "! CMake generated file cinfo.f90
175        subroutine cinfo
176        use io_units
177        write(iout,*)'++++ Compile info ++++'
178        write(iout,*)'Version ${UNRES_MAJOR}.${UNRES_MINOR} build ${UNRES_PATCH}'
179 ")
180
181 CINFO_FORMAT(${CINFO} "Compiled" "${DATE}" )
182 CINFO_FORMAT(${CINFO} "Compiled by" "$ENV{USER}@$ENV{HOST}" )
183 CINFO_FORMAT(${CINFO} "OS name:" "${CMAKE_SYSTEM_NAME}" )
184 CINFO_FORMAT(${CINFO} "OS release:" "${CMAKE_SYSTEM}" )
185 CINFO_FORMAT(${CINFO} "Fortran Compiler:" "${CMAKE_Fortran_COMPILER}" )
186 CINFO_FORMAT(${CINFO} "MD Force field:" "${UNRES_MD_FF}" )
187 CINFO_FORMAT(${CINFO} "CPPFLAGS =" "${CPPFLAGS}")
188
189 FILE(APPEND ${CINFO} 
190 "       write(iout,*)'++++ End of compile info ++++'  
191        return 
192        end ")
193
194 # add include path
195 set_property(SOURCE ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f90 PROPERTY COMPILE_FLAGS "${FFLAGS} -I${CMAKE_CURRENT_SOURCE_DIR}")
196
197 #=========================================
198 # Set full unres MD sources
199 #=========================================
200 set(UNRES_MD_SRCS ${UNRES_MD_SRC0} ${UNRES_MD_SRC1} ${UNRES_MD_SRC2} ${UNRES_MD_SRC3} ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f90 )
201 set_property(SOURCE ${UNRES_MD_SRCS} PROPERTY COMPILE_DEFINITIONS ${CPPFLAGS} )
202
203 #=========================================
204 # Build the binary
205 #=========================================
206 add_executable(UNRES_BIN ${UNRES_MD_SRCS} )
207 set_target_properties(UNRES_BIN PROPERTIES OUTPUT_NAME ${UNRES_BIN})
208 set_property(TARGET UNRES_BIN PROPERTY RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
209
210
211 #=========================================
212 # Link libraries
213 #=========================================
214 # link MPI library (libmpich.a)  
215
216 if(UNRES_WITH_MPI)
217   target_link_libraries( UNRES_BIN ${MPI_Fortran_LIBRARIES} )
218 endif(UNRES_WITH_MPI)
219 # link libxdrf.a 
220 #message("UNRES_XDRFLIB=${UNRES_XDRFLIB}")
221 target_link_libraries( UNRES_BIN xdrf )
222
223 #=========================================
224 # Install Path
225 #=========================================
226 install(TARGETS UNRES_BIN DESTINATION ${CMAKE_INSTALL_PREFIX}) 
227
228 #=========================================
229 # TESTS 
230 #=========================================
231
232 #-- Copy all the data files from the test directory into the source directory
233 #SET(UNRES_TEST_FILES
234 #       ala10.inp
235 #    )
236
237 #FOREACH (UNRES_TEST_FILE ${UNRES_TEST_FILES})
238 #      SET (unres_test_dest "${CMAKE_CURRENT_BINARY_DIR}/${UNRES_TEST_FILE}")
239 #      MESSAGE (STATUS " Copying ${UNRES_TEST_FILE} from ${CMAKE_SOURCE_DIR}/examples/unres/MD/ff_gab/${UNRES_TEST_FILE} to ${unres_test_dest}")
240 #      ADD_CUSTOM_COMMAND (
241 #          TARGET     ${UNRES_BIN}
242 #          POST_BUILD
243 #          COMMAND    ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/examples/unres/MD/ff_gab/${UNRES_TEST_FILE} ${unres_test_dest}
244 #      )
245 #ENDFOREACH (UNRES_TEST_FILE ${UNRES_TEST_FILES})
246
247 #=========================================
248 # Generate data test files
249 #=========================================
250 #  test_single_ala.sh
251 #=========================================
252
253 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_single_ala.sh
254 "#!/bin/sh
255 export POT=GB
256 export PREFIX=ala10
257 #-----------------------------------------------------------------------------
258 UNRES_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_BIN}
259 #-----------------------------------------------------------------------------
260 DD=${CMAKE_SOURCE_DIR}/PARAM
261 export BONDPAR=$DD/bond.parm
262 export THETPAR=$DD/thetaml.5parm
263 export ROTPAR=$DD/scgauss.parm
264 export TORPAR=$DD/torsion_631Gdp.parm
265 export TORDPAR=$DD/torsion_double_631Gdp.parm
266 export ELEPAR=$DD/electr_631Gdp.parm
267 export SIDEPAR=$DD/sc_GB_opt.1gab_3S_qclass5no310-shan2-sc-16-10-8k
268 export FOURIER=$DD/fourier_opt.parm.1igd_hc_iter3_3
269 export SCPPAR=$DD/scp.parm
270 export SCCORPAR=$DD/sccor_pdb_shelly.dat
271 export PATTERN=$DD/patterns.cart
272 #-----------------------------------------------------------------------------
273 $UNRES_BIN
274 ")
275
276 #
277 # File permissions workaround
278 #
279 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_single_ala.sh 
280         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
281         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
282 )
283
284
285
286 #=========================================
287 #  ala10.inp
288 #=========================================
289
290 file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/ala10.inp
291 "ala10 unblocked
292 SEED=-1111333 MD ONE_LETTER rescale_mode=2 
293 nstep=15000 ntwe=100 ntwx=1000 dt=0.1 lang=0 tbf t_bath=300 damax=1.0          &
294 reset_moment=1000 reset_vel=1000
295 WLONG=1.35279 WSCP=1.59304 WELEC=0.71534 WBOND=1.00000 WANG=1.13873            &
296 WSCLOC=0.16258 WTOR=1.98599 WTORD=1.57069 WCORRH=0.42887 WCORR5=0.00000        &
297 WCORR6=0.00000 WEL_LOC=0.16036 WTURN3=1.68722 WTURN4=0.66230 WTURN6=0.00000    &
298 WVDWPP=0.11371 WHPB=1.00000                                                    &
299 CUTOFF=7.00000 WCORR4=0.00000
300 12
301 XAAAAAAAAAAX 
302  0
303  0
304    90.0000   90.0000   90.0000  90.000   90.000   90.000   90.000   90.000 
305    90.0000   90.0000
306   180.0000  180.0000  180.0000 180.000  180.000  180.000  180.000  180.000
307   180.0000
308   110.0000  110.0000  110.0000 100.000  110.000  100.000  110.000  110.000 
309   110.0000  110.0000
310  -120.0000 -120.0000 -120.000 -120.000 -120.000 -120.000 -120.000 -120.000
311  -120.0000 -120.0000
312 ")
313
314 if(UNRES_MD_FF STREQUAL "E0LL2Y")
315
316 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/prota.pdb
317         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
318
319 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/prota_unres.pdb
320         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
321
322 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/prota_ENE.inp
323         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
324
325 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/prota_MIN_CART.inp
326         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
327
328 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1l2y_micro.inp
329         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
330
331 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1l2y_MIN_INT.inp
332         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
333
334 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1l2y_MIN_REGULAR_INT.inp
335         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
336
337 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1L2Y_B.inp
338         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
339
340 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1L2Y_L.inp
341         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
342
343 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1L2Y_NH.inp
344         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
345
346
347 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1L2Y.pdb
348         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
349
350 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1L2Y_remd.inp
351         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
352
353 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1ei0_min.inp
354         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
355
356 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1ei0.pdb
357         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
358
359 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/prota_unres_energy_check.sh
360         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} 
361         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
362 )
363
364 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/matplotlib_fit_hist.py
365         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} 
366         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
367 )
368
369 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/matplotlib_hist.py
370         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} 
371         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
372 )
373
374 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/checkgrad.awk
375         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
376
377 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/prota_CHECKGRAD.inp
378         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
379
380
381 #=========================================
382 #  test_prota_E0LL2Y.sh
383 #=========================================
384
385 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_prota_E0LL2Y.sh
386 "#!/bin/sh
387 export POT=GB
388 export FGPROCS=$2
389 export PREFIX=$1
390 #-----------------------------------------------------------------------------
391 UNRES_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_BIN}
392 #-----------------------------------------------------------------------------
393 DD=${CMAKE_SOURCE_DIR}/PARAM
394 export BONDPAR=$DD/bond_AM1_ext.parm
395 export THETPAR=$DD/theta_abinitio_old_ext.parm
396 export THETPARPDB=$DD/thetaml_ext.5parm
397 export ROTPARPDB=$DD/scgauss_ext.parm
398 export ROTPAR=$DD/rotamers_AM1_aura_ext.10022007.parm
399 export TORPAR=$DD/torsion_631Gdp_old_ext.parm
400 export TORDPAR=$DD/torsion_double_631Gdp_old_ext.parm
401 export ELEPAR=$DD/electr_631Gdp_ext.parm
402 export SIDEPAR=$DD/scinter_GB_ext.parm
403 export FOURIER=$DD/fourier_opt_ext.parm.1igd_hc_iter3_3
404 export SCCORPAR=$DD/sccor_am1_pawel_ext.dat
405 export SCPPAR=$DD/scp_ext.parm
406 export PATTERN=$DD/patterns.cart
407 #-----------------------------------------------------------------------------
408 echo CTEST_FULL_OUTPUT
409 $UNRES_BIN
410 ./prota_unres_energy_check.sh $1 ${UNRES_BIN}
411 ")
412
413 #
414 # File permissions workaround
415 #
416 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_prota_E0LL2Y.sh 
417         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
418         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
419 )
420
421 #  MESSAGE (STATUS "${MPI_Fortran_LIBRARIES}")
422   if ("${MPI_Fortran_LIBRARIES}"  MATCHES "lam")
423      MESSAGE (STATUS "LAM MPI library detected")
424      set (boot_lam "-boot")
425   else()
426      set (boot_lam "")
427   endif()
428
429   if (UNRES_SRUN)
430    set (np "-n")
431    set (mpiexec "srun")
432   elseif(UNRES_MPIRUN)
433    set (np "-np")
434    set (mpiexec "mpirun")
435   else()
436    set (np "-np")
437    set (mpiexec "mpiexec")
438   endif()
439           
440
441 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_mpi_E0LL2Y.sh
442 "#!/bin/sh
443 export POT=GB
444 export FGPROCS=$2
445 export PREFIX=$1
446 #-----------------------------------------------------------------------------
447 UNRES_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_BIN}
448 #-----------------------------------------------------------------------------
449 DD=${CMAKE_SOURCE_DIR}/PARAM
450 export BONDPAR=$DD/bond_AM1_ext.parm
451 export THETPAR=$DD/theta_abinitio_old_ext.parm
452 export THETPARPDB=$DD/thetaml_ext.5parm
453 export ROTPARPDB=$DD/scgauss_ext.parm
454 export ROTPAR=$DD/rotamers_AM1_aura_ext.10022007.parm
455 export TORPAR=$DD/torsion_631Gdp_old_ext.parm
456 export TORDPAR=$DD/torsion_double_631Gdp_old_ext.parm
457 export ELEPAR=$DD/electr_631Gdp_ext.parm
458 export SIDEPAR=$DD/scinter_GB_ext.parm
459 export FOURIER=$DD/fourier_opt_ext.parm.1igd_hc_iter3_3
460 export SCCORPAR=$DD/sccor_am1_pawel_ext.dat
461 export SCPPAR=$DD/scp_ext.parm
462 export PATTERN=$DD/patterns.cart
463 #-----------------------------------------------------------------------------
464 echo CTEST_FULL_OUTPUT
465 ${mpiexec} ${boot_lam} ${np} $3 $UNRES_BIN | grep -v traj1file
466 ./prota_unres_energy_check.sh $1 ${UNRES_BIN}
467 ")
468
469 #
470 # File permissions workaround
471 #
472 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_mpi_E0LL2Y.sh 
473         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
474         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
475 )
476
477
478 endif(UNRES_MD_FF STREQUAL "E0LL2Y")
479
480
481
482 # Add tests
483
484 if(NOT UNRES_WITH_MPI)
485                   
486   if(UNRES_MD_FF STREQUAL "GAB")
487     add_test(NAME UNRES_MD_Ala10 COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_single_ala.sh )
488   endif(UNRES_MD_FF STREQUAL "GAB")
489  
490   if(UNRES_MD_FF STREQUAL "E0LL2Y")
491     add_test(NAME UNRES_ENE_prota COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_ENE 1 )
492     add_test(NAME UNRES_MIN_prota COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_MIN_CART 1 )
493     add_test(NAME UNRES_MIN_INT COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1l2y_MIN_INT 1 )
494     add_test(NAME UNRES_REGULAR COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1l2y_MIN_REGULAR_INT 1 )
495     add_test(NAME UNRES_MD_microcanonical COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1l2y_micro 1 )
496     add_test(NAME UNRES_Langevin COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1L2Y_L 1 )
497     add_test(NAME UNRES_NoseHoover COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1L2Y_NH 1 )
498     add_test(NAME UNRES_Berendsen COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1L2Y_B 1 )
499     add_test(NAME UNRES_ss_static_min COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1ei0_min 1 )
500   endif(UNRES_MD_FF STREQUAL "E0LL2Y")
501
502 else(NOT UNRES_WITH_MPI)
503
504
505   if(UNRES_MD_FF STREQUAL "GAB")
506     add_test(NAME UNRES_MD_MPI_Ala10 COMMAND ${mpiexec} ${boot_lam} ${CMAKE_CURRENT_BINARY_DIR}/test_single_ala.sh )
507   endif(UNRES_MD_FF STREQUAL "GAB")
508
509   if(UNRES_MD_FF STREQUAL "E0LL2Y")
510     add_test(NAME UNRES_ENE_prota COMMAND ${mpiexec} ${boot_lam} ${np} 2 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_ENE 2 )
511     add_test(NAME UNRES_ENE1_prota COMMAND ${mpiexec} ${boot_lam} ${np} 1 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_ENE 1 )
512     add_test(NAME UNRES_CHECKGRAD_prota COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh prota_CHECKGRAD 2 2 )
513     add_test(NAME UNRES_CHECKGRAD1_prota COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh prota_CHECKGRAD 1 1 )
514     add_test(NAME UNRES_MIN_prota COMMAND ${mpiexec} ${boot_lam} ${np} 2 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_MIN_CART 2 )
515     add_test(NAME UNRES_MIN_INT COMMAND ${mpiexec} ${boot_lam} ${np} 1 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1l2y_MIN_INT 1 )
516     add_test(NAME UNRES_REGULAR COMMAND ${mpiexec} ${boot_lam} ${np} 1 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1l2y_MIN_REGULAR_INT 1 )
517     add_test(NAME UNRES_MD_microcanonical COMMAND ${mpiexec} ${boot_lam} ${np} 2 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1l2y_micro 2 )
518     add_test(NAME UNRES_Langevin COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_L 2 2 )
519     add_test(NAME UNRES_NoseHoover COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_NH 2 2 )
520     add_test(NAME UNRES_Berendsen COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_B 2 2 )
521     add_test(NAME UNRES_remd COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_remd 1 8 )
522     add_test(NAME UNRES_ss_static_min COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1ei0_min 1 2 )
523   endif(UNRES_MD_FF STREQUAL "E0LL2Y")
524
525 endif(NOT UNRES_WITH_MPI)
526