X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=source%2Funres%2Fsrc_MD%2FCMakeLists.txt;h=eeb8c453ff68b60350c49296791f65d59ee96875;hb=6864b7c4d26e67b2e26c5d3f4ecf5245474d0886;hp=26843d6211c81afe05cfb8eae60eaaf3e3875678;hpb=ba89d093d42d6f177fbe7fc07549ea7dfd6a85b2;p=unres.git diff --git a/source/unres/src_MD/CMakeLists.txt b/source/unres/src_MD/CMakeLists.txt index 26843d6..eeb8c45 100644 --- a/source/unres/src_MD/CMakeLists.txt +++ b/source/unres/src_MD/CMakeLists.txt @@ -78,10 +78,17 @@ set(UNRES_MD_SRC0 timing.F thread.F unres.F + ssMD.F ) if(Fortran_COMPILER_NAME STREQUAL "ifort") set(UNRES_MD_SRC0 ${UNRES_MD_SRC0} prng.f ) +elseif(Fortran_COMPILER_NAME STREQUAL "mpif90") + set(UNRES_MD_SRC0 ${UNRES_MD_SRC0} prng.f ) +elseif(Fortran_COMPILER_NAME STREQUAL "f95") + set(UNRES_MD_SRC0 ${UNRES_MD_SRC0} prng.f ) +elseif(Fortran_COMPILER_NAME STREQUAL "gfortran") + set(UNRES_MD_SRC0 ${UNRES_MD_SRC0} prng.f ) else() set(UNRES_MD_SRC0 ${UNRES_MD_SRC0} prng_32.F ) endif (Fortran_COMPILER_NAME STREQUAL "ifort") @@ -149,11 +156,16 @@ if (Fortran_COMPILER_NAME STREQUAL "ifort") #set(FFLAGS3 "-c -w -O3 -ipo -ipo_obj -opt_report" ) set(FFLAGS3 "-w -ipo " ) elseif (Fortran_COMPILER_NAME STREQUAL "gfortran") - set(FFLAGS0 "-I. " ) - set(FFLAGS1 "-g -I. " ) - set(FFLAGS2 "-I. ") + set(FFLAGS0 "-std=legacy -I. " ) + set(FFLAGS1 "-std=legacy -g -I. " ) + set(FFLAGS2 "-std=legacy -I. ") #set(FFLAGS3 "-c -w -O3 -ipo -ipo_obj -opt_report" ) - set(FFLAGS3 "-I. " ) + set(FFLAGS3 "-std=legacy -I. " ) +elseif (Fortran_COMPILER_NAME STREQUAL "g77") + set(FFLAGS0 "-I ${CMAKE_CURRENT_SOURCE_DIR} " ) + set(FFLAGS1 "-g -I ${CMAKE_CURRENT_SOURCE_DIR} " ) + set(FFLAGS2 "-I ${CMAKE_CURRENT_SOURCE_DIR} ") + set(FFLAGS3 "-I ${CMAKE_CURRENT_SOURCE_DIR} " ) endif (Fortran_COMPILER_NAME STREQUAL "ifort") @@ -175,14 +187,14 @@ set_property(SOURCE ${UNRES_MD_SRC3} PROPERTY COMPILE_FLAGS ${FFLAGS3} ) #========================================= if(UNRES_MD_FF STREQUAL "GAB" ) # set preprocesor flags - set(CPPFLAGS "PROCOR -DUNRES -DISNAN -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC" ) + set(CPPFLAGS "PROCOR -DUNRES -DISNAN -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC -DSCCORPDB" ) #========================================= # Settings for E0LL2Y force field #========================================= elseif(UNRES_MD_FF STREQUAL "E0LL2Y") # set preprocesor flags - set(CPPFLAGS "PROCOR -DUNRES -DISNAN -DSPLITELE -DLANG0" ) + set(CPPFLAGS "PROCOR -DUNRES -DISNAN -DSPLITELE -DLANG0 -DSCCORPDB" ) endif(UNRES_MD_FF STREQUAL "GAB") #========================================= @@ -205,6 +217,12 @@ elseif (Fortran_COMPILER_NAME STREQUAL "f95") elseif (Fortran_COMPILER_NAME STREQUAL "gfortran") # Add old gfortran flags set(CPPFLAGS "${CPPFLAGS} -DG77") +elseif (Fortran_COMPILER_NAME STREQUAL "g77") + # Add old gfortran flags + set(CPPFLAGS "${CPPFLAGS} -DG77") +else(Fortran_COMPILER_NAME STREQUAL "ifort") + # Default preprocessor flag + set(CPPFLAGS "${CPPFLAGS} -DPGI") endif (Fortran_COMPILER_NAME STREQUAL "ifort") #========================================= @@ -232,25 +250,41 @@ else(UNRES_WITH_MPI) endif(UNRES_WITH_MPI) #========================================= -# cinfo.f stupid workaround for cmake -# - shame on me ]:) +# cinfo.f workaround for cmake #========================================= -set_property(SOURCE compinfo.c PROPERTY CMAKE_C_FLAGS "-c" ) -add_executable(compinfo-md compinfo.c) -set_target_properties(compinfo-md PROPERTIES OUTPUT_NAME compinfo) - -set(UNRES_CINFO_DIR "${CMAKE_CURRENT_BINARY_DIR}" ) -add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/cinfo.f ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/COMMON.IOUNITS ${CMAKE_CURRENT_BINARY_DIR}/COMMON.IOUNITS - COMMAND ${CMAKE_CURRENT_BINARY_DIR}/compinfo | true - DEPENDS compinfo-md ) -set_property(SOURCE ${UNRES_CINFO_DIR}/cinfo.f PROPERTY COMPILE_FLAGS ${FFLAGS0} ) +# get the current date +TODAY(DATE) +# generate cinfo.f + +set(CINFO "${CMAKE_CURRENT_BINARY_DIR}/cinfo.f") +FILE(WRITE ${CINFO} +"C CMake generated file + subroutine cinfo + include 'COMMON.IOUNITS' + write(iout,*)'++++ Compile info ++++' + write(iout,*)'Version ${UNRES_MAJOR}.${UNRES_MINOR} build ${UNRES_PATCH}' +") + +CINFO_FORMAT(${CINFO} "Compiled" "${DATE}" ) +CINFO_FORMAT(${CINFO} "Compiled by" "$ENV{USER}@$ENV{HOST}" ) +CINFO_FORMAT(${CINFO} "OS name:" "${CMAKE_SYSTEM_NAME}" ) +CINFO_FORMAT(${CINFO} "OS release:" "${CMAKE_SYSTEM}" ) +CINFO_FORMAT(${CINFO} "Fortran Compiler:" "${CMAKE_Fortran_COMPILER}" ) +CINFO_FORMAT(${CINFO} "MD Force field:" "${UNRES_MD_FF}" ) +CINFO_FORMAT(${CINFO} "CPPFLAGS =" "${CPPFLAGS}") + +FILE(APPEND ${CINFO} +" write(iout,*)'++++ End of compile info ++++' + return + end ") + +# add include path +set_property(SOURCE ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f PROPERTY COMPILE_FLAGS "${FFLAGS0} -I${CMAKE_CURRENT_SOURCE_DIR}") #========================================= # Set full unres MD sources #========================================= -set(UNRES_MD_SRCS ${UNRES_MD_SRC0} ${UNRES_MD_SRC3} ${UNRES_CINFO_DIR}/cinfo.f ) +set(UNRES_MD_SRCS ${UNRES_MD_SRC0} ${UNRES_MD_SRC3} ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f ) #========================================= @@ -297,6 +331,13 @@ target_link_libraries( UNRES_BIN-MD xdrf ) #========================================= # test_single_ala.sh #========================================= +# +# Set parmaeters depending on force field +if(UNRES_MD_FF STREQUAL "GAB") + set(UNRES_BONDPAR "bond.parm") +elseif(UNRES_MD_FF STREQUAL "E0LL2Y") + set(UNRES_BONDPAR "bond_AM1.parm") +endif(UNRES_MD_FF STREQUAL "GAB") FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_single_ala.sh "#!/bin/sh @@ -306,7 +347,7 @@ export PREFIX=ala10 UNRES_BIN=./${UNRES_BIN} #----------------------------------------------------------------------------- DD=${CMAKE_SOURCE_DIR}/PARAM -export BONDPAR=$DD/bond.parm +export BONDPAR=$DD/${UNRES_BONDPAR} export THETPAR=$DD/thetaml.5parm export ROTPAR=$DD/scgauss.parm export TORPAR=$DD/torsion_631Gdp.parm @@ -315,7 +356,7 @@ export ELEPAR=$DD/electr_631Gdp.parm export SIDEPAR=$DD/sc_GB_opt.1gab_3S_qclass5no310-shan2-sc-16-10-8k export FOURIER=$DD/fourier_opt.parm.1igd_hc_iter3_3 export SCPPAR=$DD/scp.parm -export SCCORPAR=$DD/rotcorr_AM1.parm +export SCCORPAR=$DD/sccor_pdb_shelly.dat export PATTERN=$DD/patterns.cart #----------------------------------------------------------------------------- $UNRES_BIN @@ -337,9 +378,9 @@ FILE( COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_single_ala.sh file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/ala10.inp "ala10 unblocked -SEED=-1111333 MD ONE_LETTER rescale_mode=2 PDBOUT +SEED=-1111333 MD ONE_LETTER rescale_mode=2 nstep=15000 ntwe=100 ntwx=1000 dt=0.1 lang=0 tbf t_bath=300 damax=1.0 & -reset_moment=1000 reset_vel=1000 MDPDB +reset_moment=1000 reset_vel=1000 WLONG=1.35279 WSCP=1.59304 WELEC=0.71534 WBOND=1.00000 WANG=1.13873 & WSCLOC=0.16258 WTOR=1.98599 WTORD=1.57069 WCORRH=0.42887 WCORR5=0.00000 & WCORR6=0.00000 WEL_LOC=0.16036 WTURN3=1.68722 WTURN4=0.66230 WTURN6=0.00000 & @@ -369,7 +410,7 @@ if(NOT UNRES_WITH_MPI) else(NOT UNRES_WITH_MPI) - add_test(NAME UNRES_MD_MPI_Ala10 COMMAND mpirun -np 1 ${CMAKE_CURRENT_BINARY_DIR}/test_single_ala.sh ) + add_test(NAME UNRES_MD_MPI_Ala10 COMMAND mpiexec -boot ${CMAKE_CURRENT_BINARY_DIR}/test_single_ala.sh ) endif(NOT UNRES_WITH_MPI)