From 95116f57ef9a25dfea14161bd3a054d5a34284f7 Mon Sep 17 00:00:00 2001 From: fsonnino <31736430+fsonnino@users.noreply.github.com> Date: Wed, 18 Oct 2017 11:38:21 +0200 Subject: [PATCH] updated compile.sh with cmake build of coolprop libray This Script build the CoolProp sources into a shared library, then compile the fluent udf into shared objects and finally it links the udf shared objects with the CoolProp shared library into the libudf.so --- wrappers/Fluent/compile.sh | 65 +++++++++++++++++++++++++++----------- 1 file changed, 46 insertions(+), 19 deletions(-) diff --git a/wrappers/Fluent/compile.sh b/wrappers/Fluent/compile.sh index c198d8dbdf..3c93f57593 100644 --- a/wrappers/Fluent/compile.sh +++ b/wrappers/Fluent/compile.sh @@ -1,4 +1,5 @@ #!/bin/bash +# This Script build the CoolProp sources into a shared library, then it links it to the Fluent udf # Warning: this script deletes directory libudf before creating a new one @@ -7,23 +8,27 @@ SOLVER="$1" FLUENT_BIN_FOLDER="$2" -if [ "$SOLVER" = "" ] +if [ "$SOLVER" == "" ] then - $SOLVER = "2ddp" #compiles 2d double precision by default + #compiles 3d double precision by default --> adapt the following line + SOLVER="3ddp" fi +if [ "$FLUENT_BIN_FOLDER" == "" ] +then + #call by default qualified Fluent version for studies --> adapt the following line + FLUENT_BIN_FOLDER="/users5/appli/produits/ansys_inc/v150/fluent/bin" +fi FLUENT_COMPILER=g++ HOME=`pwd` - -# Copy CoolProp sources to a local folder called coolprop -mkdir coolprop -cp -r ../../CoolProp ./coolprop/CoolProp - -cd coolprop -g++ -c CoolProp/*.cpp -ICoolProp -fPIC -D_GNU_SOURCE -ansi -O -Wall -DPTR_RESTRICT= -cd $HOME - +#CoolProp root source file (where CMakelist.txt is) --> adapt the following line +CoolProp_sources_repository="/usersCFD/epd/ah33666/CoolProp-6.1.0" +#Python 2.7 is mandatory to use cmake, by default on our machines the Python version is 2.4 --> adapt the following line +PYTHON_273="/users5/appli/produits/PYTHON/2.7.3/bin/python" +#Specify cmake shortcut if default cmake<2.8 --> adapt the following line +alias cmake='/users5/appli/tools/CMAKE/3.6.0/bin/cmake' +# beginning usefull Fluent environnement variables extraction echo exit > exit.jou if [ "$FLUENT_BIN_FOLDER" = "" ] then @@ -38,6 +43,10 @@ FLUENT_PROD_DIR=`cat FluentEnvironment.dat | grep FLUENT_PROD_DIR | sed 's/FLUEN PATH_MAKEFILE1=$FLUENT_PROD_DIR"/src/makefile.udf" PATH_MAKEFILE2=$FLUENT_PROD_DIR"/src/makefile.udf2" PATH_LIBRARY="libudf/"$FLUENT_ARCH"/"$SOLVER +# extraction ending + +#building the libudf directory +cd $HOME rm -rf libudf/ mkdir libudf cp $PATH_MAKEFILE2 libudf/makefile @@ -66,17 +75,35 @@ echo -e "\n"FLUENT_INC=$FLUENT_INC >> ${PATH_LIBRARY}/user.udf echo GPU_SUPPORT=off >> ${PATH_LIBRARY}/user.udf cp ${PATH_LIBRARY}/user.udf ${PATH_LIBRARY}_host/user.udf cp ${PATH_LIBRARY}/user.udf ${PATH_LIBRARY}_node/user.udf +#moving and compiling the source cp *.c libudf/src/ cp *.h libudf/src/ -cd libudf && make "FLUENT_ARCH=$FLUENT_ARCH" "SOURCES=$udfNames" "FLUENT_INC=$FLUENT_INC" "CC=$FLUENT_COMPILER" "CFLAGS_LNAMD64=-D_lnamd64 -D_GNU_SOURCE -fpic -shared -ansi -O -Wall -DPTR_RESTRICT= " +cd libudf +#make "FLUENT_ARCH=lnamd64" "SOURCES=$udfNames" "FLUENT_INC=$FLUENT_INC" "CC=$FLUENT_COMPILER" "CFLAGS_LNAMD64=-D_lnamd64 -D_GNU_SOURCE -fpic -shared -ansi -O -Wall -DPTR_RESTRICT= " +make "FLUENT_ARCH=$FLUENT_ARCH" cd $HOME -cp coolprop/*.o ${PATH_LIBRARY} -cp coolprop/*.o ${PATH_LIBRARY}"_host" -cp coolprop/*.o ${PATH_LIBRARY}"_node" -cd ${PATH_LIBRARY} && g++ -shared -lm -ldl *.o -o libudf.so +#remove the CoolProp build directory before compilation in the build directory +rm -rf CoolProp_Build +mkdir CoolProp_Build +cd CoolProp_Build +#uncomment following line for make file generation if python version <2.7 +cmake -G "Unix Makefiles" -DCOOLPROP_EXTERNC_LIBRARY:BOOL="ON" -DCOOLPROP_SHARED_LIBRARY:BOOL="ON" -DPYTHON_EXECUTABLE:FILEPATH=$PYTHON_273 $CoolProp_sources_repository +#uncomment following line make file generation if python is 2.7 +#cmake -G "Unix Makefiles" -DCOOLPROP_EXTERNC_LIBRARY:BOOL="ON" -DCOOLPROP_SHARED_LIBRARY:BOOL="ON" $CoolProp_sources_repository +make cd $HOME -cd ${PATH_LIBRARY}"_host" && g++ -shared -lm -ldl *.o -o libudf.so +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/CoolProp_Build/ + +cp CoolProp_Build/*.so* ${PATH_LIBRARY}/. +cd ${PATH_LIBRARY}/ +g++ -Wall -shared *.o libCoolProp.so -o libudf.so + cd $HOME -cd ${PATH_LIBRARY}"_node" && g++ -shared -lm -ldl *.o -o libudf.so +cp CoolProp_Build/*.so* ${PATH_LIBRARY}_host/. +cd ${PATH_LIBRARY}_host +g++ -Wall -shared *.o libCoolProp.so -o libudf.so -rm -rf coolprop +cd $HOME +cp CoolProp_Build/*.so* ${PATH_LIBRARY}_node/. +cd ${PATH_LIBRARY}_node +g++ -Wall -shared *.o libCoolProp.so -o libudf.so