スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[CFD備忘録] CGNS Version 3.0.8 のインストール方法(Ubuntu 64bit)

●記事修正
(2011/2/18) インストール先を「/usr/local」から「/opt」に変更しました。
        記事だけ修正し、インストールは再検証していません。

●関連記事

[CFD備忘録] CGNS Version 3.0.8 のインストール方法(Windows XP 32bit)

[CFD備忘録] CGNS Version 2.5-4 のインストール方法(Ubuntu 64bit)
[CFD備忘録] CGNS Version 2.5-4 のインストール方法(Windows XP 32bit)

●インストールの(私の)方針

今回インストールするのは、ベータバージョンの CGNS Version 3.0.8 である。
CGNSライブラリ(cgnslib)と CGNSツール(cgnstools)の両方をインストールすることにする。

インストール先ディレクトリは任意だが、今回は以下のディレクトリにインストールすることにする。
・Tcl/Tk         /opt/tcl8.5.9
             ← シンボリックリンク /opt/tcl
・HDF5、szip、zlib    /opt/hdf5-1.8.5-patch1
             ← シンボリックリンク /opt/hdf5
・CGNS 3.0.8       /opt/cgns_3.0.8
             ← シンボリックリンク /opt/cgns3

●可視化

私の使用環境では、ADF版とHDF5版のいずれのCGNSファイルも、可視化できなかった。
可視化ソフト用にファイルフォーマットを変換すれば、可視化は可能だろう。
CGNSツールの中に、変換プログラムがあるかもしれない。

●cgns-3.0.8の注意点

現象:
CGNSツールに、正しく動かないプログラムがあった。

原因:
「cgnslib.h」で定義されているenum「ElementType_t」に、新たに「PYRA_13」が加わっている。
そのため、「PYRA_13」以降の数字が、CGNSの旧バージョンと比べて1ずつずれるため、cgnstoolsの「cgnsutil.c」で定義されている配列「element_node_counts」へのアクセスが正しく行われなくなる。
従って、「cgnsutil.c」とリンクしているプログラムは正しく動かない。

●コンパイラ

「gcc 4.4.3」を使用した。

●HDF5、szip、zlibの入手先
入手先:http://www.hdfgroup.org/HDF5/
  「hdf5-1.8.5-patch1.tar.gz」(ソース)、「szip-2.1.tar.gz」(ソース)、「zlib-1.2.5.tar.gz」(ソース)を入手した。

●szipのコンパイル/インストール(オプション。HDF5が内部的に使用するらしい)

①「szip-2.1.tar.gz」をホームディレクトリに置き、端末で以下を実行。
----------------------------- (begin) ---------------------------------------
cd
tar zxf szip-2.1.tar.gz
cd szip-2.1
./configure --prefix=/opt/hdf5-1.8.5-patch1
make
make check
sudo make install
------------------------------ (end) ----------------------------------------
「/opt/hdf5-1.8.5-patch1」の「include」「lib」の下に、sz関連のヘッダとライブラリがコピーされれば、インストール成功。

●zlibのコンパイル/インストール(オプション。HDF5が内部的に使用するらしい)

①「zlib-1.2.5.tar.gz」をホームディレクトリに置き、端末で以下を実行。
----------------------------- (begin) ---------------------------------------
cd
tar zxf zlib-1.2.5.tar.gz
cd zlib-1.2.5
./configure --prefix=/opt/hdf5-1.8.5-patch1
make
make check
sudo make install
------------------------------ (end) ----------------------------------------
「/opt/hdf5-1.8.5-patch1」の「include」「lib」の下に、zlib関連のヘッダとライブラリがコピーされれば、インストール成功。

●HDF5のコンパイル/インストール

①「hdf5-1.8.5-patch1.tar.gz」をホームディレクトリに置き、以下を実行。
----------------------------- (begin) ---------------------------------------
cd
tar zxf hdf5-1.8.5-patch1.tar.gz
cd hdf5-1.8.5-patch1
#./configure --help
./configure --prefix=/opt/hdf5-1.8.5-patch1 --with-zlib=/opt/hdf5-1.8.5-patch1 --with-szlib=/opt/hdf5-1.8.5-patch1
make
make check # 長時間かかるので、「PASSED」というメッセージを確認後、適当にCtrl-Cした
sudo make install
make check-install
------------------------------ (end) ----------------------------------------
「/opt/hdf5-1.8.5-patch1」の各サブディレクトリの下に、hdf5関連のファイルがコピーされれば、インストール成功。

②シンボリックリンクを張る
----------------------------- (begin) ---------------------------------------
cd /opt
sudo ln -s hdf5-1.8.5-patch1 hdf5
------------------------------ (end) ----------------------------------------

●Tclのインストール(CGNSツールを使用するなら必要)
入手先:http://www.tcl.tk/software/tcltk/download.html
  最新バージョン「tcl8.5.9-src.tar.gz」(ソース)と「tk8.5.9-src.tar.gz」(ソース)を入手した。

Tcl/TkをインストールせずにCGNSツールのインストールを試みると、makeしたとき以下のエラーが出た。
  adfwish.c:15:16: error: tk.h: No such file or directory
そこで、事前にTcl/Tkをインストールする。

① 「tcl8.5.9-src.tar.gz」をホームディレクトリに置き、以下を実行。
----------------------------- (begin) ---------------------------------------
cd
tar zxf tcl8.5.9-src.tar.gz
cd tcl8.5.9/unix
./configure --prefix=/opt/tcl8.5.9
make
sudo make install
------------------------------ (end) ----------------------------------------
「/opt/tcl8.5.9」の「bin」「include」「lib」の下に、tcl関連のファイルがコピーされれば、インストール成功。

② シンボリックリンクを張る
----------------------------- (begin) ---------------------------------------
cd /opt
sudo ln -s tcl8.5.9 tcl
------------------------------ (end) ----------------------------------------

●Tkのコンパイル/インストール(CGNSツールを使用するなら必要)

① 「tk8.5.9-src.tar.gz」をホームディレクトリに置き、以下を実行。
----------------------------- (begin) ---------------------------------------
cd
tar zxf tk8.5.9-src.tar.gz
cd tk8.5.9/unix/
./configure --prefix=/opt/tcl8.5.9
make
sudo make install
------------------------------ (end) ----------------------------------------

make時に以下のエラーが出たら、
  ~/tk8.5.9/unix/../generic/tk.h:78:23: error: X11/Xlib.h: No such file or directory
以下を実行して、再びmake。
----------------------------- (begin) ---------------------------------------
sudo apt-get install libx11-dev
------------------------------ (end) ----------------------------------------

make時に以下のエラーが出たら、
  /usr/bin/ld: cannot find -lXss
以下を実行して、再びmake。
----------------------------- (begin) ---------------------------------------
sudo apt-get install libxss-dev
------------------------------ (end) ----------------------------------------

「/opt/tcl8.5.9」の「include」「lib」の下に、tk関連のファイルがコピーされれば、インストール成功。

●CGNSライブラリのコンパイル/インストール
入手先:http://cgns.sourceforge.net/download.html
  「cgns-3.0.8-Source.tar.gz」(ソース)を入手した。

①以下を実行して、ライブラリ&ツールのインストール先ディレクトリを作成しておく。
----------------------------- (begin) ---------------------------------------
cd /opt
sudo mkdir -p cgns_3.0.8/{include,lib}
------------------------------ (end) ----------------------------------------

②「cgns-3.0.8-Source.tar.gz」をホームディレクトリに置き、以下を実行してライブラリをコンパイル&インストール。
----------------------------- (begin) ---------------------------------------
cd
tar zxf cgns-3.0.8-Source.tar.gz
cd cgns-3.0.8-Source/src
#./configure -help
./configure --prefix=/opt/cgns_3.0.8 --with-hdf5=/opt/hdf5 --with-szip=/opt/hdf5/lib/libsz.a
make
sudo make install
------------------------------ (end) ----------------------------------------
「/opt/cgns_3.0.8」の「include」「lib」サブディレクトリの下に、cgns関連のファイルがコピーされれば、インストール成功。

③シンボリックリンクを張る
----------------------------- (begin) ---------------------------------------
cd /opt
sudo ln -s cgns_3.0.8 cgns3
------------------------------ (end) ----------------------------------------

●CGNSツールのコンパイル/インストール

①CGNSツールのソース修正

オリジナルのままconfigure&makeすると、以下のコンパイルエラーが発生した。
----------------------------- (begin) ---------------------------------------
tecplot_to_cgns.c:67: error: conflicting types for ‘getline’
/usr/include/stdio.h:651: note: previous declaration of ‘getline’ was here
make[1]: *** [tecplot_to_cgns.o] エラー 1
make[1]: ディレクトリ `~/cgns-3.0.8-Source/src/cgnstools/utilities' から出ます
make: *** [prog-utilities] エラー 2
------------------------------ (end) ----------------------------------------

そこで、ソースを以下のように編集してコンパイルエラーを回避した。
----------------------------- (begin) ---------------------------------------
編集するソースコード:
  ~/cgns-3.0.8-Source/src/cgnstools/utilities/tecplot_to_cgns.c
編集内容
  文字列「getline」を「getline_」に置換(すべて)
------------------------------ (end) ----------------------------------------

②以下を実行して、ツールをコンパイル&インストール。
----------------------------- (begin) ---------------------------------------
cd
cd cgns-3.0.8-Source/src/cgnstools
#./configure -help
./configure --prefix=/opt/cgns_3.0.8
make
sudo make install
------------------------------ (end) ----------------------------------------
「/opt/cgns3/bin」の下にツールがコピーされれば、インストール成功。

●最終確認と後始末

①CGNSツールをインストールした場合は、端末で以下を実行して、cgnsviewを起動。
 起動前に、Tcl/Tkとhdf5の共有ライブラリへの LD_LIBRARY_PATH を設定した。
----------------------------- (begin) ---------------------------------------
export LD_LIBRARY_PATH=/opt/tcl/lib:/opt/hdf5/lib
/opt/cgns3/bin/cgnsview &
------------------------------ (end) ----------------------------------------
起動できたら、「Helpメニュー」→「About...」を選択し、バージョンの2行目を確かめる。
「ADF」や「HDF5」の文字はなく、「CGNS Library Version 3」と表示された。

②ホームディレクトリの下の、ターボールを展開した以下のディレクトリは、ディレクトリごと削除してよい。
----------------------------- (begin) ---------------------------------------
zlib-1.2.5
szip-2.1
hdf5-1.8.5-patch1
tcl8.5.9
tk8.5.9
cgns-3.0.8-Source
------------------------------ (end) ----------------------------------------

●自作プログラムのコンパイル例

例えばfoo.cをコンパイルするとき、以下を実行(szipもzlibも使用しない例)。
----------------------------- (begin) ---------------------------------------
gcc -o foo foo.c -I/opt/cgns3/include -L/opt/cgns3/lib -L/opt/hdf5/lib -lcgns -lhdf5
------------------------------ (end) ----------------------------------------

プログラムを実行するときは、必要に応じて、事前にhdf5やTcl/Tkの共有ライブラリへの LD_LIBRARY_PATH を設定する。
------------------------------ (end) ----------------------------------------
# HDF5
export LD_LIBRARY_PATH=/opt/hdf5/lib

# Tcl/Tk & HDF5
export LD_LIBRARY_PATH=/opt/tcl/lib:/opt/hdf5/lib
------------------------------ (end) ----------------------------------------
スポンサーサイト

[CFD備忘録] CGNS Version 2.5-4 のインストール方法(Ubuntu 64bit)

●記事修正
(2011/2/18) インストール先を「/usr/local」から「/opt」に変更しました。
        記事だけ修正し、インストールは再検証していません。

●関連記事

[CFD備忘録] CGNS Version 2.5-4 のインストール方法(Windows XP 32bit)

[CFD備忘録] CGNS Version 3.0.8 のインストール方法(Ubuntu 64bit)
[CFD備忘録] CGNS Version 3.0.8 のインストール方法(Windows XP 32bit)

●インストールの(私の)方針

今回インストールするのは、安定バージョンの CGNS Version 2.5-4 である。
CGNSライブラリ(cgnslib)と CGNSツール(cgnstools)の両方をインストールすることにする。
Version 2.Xでは、自分のプログラムをビルドする時、ADF版かHDF5版か、どちらか一方のライブラリを選んでリンクすることになり、ビルドされた実行ファイルはADF専用またはHDF5専用となる。
ちなみに新バージョンのVersion 3.0では、ライブラリは一種類であり、プログラム実行時にADFとHDF5の使用を切り替えることができる。

今回は、自分のプログラムをビルドする時、ADF版とHDF5版のどちらのライブラリでも選べるように、それぞれのライブラリ(&ツール)を別ディレクトリにインストールすることにする。

インストール先ディレクトリは任意だが、今回は以下のディレクトリにインストールすることにする。
・Tcl/Tk         /opt/tcl8.5.9
             ← シンボリックリンク /opt/tcl
・HDF5、szip、zlib    /opt/hdf5-1.8.5-patch1
             ← シンボリックリンク /opt/hdf5
・CGNS 2.5-4(ADF版)   /opt/cgns_2.5-4_adf
             ← シンボリックリンク /opt/cgns2a
・CGNS 2.5-4(HDF5版)  /opt/cgns_2.5-4_hdf5
             ← シンボリックリンク /opt/cgns2h

●可視化

私の使用環境では、「Tecplot 360 2009」でADF版CGNSファイルを可視化できた。
HDF5版CGNSファイルは可視化できなかった。

●コンパイラ

「gcc 4.4.3」を使用した。

●HDF5、szip、zlibの入手先
入手先:http://www.hdfgroup.org/HDF5/
  「hdf5-1.8.5-patch1.tar.gz」(ソース)、「szip-2.1.tar.gz」(ソース)、「zlib-1.2.5.tar.gz」(ソース)を入手した。

●szipのコンパイル/インストール(オプション。HDF5が内部的に使用するらしい)

①「szip-2.1.tar.gz」をホームディレクトリに置き、端末で以下を実行。
----------------------------- (begin) ---------------------------------------
cd
tar zxf szip-2.1.tar.gz
cd szip-2.1
./configure --prefix=/opt/hdf5-1.8.5-patch1
make
make check
sudo make install
------------------------------ (end) ----------------------------------------
「/opt/hdf5-1.8.5-patch1」の「include」「lib」の下に、sz関連のヘッダとライブラリがコピーされれば、インストール成功。

●zlibのコンパイル/インストール(オプション。HDF5が内部的に使用するらしい)

①「zlib-1.2.5.tar.gz」をホームディレクトリに置き、端末で以下を実行。
----------------------------- (begin) ---------------------------------------
cd
tar zxf zlib-1.2.5.tar.gz
cd zlib-1.2.5
./configure --prefix=/opt/hdf5-1.8.5-patch1
make
make check
sudo make install
------------------------------ (end) ----------------------------------------
「/opt/hdf5-1.8.5-patch1」の「include」「lib」の下に、zlib関連のヘッダとライブラリがコピーされれば、インストール成功。

●HDF5のコンパイル/インストール

①「hdf5-1.8.5-patch1.tar.gz」をホームディレクトリに置き、以下を実行。
----------------------------- (begin) ---------------------------------------
cd
tar zxf hdf5-1.8.5-patch1.tar.gz
cd hdf5-1.8.5-patch1
#./configure --help
./configure --prefix=/opt/hdf5-1.8.5-patch1 --with-zlib=/opt/hdf5-1.8.5-patch1 --with-szlib=/opt/hdf5-1.8.5-patch1
make
make check # 長時間かかるので、「PASSED」というメッセージを確認後、適当にCtrl-Cした
sudo make install
make check-install
------------------------------ (end) ----------------------------------------
「/opt/hdf5-1.8.5-patch1」の各サブディレクトリの下に、hdf5関連のファイルがコピーされれば、インストール成功。

② シンボリックリンクを張る
----------------------------- (begin) ---------------------------------------
cd /opt
sudo ln -s hdf5-1.8.5-patch1 hdf5
------------------------------ (end) ----------------------------------------

●Tclのインストール(CGNSツールを使用するなら必要)
入手先:http://www.tcl.tk/software/tcltk/download.html
  最新バージョン「tcl8.5.9-src.tar.gz」(ソース)と「tk8.5.9-src.tar.gz」(ソース)を入手した。

Tcl/TkをインストールせずにCGNSツールのインストールを試みると、makeしたとき以下のエラーが出た。
  adfwish.c:15:16: error: tk.h: No such file or directory
そこで、事前にTcl/Tkをインストールする。

①「tcl8.5.9-src.tar.gz」をホームディレクトリに置き、以下を実行。
----------------------------- (begin) ---------------------------------------
cd
tar zxf tcl8.5.9-src.tar.gz
cd tcl8.5.9/unix
./configure --prefix=/opt/tcl8.5.9
make
sudo make install
------------------------------ (end) ----------------------------------------
「/opt/tcl8.5.9」の「bin」「include」「lib」の下に、tcl関連のファイルがコピーされれば、インストール成功。

② シンボリックリンクを張る
----------------------------- (begin) ---------------------------------------
cd /opt
sudo ln -s tcl8.5.9 tcl
------------------------------ (end) ----------------------------------------

●Tkのコンパイル/インストール(CGNSツールを使用するなら必要)

①「tk8.5.9-src.tar.gz」をホームディレクトリに置き、以下を実行。
----------------------------- (begin) ---------------------------------------
cd
tar zxf tk8.5.9-src.tar.gz
cd tk8.5.9/unix/
./configure --prefix=/opt/tcl8.5.9
make
sudo make install
------------------------------ (end) ----------------------------------------

make時に以下のエラーが出たら、
  ~/tk8.5.9/unix/../generic/tk.h:78:23: error: X11/Xlib.h: No such file or directory
以下を実行して、再びmake。
----------------------------- (begin) ---------------------------------------
sudo apt-get install libx11-dev
------------------------------ (end) ----------------------------------------

make時に以下のエラーが出たら、
  /usr/bin/ld: cannot find -lXss
以下を実行して、再びmake。
----------------------------- (begin) ---------------------------------------
sudo apt-get install libxss-dev
------------------------------ (end) ----------------------------------------

「/opt/tcl8.5.9」の「include」「lib」の下に、tk関連のファイルがコピーされれば、インストール成功。

●CGNSライブラリ(ADF版)のコンパイル/インストール
入手先:http://cgns.sourceforge.net/download.html
  「cgnslib_2.5-4.tar.gz」(ソース)を入手した。
  「cgnstools-2-5-4.tar.gz」(ソース)を入手した(CGNSツールをインストールするなら必要)。

① 以下を実行して、ADF版ライブラリ&ツールのインストール先ディレクトリを作成しておく。
----------------------------- (begin) ---------------------------------------
cd /opt
sudo mkdir -p cgns_2.5-4_adf/{include,lib}
------------------------------ (end) ----------------------------------------

②「cgnslib_2.5-4.tar.gz」をホームディレクトリに置き、以下を実行してADF版ライブラリをコンパイル&インストール。
----------------------------- (begin) ---------------------------------------
cd
tar zxf cgnslib_2.5-4.tar.gz
cd cgnslib_2.5
#./configure -help
./configure --prefix=/opt/cgns_2.5-4_adf
make
sudo make install
------------------------------ (end) ----------------------------------------
「/opt/cgns_2.5-4_adf」の「include」「lib」サブディレクトリの下に、cgns関連のファイルがコピーされれば、インストール成功。

③ シンボリックリンクを張る
----------------------------- (begin) ---------------------------------------
cd /opt
sudo ln -s cgns_2.5-4_adf cgns2a
------------------------------ (end) ----------------------------------------

●CGNSツールのソース修正(ADF版&HDF5版共通)

①「cgnstools-2-5-4.tar.gz」をホームディレクトリに置き、以下を実行。
----------------------------- (begin) ---------------------------------------
cd
cd cgnslib_2.5
tar zxf ../cgnstools-2-5-4.tar.gz
cd cgnstools
------------------------------ (end) ----------------------------------------

② オリジナルのままconfigure&makeすると、以下のコンパイルエラーが発生した。
----------------------------- (begin) ---------------------------------------
tecplot_to_cgns.c:67: error: conflicting types for ‘getline’
/usr/include/stdio.h:651: note: previous declaration of ‘getline’ was here
make[1]: *** [tecplot_to_cgns.o] エラー 1
make[1]: ディレクトリ `~/cgnslib_2.5/cgnstools/utilities' から出ます
make: *** [prog-utilities] エラー 2
------------------------------ (end) ----------------------------------------

そこで、ソースを以下のように編集してコンパイルエラーを回避した。
----------------------------- (begin) ---------------------------------------
編集するソースコード:
  ~/cgnslib_2.5/cgnstools/utilities/tecplot_to_cgns.c
編集内容
  文字列「getline」を「getline_」に置換(すべて)
------------------------------ (end) ----------------------------------------

●CGNSツール(ADF版)のコンパイル/インストール

① 以下を実行して、ADF版ツールをコンパイル&インストール。
----------------------------- (begin) ---------------------------------------
cd
cd cgnslib_2.5/cgnstools
#./configure -help
./configure --prefix=/opt/cgns_2.5-4_adf
make
sudo make install
------------------------------ (end) ----------------------------------------
「/opt/cgns2a/bin」の下にツールがコピーされれば、インストール成功。

●CGNSライブラリ(HDF5版)のコンパイル/インストール

① 以下を実行して、HDF5版ライブラリ&ツールのインストール先ディレクトリを作成しておく。
----------------------------- (begin) ---------------------------------------
cd /opt
sudo mkdir -p cgns_2.5-4_hdf5/{include,lib}
------------------------------ (end) ----------------------------------------

② 以下を実行して、ADF版ライブラリのmake結果を消去
----------------------------- (begin) ---------------------------------------
cd
cd cgnslib_2.5
make clean
rm LINUX/libcgns.a
------------------------------ (end) ----------------------------------------

③ 以下を実行して、HDF5版ライブラリをコンパイル&インストール。
----------------------------- (begin) ---------------------------------------
#./configure -help
./configure --prefix=/opt/cgns_2.5-4_hdf5 --with-hdf5=/opt/hdf5 --with-szip=/opt/hdf5/lib/libsz.a
make
sudo make install
------------------------------ (end) ----------------------------------------
「/opt/cgns_2.5-4_hdf5」の「include」「lib」サブディレクトリの下に、cgns関連のファイルがコピーされれば、インストール成功。

③ シンボリックリンクを張る
----------------------------- (begin) ---------------------------------------
cd /opt
sudo ln -s cgns_2.5-4_hdf5 cgns2h
------------------------------ (end) ----------------------------------------

●CGNSツール(HDF5版)のコンパイル/インストール

① 以下を実行して、ADF版ツールのmake結果を消去
----------------------------- (begin) ---------------------------------------
cd
cd cgnslib_2.5/cgnstools
make clean
------------------------------ (end) ----------------------------------------

② 以下を実行。
----------------------------- (begin) ---------------------------------------
#./configure -help
./configure --prefix=/opt/cgns_2.5-4_hdf5
------------------------------ (end) ----------------------------------------

③「~/cgnslib_2.5/cgnstools/make.defs」を以下のように修正する。

  エディタで「LDFLAGS」を検索し、
----------------------------- (begin) ---------------------------------------
LDFLAGS =
  ↓ 変更
LDFLAGS = -L /opt/hdf5/lib -lhdf5
------------------------------ (end) ----------------------------------------

④ 以下を実行して、HDF5版ツールをコンパイル&インストール。

----------------------------- (begin) ---------------------------------------
make
sudo make install
------------------------------ (end) ----------------------------------------
「/opt/cgns2h/bin」の下にツールがコピーされれば、インストール成功。

●最終確認と後始末

① CGNSツールをインストールした場合は、端末で以下を実行して、ADF版とHDF5版のadfviewerを起動。
 起動前に、Tcl/Tkやhdf5の共有ライブラリへの LD_LIBRARY_PATH パスを設定した。
----------------------------- (begin) ---------------------------------------
# ADF版
export LD_LIBRARY_PATH=/opt/tcl/lib
/opt/cgns2a/bin/adfviewer &

# HDF5版
export LD_LIBRARY_PATH=/opt/tcl/lib:/opt/hdf5/lib
/opt/cgns2h/bin/adfviewer &
------------------------------ (end) ----------------------------------------
起動できたら、「Helpメニュー」→「About...」を選択し、バージョンの2~3行目を確かめる。
2行目は、ADF版は「ADF Library Version E01」、HDF5版は「HDF5 Version 1.8.5」と表示された。
3行目は、両方とも「CGNS Library Version 2.54」と表示された。

② ホームディレクトリの下の、ターボールを展開した以下のディレクトリは、ディレクトリごと削除してよい。
----------------------------- (begin) ---------------------------------------
zlib-1.2.5
szip-2.1
hdf5-1.8.5-patch1
tcl8.5.9
tk8.5.9
cgnslib_2.5
------------------------------ (end) ----------------------------------------

●自作プログラムのコンパイル例

例えばfoo.cをコンパイルするとき、以下を実行(szipもzlibも使用しない例)。

ADF版:「foo_a.exe」という実行ファイルを作るには
----------------------------- (begin) ---------------------------------------
gcc -o foo_a foo.c -I/opt/cgns2a/include -L/opt/cgns2a/lib -lcgns
------------------------------ (end) ----------------------------------------

HDF5版:「foo_h.exe」という実行ファイルを作るには
----------------------------- (begin) ---------------------------------------
gcc -o foo_h foo.c -I/opt/cgns2h/include -L/opt/cgns2h/lib -L/opt/hdf5/lib -lcgns -lhdf5
------------------------------ (end) ----------------------------------------

プログラムを実行するときは、必要に応じて、事前にhdf5やTcl/Tkの共有ライブラリへの LD_LIBRARY_PATH を設定する。
------------------------------ (end) ----------------------------------------
# Tcl/Tk
export LD_LIBRARY_PATH=/opt/tcl/lib

# HDF5
export LD_LIBRARY_PATH=/opt/hdf5/lib

# Tcl/Tk & HDF5
export LD_LIBRARY_PATH=/opt/tcl/lib:/opt/hdf5/lib
------------------------------ (end) ----------------------------------------

●課題

・CGNS++のインストール
http://cgnspp.sourceforge.net/

[CFD備忘録] ParaViewで遠近法と平行投影の切り替え

ParaViewで遠近法と平行投影を切り替える方法です。
OpenFOAM勉強会で教えていただきました。

「Editメニュー」→「View Settings...」→「General」
「Use Parallel Projection」をオフにすると遠近法、オンにすると平行投影。

※言葉
透視射影(遠近法):Perspective Projection
          (参考)OpenGLのgluPerspective関数
正射影(平行投影):Orthogonal Projection または Orthographic Projection
          (参考)OpenGLのglOrtho関数

[CFD備忘録] CGNS Version 3.0.8 のインストール方法(Windows XP 32bit)

●関連記事

[CFD備忘録] CGNS Version 3.0.8 のインストール方法(Ubuntu 64bit)

[CFD備忘録] CGNS Version 2.5-4 のインストール方法(Windows XP 32bit)
[CFD備忘録] CGNS Version 2.5-4 のインストール方法(Ubuntu 64bit)

●インストールの(私の)方針

今回インストールするのは、ベータバージョンの CGNS Version 3.0.8 である。
CGNSライブラリ(cgnslib)と CGNSツール(cgnstools)の両方をインストールすることにする。

インストール先ディレクトリは任意だが、今回は以下のディレクトリにインストールすることにする。
・Tcl/Tk         C:\Tcl
・HDF5          C:\hdf5
・CGNS 3.0.8       C:\cgns3

●可視化

私の使用環境では、ADF版とHDF5版のいずれのCGNSファイルも、可視化できなかった。
可視化ソフト用にファイルフォーマットを変換すれば、可視化は可能だろう。
CGNSツールの中に、変換プログラムがあるかもしれない。

●cgns-3.0.8の注意点

現象:
CGNSツールに、正しく動かないプログラムがあった。

原因:
「cgnslib.h」で定義されているenum「ElementType_t」に、新たに「PYRA_13」が加わっている。
そのため、「PYRA_13」以降の数字が、CGNSの旧バージョンと比べて1ずつずれるため、cgnstoolsの「cgnsutil.c」で定義されている配列「element_node_counts」へのアクセスが正しく行われなくなる。
従って、「cgnsutil.c」とリンクしているプログラムは正しく動かない。

●コンパイラ

「Microsoft Visual C++ 2010 Express」を使用した。

●Tcl/Tkのインストール(CGNSツールをインストールするなら必要)
入手先:http://www.activestate.com/activetcl
  Free Community Editionの最新バージョン「ActiveTcl8.5.9.1.294121-win32-ix86-threaded.exe」(バイナリディストリビューション)を入手した。

インストーラを実行し、設定はデフォルトのままインストールしたら、「C:\Tcl」にインストールされた。

●HDF5のインストール
入手先:http://www.hdfgroup.org/HDF5/
  「hdf5-1.8.5-patch1-win32.zip」(バイナリディストリビューション)を入手した。
  このバイナリディストリビューションには、szipもzlibも含まれているようだ。

Cドライブ直下に「hdf5」というディレクトリを作成。
インストールは、「hdf5-1.8.5-patch1-win32.zip」を「C:\hdf5」の下で解凍するだけ。
「C:\hdf5\bin」「C:\hdf5\bindll」「C:\hdf5\dll」にPATHを通す。

●CGNSライブラリのコンパイル/インストール
入手先:http://sourceforge.net/projects/cgns/
  「cgns-3.0.8-Source.tar.gz」(ソース)を入手した。

①「cgns-3.0.8-Source.tar.gz」をCドライブ直下で解凍したら、「C:\cgns-3.0.8-Source」の下に展開された。

②スタートメニューから「Visual Studio コマンド プロンプト (2010)」を起動し、以下を実行してライブラリをコンパイル。
----------------------------- (begin) ---------------------------------------
C:
cd C:\cgns-3.0.8-Source\src
::configure.bat -help
configure.bat -install C:\cgns3 -hdf5 C:\hdf5 -zlib C:\hdf5 -szip C:\hdf5\lib\libszip.lib
nmake
------------------------------ (end) ----------------------------------------
「C:\cgns-3.0.8-Source\src\WIN32\libcgns.lib が見つかりませんでした。」と表示されたが、「C:\cgns-3.0.8-Source\src\WIN32」の下に「libcgns.lib」が生成されていれば、コンパイル成功。

③引き続き以下を実行して、ライブラリをインストール。
----------------------------- (begin) ---------------------------------------
nmake install
------------------------------ (end) ----------------------------------------
「C:\cgns3」の下にヘッダとライブラリがコピーされれば、インストール成功。

●CGNSツールのコンパイル/インストール

①「Visual Studio コマンド プロンプト (2010)」で以下を実行して、ツールをコンパイル。
----------------------------- (begin) ---------------------------------------
C:
cd C:\cgns-3.0.8-Source\src\cgnstools
::configure.bat -help
configure.bat -tcl C:\Tcl -cgns C:\cgns-3.0.8-Source\src -install C:\cgns3\bin
nmake
------------------------------ (end) ----------------------------------------
エラーが発生せず、「C:\cgns-3.0.8-Source\src\cgnstools\cgnsview」の下に「cgiowish.exe」が生成されれば、コンパイル成功。
「cgiowish.exe」と「cgnsview.bat」の両方とも起動できれば、作業成功。

③引き続き以下を実行して、ツールをインストール。
----------------------------- (begin) ---------------------------------------
nmake install
------------------------------ (end) ----------------------------------------
「C:\cgns3\bin」の下にツールがコピーされれば、インストール成功。

●最終確認と後始末

①CGNSツールをインストールした場合は、コマンドプロンプトで以下を実行して、cgnsviewを起動。
----------------------------- (begin) ---------------------------------------
C:\cgns3\bin\cgnsview.bat
------------------------------ (end) ----------------------------------------
起動できたら、「Helpメニュー」→「About...」を選択し、バージョンの2行目を確かめる。
「ADF」や「HDF5」の文字はなく、「CGNS Library Version 3」と表示された。

②「C:\cgns-3.0.8-Source」はディレクトリごと削除してよい。

●自作プログラムのコンパイル例

例えばfoo.cをコンパイルするとき、「Visual Studio コマンド プロンプト (2010)」で以下を実行(szipもzlibも使用しない例)。
----------------------------- (begin) ---------------------------------------
cl -nologo -MT foo.c -IC:\cgns3\include C:\cgns3\lib\libcgns.lib C:\hdf5\dll\hdf5dll.lib
------------------------------ (end) ----------------------------------------

[CFD備忘録] CGNS Version 2.5-4 のインストール方法(Windows XP 32bit)

●関連記事

[CFD備忘録] CGNS Version 2.5-4 のインストール方法(Ubuntu 64bit)

[CFD備忘録] CGNS Version 3.0.8 のインストール方法(Windows XP 32bit)
[CFD備忘録] CGNS Version 3.0.8 のインストール方法(Ubuntu 64bit)

●インストールの(私の)方針

今回インストールするのは、安定バージョンの CGNS Version 2.5-4 である。
CGNSライブラリ(cgnslib)と CGNSツール(cgnstools)の両方をインストールすることにする。
Version 2.Xでは、自分のプログラムをビルドする時、ADF版かHDF5版か、どちらか一方のライブラリを選んでリンクすることになり、ビルドされた実行ファイルはADF専用またはHDF5専用となる。
ちなみに新バージョンのVersion 3.0では、ライブラリは一種類であり、プログラム実行時にADFとHDF5の使用を切り替えることができる。

今回は、自分のプログラムをビルドする時、ADF版とHDF5版のどちらのライブラリでも選べるように、それぞれのライブラリ(&ツール)を別ディレクトリにインストールすることにする。

インストール先ディレクトリは任意だが、今回は以下のディレクトリにインストールすることにする。
・Tcl/Tk         C:\Tcl
・HDF5          C:\hdf5
・CGNS 2.5-4(ADF版)   C:\cgns2a
・CGNS 2.5-4(HDF5版)  C:\cgns2h

●可視化

私の使用環境では、「Tecplot 360 2009」でADF版CGNSファイルを可視化できた。
HDF5版CGNSファイルは可視化できなかった。

●コンパイラ

「Microsoft Visual C++ 2010 Express」を使用した。

●Tcl/Tkのインストール(CGNSツールをインストールするなら必要)
入手先:http://www.activestate.com/activetcl
  Free Community Editionの最新バージョン「ActiveTcl8.5.9.1.294121-win32-ix86-threaded.exe」(バイナリディストリビューション)を入手した。

インストーラを実行し、設定はデフォルトのままインストールしたら、「C:\Tcl」にインストールされた。

●HDF5のインストール
入手先:http://www.hdfgroup.org/HDF5/
  「hdf5-1.8.5-patch1-win32.zip」(バイナリディストリビューション)を入手した。
  このバイナリディストリビューションには、szipもzlibも含まれているようだ。

Cドライブ直下に「hdf5」というディレクトリを作成。
インストールは、「hdf5-1.8.5-patch1-win32.zip」を「C:\hdf5」の下で解凍するだけ。
「C:\hdf5\bin」「C:\hdf5\bindll」「C:\hdf5\dll」にPATHを通す。

●CGNSライブラリ(ADF版)のコンパイル/インストール
入手先:http://cgns.sourceforge.net/download.html
  「cgnslib_2.5-4.tar.gz」(ソース)を入手した。
  「cgnstools-2-5-4.tar.gz」(ソース)を入手した(CGNSツールをインストールするなら必要)。

①「cgnslib_2.5-4.tar.gz」をCドライブ直下で解凍したら、「C:\cgnslib_2.5」の下に展開された。

②スタートメニューから「Visual Studio コマンド プロンプト (2010)」を起動し、以下を実行して、ADF版ライブラリをコンパイル。
----------------------------- (begin) ---------------------------------------
C:
cd C:\cgnslib_2.5
::configure.bat -help
configure.bat -install C:\cgns2a
nmake
------------------------------ (end) ----------------------------------------
「C:\cgnslib_2.5\WIN32\libcgns.lib が見つかりませんでした。」と表示されたが、「C:\cgnslib_2.5\WIN32」の下に「libcgns.lib」が生成されていれば、コンパイル成功。

③引き続き以下を実行して、ADF版ライブラリをインストール。
----------------------------- (begin) ---------------------------------------
nmake install
------------------------------ (end) ----------------------------------------
「C:\cgns2a」の下にヘッダとライブラリがコピーされれば、インストール成功。

●CGNSツール(ADF版)のコンパイル/インストール

①「cgnstools-2-5-4.tar.gz」を「C:\cgnslib_2.5」の下で解凍したら、「C:\cgnslib_2.5\cgnstools」の下に展開された。

②「Visual Studio コマンド プロンプト (2010)」で以下を実行して、ADF版ツールをコンパイル。
----------------------------- (begin) ---------------------------------------
C:
cd C:\cgnslib_2.5\cgnstools
::configure.bat -help
configure.bat -tcl C:\Tcl -cgns C:\cgnslib_2.5 -install C:\cgns2a\bin
nmake
------------------------------ (end) ----------------------------------------
エラーが発生せず、「C:\cgnslib_2.5\cgnstools\adfviewer」の下に「adfwish.exe」が生成されれば、コンパイル成功。
「adfwish.exe」と「adfviewer.bat」の両方とも起動できれば、作業成功。

③引き続き以下を実行して、ADF版ツールをインストール。
----------------------------- (begin) ---------------------------------------
nmake install
------------------------------ (end) ----------------------------------------
「C:\cgns2a\bin」の下にツールがコピーされれば、インストール成功。

●CGNSライブラリ(HDF5版)のコンパイル/インストール

①「Visual Studio コマンド プロンプト (2010)」で以下を実行して、ADF版ライブラリのmake結果を消去
----------------------------- (begin) ---------------------------------------
C:
cd C:\cgnslib_2.5
nmake clean
del C:\cgnslib_2.5\WIN32\libcgns.lib
------------------------------ (end) ----------------------------------------

②引き続き以下を実行して、HDF5版ライブラリをコンパイル。
----------------------------- (begin) ---------------------------------------
::configure.bat -help
configure.bat -install C:\cgns2h -hdf5 C:\hdf5 -zlib C:\hdf5 -szip C:\hdf5\lib\libszip.lib
nmake
------------------------------ (end) ----------------------------------------
「C:\cgnslib_2.5\WIN32\libcgns.lib が見つかりませんでした。」と表示されたが、「C:\cgnslib_2.5\WIN32」の下に「libcgns.lib」が生成されていれば、コンパイル成功。

③引き続き以下を実行して、HDF5版ライブラリをインストール。
----------------------------- (begin) ---------------------------------------
nmake install
------------------------------ (end) ----------------------------------------
「C:\cgns2h」の下にヘッダとライブラリがコピーされれば、インストール成功。

●CGNSツール(HDF5版)のコンパイル/インストール

①「Visual Studio コマンド プロンプト (2010)」で以下を実行して、ADF版ツールのmake結果を消去
----------------------------- (begin) ---------------------------------------
C:
cd C:\cgnslib_2.5\cgnstools
nmake clean
------------------------------ (end) ----------------------------------------

②引き続き以下を実行。
----------------------------- (begin) ---------------------------------------
::configure.bat -help
configure.bat -tcl C:\Tcl -cgns C:\cgnslib_2.5 -install C:\cgns2h\bin
------------------------------ (end) ----------------------------------------

③「C:\cgnslib_2.5\cgnstools\make.win」を以下のように修正する。

  エディタで「LDLIBS」を検索し、その行の前に2行追加する。
----------------------------- (begin) ---------------------------------------
LDLIBS = $(HDF5LIB) $(SZIPLIB) $(ZLIBLIB)
  ↓ 変更
HDF5LIB = C:\hdf5\dll\hdf5dll.lib
HDF5LIBS = C:\hdf5\dll\hdf5dll.lib
LDLIBS = $(HDF5LIB) $(SZIPLIB) $(ZLIBLIB)
------------------------------ (end) ----------------------------------------

④引き続き以下を実行して、HDF5版ツールをコンパイル。
----------------------------- (begin) ---------------------------------------
nmake
------------------------------ (end) ----------------------------------------
エラーが発生せず、「C:\cgnslib_2.5\cgnstools\adfviewer」の下に「adfwish.exe」が生成されれば、コンパイル成功。
「adfwish.exe」と「adfviewer.bat」の両方とも起動できれば、作業成功。

④引き続き以下を実行して、HDF5版ツールをインストール。
----------------------------- (begin) ---------------------------------------
nmake install
------------------------------ (end) ----------------------------------------
「C:\cgns2h\bin」の下にツールがコピーされれば、インストール成功。

●最終確認と後始末

①CGNSツールをインストールした場合は、コマンドプロンプトで以下を実行して、ADF版とHDF5版のadfviewerを起動。
----------------------------- (begin) ---------------------------------------
C:\cgns2a\bin\adfviewer.bat
C:\cgns2h\bin\adfviewer.bat
------------------------------ (end) ----------------------------------------
起動できたら、「Helpメニュー」→「About...」を選択し、バージョンの2~3行目を確かめる。
2行目は、ADF版は「ADF Library Version E01」、HDF5版は「HDF5 Version 1.8.5」と表示された。
3行目は、両方とも「CGNS Library Version 2.54」と表示された。

②「C:\cgnslib_2.5」はディレクトリごと削除してよい。

●自作プログラムのコンパイル例

例えばfoo.cをコンパイルするとき、「Visual Studio コマンド プロンプト (2010)」で以下を実行(szipもzlibも使用しない例)。

ADF版:「foo_a.exe」という実行ファイルを作るには
----------------------------- (begin) ---------------------------------------
cl -nologo -MT -Fefoo_a foo.c -IC:\cgns2a\include C:\cgns2a\lib\libcgns.lib
------------------------------ (end) ----------------------------------------

HDF5版:「foo_h.exe」という実行ファイルを作るには
----------------------------- (begin) ---------------------------------------
cl -nologo -MT -Fefoo_h foo.c -IC:\cgns2h\include C:\cgns2h\lib\libcgns.lib C:\hdf5\dll\hdf5dll.lib
------------------------------ (end) ----------------------------------------

●課題

・CGNS++のインストール
http://cgnspp.sourceforge.net/
プロフィール

カネダック

Author:カネダック
 
普通のC++プログラマですが、業務で流体解析をやっていて格子職人と呼ばれています。
J.S.バッハ等、古楽をピリオド楽器による演奏で聴くのが好き。
リュート演奏にあこがれつつ、クラシックギターを弾きます。

保有資格
・中小企業診断士
・Oracle Master 8 Platinum(今のGold相当)

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。