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