最小のプログラム2018年4月12日 | |
はじめにOpenFOAM を使った最小のプログラムを作ってみる。 バージョンOpenFOAM v1712 最小のプログラムOpenFOAM を使ってできる、最小のプログラムは何かと考えたら、"Hello, world!" がお約束かなと思う。OpenFOAM では独自の出力ストリームが提供されているので、それで "hello." と出力するプログラムを作ってみる。 OpenFOAM のプログラム構成OpenFOAM のソースコードは wmake コマンドでコンパイルする。そのためにはソースコードの他に、Make ディレクトリとその中に files、options の 2 つのファイルが必要である。ソースコードを hello.C とすると、プログラム全体の構成は以下のようになる。
files ではコンパイルするソースコードとプログラムのパスを指定する。 Make/files hello.C EXE = ./hello コンパイルすると、カレントディレクトリに "hello" という実行ファイルができる。どこでも実行できるように OpenFOAM のユーザー用バスに入れるには、"$(FOAM_USER_APPBIN)/hello" などとすればよい。 options ではインクルードファイルやライプラリのパスを指定する。今回は空のファイルでよいのだが、一応ちゃんと書くと次のようになる。 options EXE_INC = EXE_LIBS = あとは hello.C を用意するのみである。 プログラム今回のプログラムは以下のとおりである。 hello.C
#include "messageStream.H"
using namespace Foam;
int main(int argc, char *argv[])
{
Info<< "hello." << endl;
return 0;
}
std::cout のように使える Foam::Info というものがあるので、それで文字列を出力する。改行も std::endl ならぬ Foam::endl である。 簡単に書くならば fvCFD.H をインクルードするだけでよいのだが、それだと色々と不要なファイルをインクルードしてしまうので、必要最低限のコードという意味で上記のようにした。 コンパイルコンパイルするには wmake を実行する。 $ wmake | |
| PENGUINITIS | |