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