最小のプログラム

2018年4月12日

はじめに

OpenFOAM を使った最小のプログラムを作ってみる。

バージョン

OpenFOAM v1712

最小のプログラム

OpenFOAM を使ってできる、最小のプログラムは何かと考えたら、"Hello, world!" がお約束かなと思う。OpenFOAM では独自の出力ストリームが提供されているので、それで "hello." と出力するプログラムを作ってみる。

OpenFOAM のプログラム構成

OpenFOAM のソースコードは wmake コマンドでコンパイルする。そのためにはソースコードの他に、Make ディレクトリとその中に files、options の 2 つのファイルが必要である。ソースコードを hello.C とすると、プログラム全体の構成は以下のようになる。

  • Make/files
  • Make/options
  • 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

もっと! OpenFOAM たんけんたい 目次へ