内容へ移動
Penguin's Coffee Break
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
openfoam:v8
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== OpenFOAM v8 ====== ===== Ubuntu 18.04 ===== ==== 管理者権限を所有する場合(その1) ==== パッケージからインストールをする手順. <code> # sh -c "wget -O - https://dl.openfoam.org/gpg.key | apt-key add -" # add-apt-repository http://dl.openfoam.org/ubuntu # apt-get update # apt-get -y install openfoam8 </code> ==== 管理者権限を所有する場合(その2) ==== === 1. 必要なライブラリをインストール=== * OpenFOAMに必要なパッケージ <code> # apt-get install build-essential flex bison git-core cmake zlib1g-dev libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-dev </code> * ParaViewに必要なパッケージ <code> # apt-get install libqt5x11extras5-dev libxt-dev qt5-default qttools5-dev curl </code> === 2. OpenFOAMをダウンロード&ディレクトリ名変更=== ディレクトリ名はインストーラのスクリプトで利用されるため,ディレクトリ名を変更したい場合,インストーラの中身を編集する必要がある. <code> $ mkdir -p $HOME/OpenFOAM $ cd OpenFOAM $ wget -O - http://dl.openfoam.org/source/8 | tar xvz $ mv OpenFOAM-8-version-8 OpenFOAM-8 $ wget -O - http://dl.openfoam.org/third-party/8 | tar xvz $ mv ThirdParty-8-version-8 ThirdParty-8 </code> wgetがリンク切れの場合,以下からダウンロード. * {{ :openfoam:openfoam-8.tar.xz |}} * {{ :openfoam:thirdparty-8.tar.xz |}} === 3. インストールの設定 === * デフォルトのインストール先は$HOME/OpenFOAMである.インストールディレクトリを変更したい場合,[[v8#インストールディレクトリの変更|インストールディレクトリの変更]]を参照. * === 4. 環境変数等の設定読み込み === <code> $ unset C_INCLUDE_PATH CPLUS_INCLUDE_PATH G_BROKEN_FILENAMES G_FILENAME_ENCODING $ source $HOME/OpenFOAM/OpenFOAM-8/etc/bashrc </code> 並列ビルドのため,WM_NCOMPPROCに並列プロセス数を設定可能である.WM_NCOMPPROCSが定義されていない場合,1プロセスでビルドされる. <code> $ export WM_NCOMPPROCS=8 </code> === 5. Third partyライブラリのインストール=== <code> $ foam $ cd ../ThirdParty-8 $ ./Allwmake $ ./makeParaView $ wmRefresh </code> === 6. OpenFOAMのインストール === <code> $ foam $ ./Allwmake </code> ==== 管理者権限を所有しない場合 ==== ==== 必須ライブラリ ==== 管理者権限を所有しない場合でも,gccなどの最低限のライブラリは必須. 最低限のライブラリは以下によりインストール. <code> # apt install build-essential </code> 未記載 ==== 設定ファイルの編集 ==== === インストールディレクトリの変更 === /path/to/install/OpenFOAM-<ver>/etc/bashrcの一部を以下のように編集 <code> [ "$BASH" -o "$ZSH_NAME" ] && \ export FOAM_INST_DIR=$(cd $(dirname ${BASH_SOURCE:-$0})/../.. && pwd -P) || \ export FOAM_INST_DIR=/path/to/install # export FOAM_INST_DIR=$HOME/$WM_PROJECT # export FOAM_INST_DIR=~$WM_PROJECT # export FOAM_INST_DIR=/opt/$WM_PROJECT # export FOAM_INST_DIR=/usr/local/$WM_PROJECT </code> === コンパイラの変更 === <color #ed1c24>Note: コンパイラを変更する場合,それに依存するライブラリのコンパイラも変更する必要がある</color> 自分用のコンパイラとして,MyCompilerを設定する.ここでは,OpenFOAMのインストールディレクトリは/path/to/install/,versionは<ver>と記載する. a. /path/to/install/OpenFOAM-<ver>/etc/bashrcの一部を以下のように編集 <code> ... #export WM_COMPILER=Gcc export WM_COMPILER=MyCompiler ... </code> b. /path/to/install/OpenFOAM-<ver>/etc/config.sh/compilerを以下のように編集 <code> case "$WM_COMPILER" in MyCompiler) export WM_CC='gcc-10' export WM_CXX='g++-10' ;; esac </code> c. MyCompiler用のwakeルールを作成 <code> $ cp -r /path/to/install/OpenFOAM-<ver>/wmake/rules/linux64Gcc /path/to/install/OpenFOAM-<ver>/wmake/rules/linux64MyCompiler </code> c-1. /path/to/install/OpenFOAM-<ver>/wmake/rules/linux64MyCompiler/cを以下のように編集. <code> ... cc = ${WM_CC} -m64 ... </code> c-2. /path/to/install/OpenFOAM-<ver>/wmake/rules/linux64MyCompiler/c++を以下のように編集. <code> ... CC = ${WM_CXX} -std=c++11 -m64 ... </code> === MPIライブラリの変更 === デフォルトでは"etc/bashrc"には"WM_MPLIB=SYSTEMOPENMPI"が設定されており,システムのmpicc, mpic++を使用する. 任意のパスに置かれたMPIライブラリを使用する方法を記載する. b. /path/to/install/OpenFOAM-<ver>/etc/bashrcの一部を以下のように編集 <code> ... # export WM_MPLIB=SYSTEMOPENMPI export WM_MPLIB=MPI ... </code> b. /path/to/install/OpenFOAM-<ver>/etc/config.sh/mpiの一部を以下のように編集 <code> ... MPI) export FOAM_MPI=mpi export MPI_ARCH_PATH=/opt/mpi export MPI_ARCH_FLAGS="-DOMPI_SKIP_MPICXX" export MPI_ARCH_INC="-isystem $MPI_ARCH_PATH/include" export MPI_ARCH_LIBS="-L$MPI_ARCH_PATH/lib -lmpi" _foamAddPath $MPI_ARCH_PATH/bin _foamAddLib $MPI_ARCH_PATH/lib ;; ... </code> c. /path/to/install/OpenFOAM-<ver>/OpenFOAM-8/wmake/rules/General/mplibMPIを以下のように編集. <code> PFLAGS = ${MPI_ARCH_FLAGS} PINC = ${MPI_ARCH_INC} PLIBS = ${MPI_ARCH_LIBS} </code> === SCOTCHライブラリの変更 === /path/to/install/OpenFOAM-<ver>/etc/config.sh/scotchを編集.(scotch version 6.1.0の場合) <code> export SCOTCH_VERSION=scotch_6.1.0 export SCOTCH_ARCH_PATH=/opt/scotch/v6.1.0 </code> === zlib === a. /path/to/install/OpenFOAM-<ver>/src/OpenFOAM/Make/optionsを次のように変更. <code> EXE_INC = \ -I$(OBJECTS_DIR) \ -I/opt/zlib/1.2.11/include LIB_LIBS = \ $(FOAM_LIBBIN)/libOSspecific.o \ -L$(FOAM_LIBBIN)/dummy -lPstream \ -L/opt/zlib/1.2.11/lib/ -lz </code> b. lnIncludeにシンボリックリンクを作成. -lOpenFOAMを参照する場合,zlibのヘッダのインクルードが必要である. 依存関係のインクルードを簡便化するためにlnIncludeが用意されており,そこにシンボリックリンクを作成することでインクルードの問題が解消される. <code> $ ln -s /opt/zlib/1.2.11/include/zlib.h zlib.h $ ln -s /opt/zlib/1.2.11/include/zconf.h zconf.h </code> これはスクリプト内に記述すべき.wmake OpenFOAMのあとかな === flexの変更 === a. /path/to/install/OpenFOAM-<ver>/wmake/src/Makefileを編集. <code> ... $E /opt/flex/2.6.4/bin/flex wmkdep.l; \ ... </code> b. /path/to/install/OpenFOAM-<ver>/wmake/rules/General/flexを編集. <code> SUFFIXES += .l ltoo = $E $(call QUIET_MESSAGE,flex,$(<F)) \ $(WM_SCHEDULER) /opt/flex/2.6.4/bin/flex -o $(@D)/$(<F).c $< $(AND) \ $(cc) $(cFLAGS) -c $(@D)/$(<F).c -o $@ </code> c. /path/to/install/OpenFOAM-<ver>/wmake/rules/General/flex++を編集. <code> SUFFIXES += .L Ltoo = $E $(call QUIET_MESSAGE,flex++,$(<F)) \ $(WM_SCHEDULER) /opt/flex/2.6.4/bin/flex -+ -o$(@D)/$(<F).C -f $< $(AND) \ $(CC) $(c++FLAGS) $(c++LESSWARN) -I/opt/flex/2.6.4/include -c $(@D)/$(<F).C -o $@ </code> d. /path/to/install/OpenFOAM-<ver>/applications/utilities/thermophysical/chemkinToFoam/Make/optionsを編集 <code> EXE_INC = \ -IchemkinReader \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ -I/opt/flex/2.6.4/include - EXE_LIBS = \ -lchemistryModel </code>
openfoam/v8.txt
· 最終更新: 2021/01/12 09:09 by
michiya
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ