ゼロから始める OpenFOAM @ Windows [04]
より具体的に作業をトレースします。
【インストール時のエラー : MS-MPI の重複】
“MS-MPI Installation failed with error code 50. A version of MPI that is same or newer is already installed.”
このエラーが発生すると、インストーラーは中断する。これが問題かも。
インストール時のオプションのMPI(MS-MPI 7.1)インストール(recommended)を解除して再インストール。これでインストーラーを最後まで実行してすべて解決か、と思いましたが、残念。
【ターミナルの配色】
最初に、ターミナルのデフォルト配色は老人には厳しい配色なので、端末内バックグランドで右クリックして、Optionメニューの外見(looks)から、背景色をブラウンかネイビー、前景色を白あたりに設定しておきます。
【フォルダ構成】
検証のため一旦アンインストールして再インストールしました。ホームディレクトリィには以下のようなファイル構成でプログラムが入っています。
user@MACHINENAME MINGW64 OpenFOAM-5.x ~
$ ls -al
合計 45
drwxr-xr-x 1 user なし 0 4月 24 10:52 .
drwxr-xr-x 1 user なし 0 4月 17 21:39 ..
-rw-r–r– 1 user なし 40 4月 23 20:37 .bash_history
-rw-r–r– 1 user なし 76 9月 14 2017 .bash_profile
-rw-r–r– 1 user なし 1237 9月 26 2017 .bashrc
drwxr-xr-x 1 user なし 0 4月 17 22:05 .bashrc.d
drwxr-xr-x 1 user なし 0 4月 17 21:59 .blueCFDCore
-rw-r–r– 1 user なし 33 4月 23 19:25 .blueCFDOrigin
-rw-r–r– 1 user なし 121 4月 23 21:35 .defaultCore
-rw-r–r– 1 user なし 889 9月 14 2017 .inputrc
-rw-r–r– 1 user なし 92 9月 14 2017 .minttyrc
-rw-r–r– 1 user なし 78 9月 14 2017 .profile
-rw-r–r– 1 user なし 32 9月 14 2017 .pythonrc
drwxrwx— 1 Administrators なし 0 4月 17 22:05 AddOns
drwxrwx— 1 Administrators なし 0 4月 23 19:47 blueCFD
-rw-r–r– 1 user なし 3108 10月 13 2017 changedefmpi.bat
-rw-r–r– 1 user なし 186 4月 23 19:43 defaultmpi.sh
-rw-r–r– 1 user なし 1637 9月 14 2017 mountBlueCFD
-rw-r–r– 1 user なし 178 9月 14 2017 README.TXT
-rw-r–r– 1 user なし 9617 9月 14 2017 sourceOF
【作業用フォルダの作成とコピー】
チュートリアルを 作業ディレクトリィ “MyOenFOAM” を作成、そこにコピーしてから作業開始します。大文字小文字とOpenFORM と打ち間違わないようにして。。。^^;
なお、$HOME など環境変数も利用できますので適宜利用。
$ mkdir MyOenFOAM ←チュートリアルの練習用の作業フォルダ作成
$ cd MyOpenFOAM ←作成フォルダに移動
$ mkdir sampleCAVITY ← さらに cavity のコピーを置くフォルダ作成$ cd /home//ofuser/blueCFD/OpenFOAM-5.x/tutorials/incompressible/icoFoam/cavity/cavity ← チュートリアルのフォルダ内に移動
$ cp -R * /home/ofuser/MyOpenFOAM/sampleCAVITY ←その中のファイルを再帰的に全部コピー
$ cd /home/ofuser/MyOpenFOAM/sampleCAVITY ←作業フォルダーに移動
$ ls -al ← コピーされているか表示して確認
【メッシュ作成 — blockMesh の実行】[01]
blockMesh を実行して見ると、プログラムが見つからないといわれる。。。。blockMesh.exe を見つけて実行すると今度はライブラリがないと言われます。
$ /home/ofuser/blueCFD/OpenFOAM-5.x/platforms/mingw_w64GccDPInt32Opt/bin/blockMesh.exe
C:/AP/Develop/BLUECF~1/BLUECF~1/OpenFOAM-5.x/platforms/mingw_w64GccDPInt32Opt/bin/blockMesh.exe: error while loading shared libraries: libPstream.dll: cannot open shared object file: No such file or directory
これはパスの問題なのでしょうか、というか、Windows用の実行ファイルを実行してしまっていそうです。時間を見ながら調査中です。ちなみに在処は以下の通り。[02へ]
$ du -a | grep libPstream.dll
28 ./blueCFD/OpenFOAM-5.x/platforms/mingw_w64GccDPInt32Opt/lib/dummy/libPstream.dll
60 ./blueCFD/OpenFOAM-5.x/platforms/mingw_w64GccDPInt32Opt/lib/MS-MPI-7.1/libPstream.dll
【paraFOAM (paraView) の実行】[01]
さらに paraView の実行についても、エラーが出て、これは作業手順ファイルを修正して再コンパイルするとよいらしいのですが、Windows ユーザー的には面倒です。
$ paraFOAM
FATAL ERROR: ParaView reader module libraries do not exist
Please build the reader module before continuing:
cd $FOAM_UTILITIES/postProcessing/graphics/PVReaders
./Allwclean
./Allwmake
$ cd $FOAM_UTILITIES/postProcessing/graphics/PVReaders
$ ALLwclean
wclean libso vtkPVblockMesh
wclean libso vtkPVFoam
$ Allwmake -all
Allwmake applications/utilities/postProcessing/graphics/PVReaders
Default: don’t build plugins for ParaView on Windows.
うーん、一番最初の頃に動いたのは全くのビギナーズラックのようです。 >_<
追記1
【メッシュ作成 — blockMesh の実行】[02]
さて、blueCFD の,5.6.0 Window 64bits用 をインストールして再起動後、再度端末を起動すると、以下のように、blockMesh, icoFORM はすんなりと動きました。
$ pwd
/home/ofuser
$ cd MyOpenFOAM
$ cd sampleCAVITY
$ blockMesh
/*—————————————————————————*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 5.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*—————————————————————————*/
/* Windows 32 and 64 bit porting by blueCAPE: http://www.bluecape.com.pt *\
| Based on Windows porting (2.0.x v4) by Symscape: http://www.symscape.com |
\*—————————————————————————*/
Build : 5.x-963176928289
Exec : C:/AP/Develop/BLUECF~1/BLUECF~1/OpenFOAM-5.x/platforms/mingw_w64GccDPInt32Opt/bin/blockMesh.exe
Date : Apr 24 2019
Time : 18:34:46
Host : “MACHINENAME”
PID : 14340
I/O : uncollated
Case : C:/AP/…../MyOpenFOAM/sampleCAVITY
nProcs : 1
SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10)
allowSystemOperations : Allowing user-supplied system call operations
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time
Creating block mesh from
“C:/AP/……/MyOpenFOAM/sampleCAVITY/system/blockMeshDict”
Creating block edges
No non-planar block faces defined
Creating topology blocks
Creating topology patches
Creating block mesh topology
Check topology
Basic statistics
Number of internal faces : 0
Number of boundary faces : 6
Number of defined boundary faces : 6
Number of undefined boundary faces : 0
Checking patch -> block consistency
Creating block offsets
Creating merge list .
Creating polyMesh from blockMesh
Creating patches
Creating cells
Creating points with scale 0.1
Block 0 cell size :
i : 0.005 .. 0.005
j : 0.005 .. 0.005
k : 0.01 .. 0.01
Writing polyMesh
—————-
Mesh Information
—————-
boundingBox: (0 0 0) (0.1 0.1 0.01)
nPoints: 882
nCells: 400
nFaces: 1640
nInternalFaces: 760
—————-
Patches
—————-
patch 0 (start: 760 size: 20) name: movingWall
patch 1 (start: 780 size: 60) name: fixedWalls
patch 2 (start: 840 size: 800) name: frontAndBack
End
$ icoFOAM
/*—————————————————————————*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 5.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*—————————————————————————*/
/* Windows 32 and 64 bit porting by blueCAPE: http://www.bluecape.com.pt *\
| Based on Windows porting (2.0.x v4) by Symscape: http://www.symscape.com |
\*—————————————————————————*/
Build : 5.x-963176928289
Exec : C:/AP/………../mingw_w64GccDPInt32Opt/bin/icoFOAM.exe
Date : Apr 24 2019
Time : 18:35:49
Host : “MACHINENAME”
PID : 15724
I/O : uncollated
Case : C:/AP/…………./MyOpenFOAM/sampleCAVITY
nProcs : 1
SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10)
allowSystemOperations : Allowing user-supplied system call operations
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time
Create mesh for time = 0
PISO: Operating solver in PISO mode
Reading transportProperties
Reading field p
Reading field U
Reading/calculating face flux field phi
Starting time loop
Time = 0.005
Courant Number mean: 0 max: 0
smoothSolver: Solving for Ux, Initial residual = 1, Final residual = 8.90511e-006, No Iterations 19
smoothSolver: Solving for Uy, Initial residual = 0, Final residual = 0, No Iterations 0
DICPCG: Solving for p, Initial residual = 1, Final residual = 0.0492854, No Iterations 12
time step continuity errors : sum local = 0.000466513, global = -1.79995e-019, cumulative = -1.79995e-019
DICPCG: Solving for p, Initial residual = 0.590864, Final residual = 2.65225e-007, No Iterations 35
time step continuity errors : sum local = 2.74685e-009, global = -2.6445e-019, cumulative = -4.44444e-019
ExecutionTime = 0.531 s ClockTime = 1 s
Time = 0.01
:
:
Time = 0.5
Courant Number mean: 0.222158 max: 0.852134
smoothSolver: Solving for Ux, Initial residual = 2.3091e-007, Final residual = 2.3091e-007, No Iterations 0
smoothSolver: Solving for Uy, Initial residual = 5.0684e-007, Final residual = 5.0684e-007, No Iterations 0
DICPCG: Solving for p, Initial residual = 8.63844e-007, Final residual = 8.63844e-007, No Iterations 0
time step continuity errors : sum local = 8.8828e-009, global = 4.94571e-019, cumulative = 1.10417e-017
DICPCG: Solving for p, Initial residual = 9.59103e-007, Final residual = 9.59103e-007, No Iterations 0
time step continuity errors : sum local = 9.66354e-009, global = 1.13175e-018, cumulative = 1.21735e-017
ExecutionTime = 1.629 s ClockTime = 2 s
End
以上のように実行できました。ただ、blockMesh の結果や計算結果の可視化のための paraFORM のエラーは、相変わらずです。問題がひとつに絞れました。
といいつつも、端末を再起動するとパスの設定が消えてしまうようです。blockMesh も icoFOAM も元通りです。仕様がビギナーズラック仕様です。.bashrc ではなく、ほかのファイルを読み込んで設定するところが、起動時にトラブっているようです。ま、もともとファイルが見つからないのはそれが原因しかなさそうですが、設定ファイルがどこにあるのか探して当然ながら常に実行できるようにしないといけないようです。しかし、、、^^;;[03へ]
追記2
【メッシュ作成 — blockMesh の実行】[03]
環境変数の設定は、どこから実行しているのかは現時点ではわかりませんでした。.bashrc も .bash_profile(= .profile と中身は同じ)を実行してもダメでした。 が、以下のようなメッセージがあるので、その指示通りにすれば、環境は復活できます。
:
:
Environment is now ready. Notes:
– You can change between installed versions by running: ofmenu
– You can change to other predefined versions by running: ofmenuNew
WARNING: No environment was activated.
You can start any of the installed environments by running: ofmenu
You can start any of the other predefined environments by running: ofmenuNew
$
$ ofmenu
————– Setting up OpenFOAM variables ————–
— Current MPI chosen for parallel operations: MSMPI71
Choose one option for selecting the build architecture:
1 – OpenFOAM 5.x mingw-w64 Double Precision (of5-64)
Choose one of the numbers 1 to 1 (any other for none) then press Enter:
1
Setting environment for OpenFOAM 5.x mingw-w64 Double Precision (of5-64), using MSMPI71 – please wait…
これでその後はうまくいきました。
# 再度再インストールしたら paraFoam がうまくいかない・・・TqT
相変わらず、paraFOAM の起動がうまくいかないですが、blueCFDインストール時にMPI が既にインストールされているというメッセージウインドウのあと、OK を選択するとそれ以降のインストールを実行していないような挙動が見られます。ここが少し気になります。
環境変数にある MPI_HOME の内容を見ると
/home/ofuser/blueCFD/ThirdParty-5.x/MS-MPI-7.1…
となっていますが、そもそもこのフォルダは存在しません。これが関係しているようです、、、よね。でも、MPIはまだ先の話なのに。仮想環境は Windows ファイルシステムと関係ないようで、うまく渡り歩いているようで、初心者には混乱の極みです。
paraView の問題が、画面を見るとグラフィクスの部分が失敗しているようなので、OpenGL の対応を調べる必要があるようです。
<– 結局は、オンボードのグラフィックが OpenGL3 未対応、ということのようでした。ようやくグラボを入手して実行すると、とりあえずはいけそうです。
blueCFD のサイトでも、環境によっては OpenGL 2 のバージョンに戻す方法が以下のように記載されています。
ParaViewの他のバージョンをインストールまたは使用する方法
理由
ParaViewの他のバージョンを使用したい理由は主に2つあります。
起動した直後にParaViewがクラッシュした場合は、お使いのマシンのGPU /グラフィックカードがOpenGL 2をサポートしていないか、そのGPU用に現在インストールされているドライバがOpenGL 2を正しくサポートしていない可能性があります。
このシナリオでは、OpenGL 1.xをサポートしたWindows用の最後のビルド済みバージョンであるParaView 4.4.0をインストールするのが最善です。
blueCFD-Coreで提供されるParaViewのバージョンが最新バージョンではない場合
解決方法
少なくとも2つの解決策があります。
BlueCFD-CoreでParaViewのインストールを置き換える
ParaViewの既存のインストールを使用する
注:どちらの方法でも、blueCFD-Coreインストーラーを介してParaViewをインストールしておく必要があります。これにより、環境が自動的にblueCFD-Core端末にロードされ、ParaViewを端末のコマンド行から起動できるようになります。
解決策1 – blueCFD-CoreのParaViewのインストールを置き換える
blueCFD-Coreターミナルを起動します。
端末で次のコマンドを実行します。
cd ~/AddOns/
管理者権限が必要になる可能性があるため、次の手順を対話的に実行する必要があるため、Windowsエクスプローラを起動します。
explorer .
コマンドは次のとおりですexplorer 。space dot
Windowsエクスプローラが開き、AddOns フォルダの内容が表示されます。
フォルダの内容を変更するか削除してくださいParaView。ParaViewParaViewインストーラーで使用できるように、新しいフォルダーを作成することを忘れないでください。
これでParaViewフォルダの中に入り、アドレスバーからフルパスをコピーしてParaViewのインストール中にそれを使うことができます。下記はWindows 10からのアドレスバーです。パスの右側をクリックして、以下に示す編集モードになるようにしてください。
パスのコピー元の例
以下の図に示すように、使用したいバージョンのParaViewインストーラを実行し、正しいパスが使用されていることを確認してください。
インストールパスを変更する場所の例
ParaViewがインストールされたら、blueCFD-Coreターミナルから使用する準備ができているはずです。
解決策2 – ParaViewの既存のインストールを使用する
注:この解決策を使用することの欠点は、ファイル拡張子.foamが自動的にWindowsに登録されてこのバージョンのParaViewで開くことができないことです。
例として、ParaView 4.4がフォルダにインストールされている場合を使用します C:\Program Files\ParaView 4.4.0。
blueCFD-Coreターミナルを起動します。
端末で次のコマンドを実行します。
nano ~/.bashrc.d/paraview.sh
Notepad2のウィンドウでファイルを開くはずです。
42行目に移動して、この行を変更します。
export AddOns_ParaView_DIR=$HOME/AddOns/ParaView
この行に:
export AddOns_ParaView_DIR=”/c/Program Files/ParaView 4.4.0″
ファイル(メニューFile –> Save)を保存してNotepad2ウィンドウを閉じます。
キーの組み合わせAlt+F2を使用して新しい端末を起動してください。エラーメッセージがない場合は、古い端末を閉じることができます。
今、コマンドたびのparaviewかがparaFoam実行され、あるParaView 4.4常に開く必要があります。
以前動いた ノートパソコン (ASUS ZenBook intel CORE )たしかに sundybridge ではあるけど OpenGL 3.1 に対応しているはず。。。 なんですが。でもまぁ、環境がうまくいっていない原因はインストーラーにもありそうで、調べていると、blueCAPEオフィシャルサイトの以下の記述にありなすた。これが原因なのでしょうか。
「たとえば、Intel製の最新のドライバ がインストールされるまで、CPU i5-2410mを搭載し、Windows 7 x64を実行しているラップトップは、ParaView 5.1.2を正しく実行していないと報告 されています。ただし、たとえば、Intel CPU i3-350mはOpenGL 2.1をサポートしていますが、ParaViewが正しく機能するために必要なすべての機能を提供するわけではありません。したがって、ParaView 5.1.2はこの世代のCPU / GPUでは正しく動作しない可能性があります。」
近日中に、グラフィックボードを買い足すか、久しぶりに一つ、パソコンを組むしかなさそうです。
$ paraView
ERROR: In C:\bbd\5105004d\source-paraview\VTK\Rendering\OpenGL2\vtkWin32OpenGLRenderWindow.cxx, line 663
vtkWin32OpenGLRenderWindow (000002CE4DBC2010): We have determined that your graphics system is an Intel SandyBridge based system. These systems only partially support VTK. If you encounter any issues please make sure your graphics drivers from Intel are up to date.
継続して調査中。