centOS6.5下openfoam-2.4.0安裝及並行實現

在華爲雲進行openfoam並行測試,採用nfs共享進行openfoam-2.4.0的安裝並行。

系統爲centOS6.5,只支持openfoam-2.4.0以下版本的源代碼編譯。

參考:

https://blog.csdn.net/ztq157677114/article/details/49819925

  1. 安裝包準備 
    所需程序安裝包包括
    Openfoam-2.4.0、Thirdparty-2.4.0
    依賴庫安裝包包括:
    gcc-4.8.5,gmp-5.1.2,mpfr-3.1.2,mpc-1.0.1,boost-1.55.0,llvm-3.4.src.tar.gz, qt-everywhere-opensource-src-4.7.3.tar.gz
    並行安裝包
    Mpich-3.3或openmpi-1.8.5,openfoam第三方庫中的openmpi-1.8.5有問題,需要重新下載。採用mpich並行需要修改openfoam-2.4.0/etc/config下的setting.sh文件以及openfoam-2.4.0/etc/bashrc文件。
  2. 安裝步驟
    a) 創建路徑,解壓縮。安裝目錄/opt/OpenFOAM。
        /opt/OpenFOAM爲安裝包默認安裝路徑,嘗試過修改爲其他路徑,但總是出現腳本路徑報錯。腳本中路徑邏輯關係太煩了,就用的默認路徑。
        mkdir /opt/OpenFOAM
        tar -zxf OpenFOAM-2.4.0.tgz -C /opt/OpenFOAM/
        tar -zxf ThirdParty-2.4.0.tgz -C /opt/OpenFOAM/
        cd /opt/OpenFOAM
    b) 修改配置文件
        需要修改的文件有兩個,分別是位於/opt/OpenFOAM/OpenFOAM-2.4.0/etc/bashrc和/opt/OpenFOAM/OpenFOAM-2.4.0/etc/config/settings.sh。


    foamInstall 修改文件安裝目錄
    foamCompiler 選擇編譯器,ThirdParty表示採用ThirdParty中的第三方編譯器及其他庫來進行編譯。Openfoam不支持混合編譯,如gcc用系統自帶,cgal用thirdParty中的軟件,這種不支持。需要全部用系統自帶或者全部爲第三方庫。
    雖然我安裝服務器爲centOS中gcc爲4.8.5,但依然選用ThirdParty
    WM_MPLIB=MPICH,選擇並行軟件,默認systemOpenMPI。選擇openmpi,默認版本爲1.8.5。我在安裝時openmpi-1.8.5不能實現並行,無論是採用thirdParty自帶openmpi或者官方下載的openmpi。根據官方論壇所述,系統自帶openmpi存在問題,在2.4.5後續版本已經修復。
    選擇MPICH,系統默認版本爲mpich2-1.1.1p1,需要在setting.sh中修改爲mpich3.3。安裝時要保持文件夾名稱一致。

setting.sh

 

  1. 修改ThirdParty下依賴庫版本號
  2. 修改MPICH下並行軟件版本號

注意:嚴格按照settings.sh文件中規定的版本下載相應的包並解壓到ThirdParty目錄下,解壓後的名字和圖片中的一致。需要下載的包有gcc-4.8.2,mpfr-3.1.2, gmp-5.1.2, mpc-1.0.1, boost-1.55.0,llvm-3.4.src.tar.gz,qt-everywhere-opensource-src-4.7.3.tar.gz

加入環境變量:

vim ~/.bashrc

source /opt/OpenFOAM/OpenFOAM-2.4.0/etc/bashrc

export PLATFORM=/opt/OpenFOAM/ThirdParty-2.4.0/platforms

關閉.bashrc

生效source ~/.bashrc

配置完成 開始編譯

  1. 編譯gcc
    cd /opt/OpenFOAM/ThirdParty-2.4.0
    tar -jxvf gcc-4.8.5.tar.bz2
    mkdir gcc-4.8.5
    進入安裝目錄
    ./configure –prefix=/opt/OpenFOAM/ ThirdParty-2.4.0/ gcc-4.8.5
    make
    make install
    gcc –v     ###正確後將編譯後文件拷貝到$PLATFORM/linux64/gcc-4.8.5/目錄
    vim /root/.bashrc    //加入環境變量
    export PATH=$PLATFORM/linux64/gcc-4.8.5/bin:$PATH
    LD_LIBRARY_PATH=$PLATFORM/linux64/gcc4.8.5/lib:$PLATFORM/lnux64/gcc4.8.2/lib64:$PLATFORM/linux64/mpc1.0.1/lib:$PLATFORM/linux64/mpfr-3.1.2/lib:$PLATFORM/linux64/gmp5.1.2/lib:$LD_LIBRARY_PATH
    export LD_LIBRAYR_PATH
    ###保存退出
    source /root/.bashrc
    安裝完成查看版本gcc –version,若爲4.8.5則安裝成功
  2. 編譯cmake
    ./makeCmake
    編譯成功後,添加環境變量
    export PATH=$PLATFORM/linux64Gcc/cmake-2.8.12.1/bin:$PATH
    若自帶腳本編譯不成功,可獨立編譯。參考gcc編譯過程
  3. 編譯cgal
    makeCGAL的軟件安裝包名稱需要修改。


    ./makeCGAL
    export PATH=$PLATFORM/linux64Gcc/CGAL-4.6/bin:$PATH
    export LD_LIBRARY_PATH=$PLATFORM/linux64Gcc/CGAL4.6/lib:$LD_LIBRARY_PATH
  4. 編譯llvm
    ./makeLLVM
    export PATH=$PLATFORM/linux64/llvm-3.4/bin:$PATH
    export LD_LIBRARY_PATH=$PLATFORM/linux64/llvm-3.4/lib:$LD_LIBRARY_PATH
  5. 編譯qt
    ./makeQt
    export PATH=$PLATFORM/linux64Gcc/qt-4.7.3/bin:$PATH
    export LD_LIBRARY_PATH=$PLATFORM/linux64Gcc/qt-4.7.3/lib:$LD_LIBRARY_PATH
  6. 編譯Scotch
    cd /opt/OpenFOAM/ThirdParty-2.4.0/scotch_6.0.3/src
    make
    make install
    完成後將編譯後文件夾拷貝到$PLATFORM/linux64/ scotch_6.0.3/目錄
    或者./Allwmake 編譯
  7. 編譯mpich-3.3
    進入安裝文件夾
    ./configure  --prefix=/opt/OpenFOAM/ ThirdParty-2.4.0/ mpich-3.3
    make
    make install
    export PATH=$PLATFORM/linux64Gcc/mpich2-1.1.1p1/bin:$PATH
    export LD_LIBRARY_PATH=$PLATFORM/linux64Gcc/mpich2-1.1.1p1/include: $LD_LIBRARY_PATH
    測試是否成功: whereis mpirun 顯示安裝目錄則成功
  8. OpenFOAM編譯
    cd /opt/OpenFOAM/OpenFOAM-2.4.0
    ./Allwmake
    編譯成功,若需日誌,可採用./Allwmake >allmake.log  2>&1 &
     
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章