mirror of
https://github.com/CoolProp/CoolProp.git
synced 2026-01-14 16:38:00 -05:00
83 lines
2.5 KiB
Bash
83 lines
2.5 KiB
Bash
#!/bin/bash
|
|
|
|
# Warning: this script deletes directory libudf before creating a new one
|
|
|
|
# Warning: read README.rst before editing the variables SOLVER and FLUENT_BIN_FOLDER
|
|
|
|
SOLVER="$1"
|
|
FLUENT_BIN_FOLDER="$2"
|
|
|
|
if [ "$SOLVER" = "" ]
|
|
then
|
|
$SOLVER = "2ddp" #compiles 2d double precision by default
|
|
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
|
|
|
|
echo exit > exit.jou
|
|
if [ "$FLUENT_BIN_FOLDER" = "" ]
|
|
then
|
|
fluent $SOLVER -g -env -i exit.jou > FluentEnvironment.dat 2>&1
|
|
else
|
|
$FLUENT_BIN_FOLDER"/fluent" $SOLVER -g -env -i exit.jou > FluentEnvironment.dat 2>&1
|
|
fi
|
|
rm exit.jou
|
|
FLUENT_INC=`cat FluentEnvironment.dat | grep FLUENT_INC | sed 's/FLUENT[_A-Z]*=//'`
|
|
FLUENT_ARCH=`cat FluentEnvironment.dat | grep FLUENT_ARCH | sed 's/FLUENT[_A-Z]*=//'`
|
|
FLUENT_PROD_DIR=`cat FluentEnvironment.dat | grep FLUENT_PROD_DIR | sed 's/FLUENT[_A-Z]*=//'`
|
|
PATH_MAKEFILE1=$FLUENT_PROD_DIR"/src/makefile.udf"
|
|
PATH_MAKEFILE2=$FLUENT_PROD_DIR"/src/makefile.udf2"
|
|
PATH_LIBRARY="libudf/"$FLUENT_ARCH"/"$SOLVER
|
|
rm -rf libudf/
|
|
mkdir libudf
|
|
cp $PATH_MAKEFILE2 libudf/makefile
|
|
mkdir libudf/src
|
|
cp $PATH_MAKEFILE1 libudf/src/makefile
|
|
mkdir libudf/$FLUENT_ARCH
|
|
mkdir $PATH_LIBRARY
|
|
mkdir ${PATH_LIBRARY}"_host"
|
|
mkdir ${PATH_LIBRARY}"_node"
|
|
udfNames=""
|
|
echo -n CSOURCES= > ${PATH_LIBRARY}/user.udf
|
|
for file in *.c
|
|
do
|
|
echo -n $file" " >> ${PATH_LIBRARY}/user.udf
|
|
udfNames=$udfNames" "$file
|
|
done
|
|
echo -n -e "\n"HSOURCES= >> ${PATH_LIBRARY}/user.udf
|
|
for file in *.h
|
|
do
|
|
if [$file != "*.h"]
|
|
then
|
|
echo -n $file" " >> ${PATH_LIBRARY}/user.udf
|
|
fi
|
|
done
|
|
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
|
|
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 $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
|
|
cd $HOME
|
|
cd ${PATH_LIBRARY}"_host" && g++ -shared -lm -ldl *.o -o libudf.so
|
|
cd $HOME
|
|
cd ${PATH_LIBRARY}"_node" && g++ -shared -lm -ldl *.o -o libudf.so
|
|
|
|
rm -rf coolprop
|