Skip to content

Latest commit

 

History

History
88 lines (81 loc) · 4.57 KB

install_openfoam.md

File metadata and controls

88 lines (81 loc) · 4.57 KB

Installation of openfoam for firefoam from source package

git clone https://github.com/OpenFOAM/OpenFOAM-dev.git; git checkout 1ff57870007ac317d95a1756b41fd76c5a1e8f26

prerequisite

  • Install gmp: ./configure --prefix=/share/libs/gmp/612_gcc51; make -j 32; make all; make install
  • Install mpfr: ./configure --prefix=/share/libs/mpfr/402_gcc51 --with-gmp=/share/libs/gmp/612_gcc51; make -j 32; make all; make install
  • Install scotch: cd src; ln -s Make.inc/Makefile.inc.x86-64_pc_linux2 Makefile.inc; # add -fPIC in the CFLAGS ; make -j 32 scotch; export C_INCLUDE_PATH+=:/share/mpi/ompi/401_gcc51/include ; make -j32 ptscotch ; make prefix=/usr/nic/libs/scotch/607_gcc51 install
  • Install CGAL: mkdir build; cd buld; ccmake ..; # configure using gmp/mpfr; make -j 32; make install
  • For cgal and mpfr, make a soft link of lib or lib64

setup compiler and mpi environment as necessary

export LD_LIBRARY_PATH+=:/usr/local/gmp/612_gcc51/lib:/usr/local/mpfr/315_gcc51/lib:/usr/local/scotch/603_intel15/lib:/usr/local/cgal/47_gcc51/lib
export PATH+=:/usr/local/scotch/603_intel15/bin:/usr/local/cgal/47_gcc51/bin
export  MPI_ROOT=/usr/local/intel/18.0/impi_latest
export MPI_ARCH_FLAGS="-DMPICH_SKIP_MPICXX "
export MPI_ARCH_INC="-isystem $MPI_ROOT/include64" 
export MPI_ARCH_LIBS="-L$MPI_ROOT/lib64" 
export SCOTCH_ROOT=/usr/local/scotch/603_intel15
  • edit etc/bashrc for prefix and icc
  • set MPI type as IMPI and add IMPI) section at etc/config.sh/mpi
  • REF: http://www.hpcadvisorycouncil.com/pdf/OpenFOAM_Best_Practices.pdf
  • make OpenFOAM-dev-version-5.0/wmake/rules/General/mplibIMPI
  • edit etc/config.sh/scotch , CGAL, settings for the location of scotch, boost, cgal, mpfr, gmp
source etc/bashrc
./Allwmake -j32
  • To clean, ./wmake/wclean all
  • issue if PATH error appears:

export MPFR_ARCH_PATH=/usr/local/mpfr/315_gcc51; export GMP_ARCH_PATH=/usr/local/gmp/612_gcc51; export BOOST_ARCH_PATH=/usr/local/boost/1.64_intel15; export CGAL_ARCH_PATH=/usr/local/cgal/47_gcc51 ; export CGAL_INC="-I${CGAL_ARCH_PATH}/include -I${MPFR_ARCH_PATH}/include -I${GMP_ARCH_PATH}/include -I${BOOST_ARCH_PATH}/include -I/usr/include" ; export CGAL_LIBS="-L${CGAL_ARCH_PATH}/lib -L${MPFR_ARCH_PATH}/lib -L${GMP_ARCH_PATH}/lib -L${BOOST_ARCH_PATH}/lib -lCGAL -lmpfr"

  • At /usr/nic/libs/mpfr/315_gcc51/, ln -s lib lib64

Unofficial version

git clone https://github.com/Unofficial-Extend-Project-Mirror/foam-extend-foam-extend-4.0.git Configure openmpi environment

export LD_LIBRARY_PATH+=:/share/libs/gmp/612_gcc48/lib:/share/libs/mpfr/400_gcc48/lib:/share/apps/scotch/604_gcc73/lib:/share/libs/cgal/411_gcc73/lib
export PATH+=:/share/apps/scotch/604_gcc73/bin:/share/libs/cgal/411_gcc73/bin
export MPI_ROOT=/share/mpi/ompi/300_gcc48
export MPI_ARCH_FLAGS="-DMPICH_SKIP_MPICXX "
export MPI_ARCH_INC="-isystem $MPI_ROOT/include"
export MPI_ARCH_LIBS="-L$MPI_ROOT/lib"
export SCOTCH_ROOT=/share/apps/scotch/604_gcc73
export SCOTCH_LIB_DIR=/share/apps/scotch/604_gcc73/lib
export CGAL_LIB_DIR=/share/libs/cgal/411_gcc73/lib
  • edit etc/bashrc for prefix and icc: Choose SYSTEMOPENMPI
source etc/bashrc
./Allwmake -j32

Sample run

source etc/bashrc 
cd $FOAM_TUTORIALS/incompressible/simpleFoam/
cp -r pitzDailyExptInlet pitzDailyExptInlet.test
cd pitzDailyExptInlet.test/
blockMesh 2>&1 | tee log. blockMesh
decomposePar 2>&1 | tee log. decomposePar
mpirun -np 4 simpleFoam -parallel 2>&1 | tee log.simpleFoam

installing 4.1 using intel mpi- each version - 3 or 4 or 5 have different source packaging and thirdparty folders

  • New cgal (4.14) doesn't work. Use cgal 4.8
  • mpfr/gmp may have lib or lib64. Adjust etc/config.sh/settings accordingly export LD_LIBRARY_PATH+=:/share/libs/gmp/612_gcc51/lib:/usr/nic/libs/mpfr/402_gcc51/lib:/share/libs/scotch/607_gcc51/lib:/share/libs/cgal/48_gcc51/lib64 export PATH+=:/share/libs/scotch/607_gcc51/bin:/share/libs/cgal/48_gcc51/bin export SCOTCH_ROOT=/share/libs/scotch/607_gcc51 export SCOTCH_LIB_DIR=/share/libs/scotch/607_gcc51/lib export CGAL_LIB_DIR=/ushare/libs/cgal/48_gcc51/lib export MPI_ROOT=/usr/nic/compiler/intel/18.0/impi/2018.0.128 export MPI_ARCH_FLAGS="-DMPICH_SKIP_MPICXX " export MPI_ARCH_INC="-isystem $MPI_ROOT/include64" export MPI_ARCH_LIBS="-L$MPI_ROOT/lib64" export C_INCLUDE_PATH+=:/share/libs/mpfr/402_gcc51/include/ export MPFR_ARCH_PATH=/share/libs/mpfr/402_gcc51 export GMP_ARCH_PATH=/share/libs/gmp/612_gcc51
  • prepare wmake/rules/General/mplibINTELMPI
  • Edit wmake/rules/linux64Icc
  • configure etc/bashrc as Icc, INTELMPI
  • source etc/bashrc; ./Allmake -j 32