DEXCSでOpenFOAMを使えるようにする方法

注記:2008/1/3 
ランチャースクリプトを変更する部分で、機能を追加しました。

はじめに

DEXCSは、オープンなCAEソフトウェアをオールインワンにして、普通のパソコンで、誰にでも簡単に使えることを目指したシステムです。
現在のAdventureをベースとした構造解析以外にも、様々な用途をターゲットとした取り組みを考えています。

「誰にでも簡単に使えるシステム」は、これをさらに1歩進めて、「誰にでも簡単にカスタマイズできる」ことも目指しています。
ここではそういうカスタマイズの一例として、現時点(2007/12)で機能追加要望のもっとも多い、
OpenFOAMを組み込む方法について紹介します。

OpenFOAMは英国製のCFDソフトウェアで、数年前までは市販ソフトだったのが、
現在はオープンソースとして公開され、誰でも自由にダウンロードして使うことができます。
またその機能・性能も、もともと市販ソフトだっただけに、多くの市販ソフトに比べ何ら目劣りする点もありません。

OpenFOAMを最初から組み込んだDEXCSも別プロジェクトで開発中で、1年以内にはリリースすることを目標として取り組んでいますが、
それまで待てないという人は、本記事を参考に、現在のDEXCSをベースに自分自身でカスタマイズすることに挑戦してみてください。

本記事は、DEXCSを ubuntu 7.10 on VMware に移植したシステムをベースに、
OpenFOAMの最新版(1.4.1)をインストールし、DEXCSから起動できるようにし、
そうすることによって、OpenFOAMをより使いやすくする方法について解説したものです。

まずはダウンロード

  1. OpenCFD社のWebサイトへGo!
    _T-2-1.jpg~
  2. Dowmloadのページへ
    _T-2-2.jpg
  3. Linux 32bit 版
    _T-2-3.jpg
  4. ファイル選択
    _T-2-4.jpg

    全部で6つのファイルがダウンロードできるようになっています。
    Binary pack, single precision を除いた他のものをすべてダウンロードします。

  5. ダウンロード中
    _T-2-5.jpg
  6. ダウンロード完了後のデスクトップイメージ
    _T-2-6.jpg

OpenFOAMのインストール

いよいよOpenFOAMをインストールしますが、
ここではもっとも簡単な、ユーザー毎のホームディレクトリ以下にバイナリーインストールする方法について説明します。

  1. 所定のディレクトリを作成
    _T-3-1.jpg
    ホームディレクトリの下に、OpenFOAMというディレクトリを作り、さらにその下に、
    linuxというディレクトリを作成します。
  2. ファイルマネージャで確認
    _T-3-2.jpg

    「場所 - ホーム・フォルダ」 です。

  3. ホーム・フォルダ(ディレクトリ)
    _T-3-3.jpg

    後の操作をやりやすくするのに、ツリー表示に変更しましょう。

  4. 同上(ツリー表示)
    _T-3-4.jpg

    左の横向きの三角印をクリックしてみましょう

  5. ダウンロードしたファイルを所定のフォルダへ移動
    _T-3-5.jpg
  6. Drag & Drop でファイルの移動
    _T-3-6.jpg

    このあたりの操作方法は、Windowsマシンのそれとほとんど変わらないと思います。

  7. $HOME/OpenFOAM
    _T-3-7.jpg
  8. $HOME/OpenFOAM/linux
    _T-3-8.jpg
  9. ダウンロードしたファイルを展開
    _T-3-9.jpg
    tar xzvf OpenFOAM-1.4.1.General.gtgz
  10. 展開中。。。
    _T-3-10.jpg

    少々時間がかかります。

  11. OpenFOAM-1.4.1.linuxGccDPOpt.gtgz
    _T-3-11.jpg
    tar xzvf OpenFOAM-1.4.1.linuxGccDPOpt.gtgz

    これで、コンパイルの終わった実行モジュールがインストールされます。

  12. 残り3つは、$HOME/OpenFOAM/linux にて
    _T-3-12.jpg
    tar xzvf gcc-4.2.1.linux.tgz
    tar xzvf j2sdk1.4._05.linux.tgz
    tar xzvf paraview-2.4.4.linux.tgz
  13. インストールテストプログラム
    _T-3-13.jpg

    コマンド端末画面を開いて、OpenFOAMの環境変数をセットし、インストールテストプログラム(foamInstallationTest)を実行します。

    cd
    . OpenFOAM/OpenFOAM-1.4.1/.OpenFOAM-1.4.1/bashrc 
    foamInstallationTest
  14. インストールテストの結果 その1
    _T-3-14.jpg

    ssh 又は rsh の環境が必要だが、どちらもないという致命的エラーが検出されたと言っています。

    ここでは、以下、ssh環境を導入します。これは、Synapticパッケージマネージャで簡単にできます。

  15. Synapticパッケージマネージャを起動し、sshを探す
    _T-3-15.jpg

    インストール指定し、関連パッケージも併せて導入インストールします。

  16. インストールテストの結果 その2
    _T-3-16.jpg

    先ほどのエラーは解消されて、fatal error は残り1つです。

  17. エラーの内容確認
    _T-3-17.jpg

    OpenFOAMの環境変数が、コマンド端末を起動するシェルに組み込まれていないということです。

    DEXCSでは、起動する毎に組み込む方法を使います(後で設定します)ので、この部分は無視しても良さそうです。

    現時点(このコマンド端末)では、OpenFOAMの環境変数がセットされているので、念の為、OpenFOAMが動くかどうか確認しておきましょう。

  18. FoamX
    _T-3-18.jpg
  19. FoamX起動画面
    _T-3-19.jpg

    これでOpenFOAMのインストールは完了です。

    OpenFOAMだけを使いたい場合は、この先のステップは不要で、使いたい場合、コマンド端末を開いて、

    . OpenFOAM/OpenFOAM-1.4.1/.OpenFOAM-1.4.1/bashrc
    FoamX

    を入力します。OpenFOAMだけを使いたいユーザーは、
    最初の部分(. OpenFOAM/OpenFOAM-1.4.1/.OpenFOAM-1.4.1/bashrc)を
    起動スクリプトシェル($HOME/bashrc)に組み込んでおいても構いません。

OpenFOAMをDEXCSランチャーから起動できるようにする

DEXCSランチャープログラム(スクリプト)に少々手を加えて、DEXCSランチャーからOpenFOAMを起動できるようにします。

スーパーユーザー権限で、テキストエディタを使います。

sudo gedit /usr/local/bin/adventure-simple-launcher
  1. メニューを追加
    _T-4-1-1.jpg

    74行目に、

    mc6.add_command(label=u"流体解析(OpenFOAM)",command=self.OpenFOAM)

    79行目に、

    mc7.add_command(label=u"foamToVTK", command=self.foam2vtk)
  1. 実行コマンドの内容を定義
    _T-4-2-1.jpg

    249行目に、

    def OpenFOAM(self):
      command = ". $HOME/OpenFOAM/OpenFOAM-1.4.1/.OpenFOAM-1.4.1/bashrc;export LANG=C;FoamX"
      os.system(command)

    253行目に、

    def foam2vtk(self):
      casedir_list=askdirectory()
      if casedir_list != () :
        if os.path.isdir(casedir_list) : 
          casedir_array = casedir_list.split("/")
          casedir = casedir_array[-1]
          tkMessageBox.showinfo(message=u"Case Directory\n" + casedir + u"\nを選択しました")
          command = ". $HOME/OpenFOAM/OpenFOAM-1.4.1/.OpenFOAM-1.4.1/bashrc;foamToVTK " + os.getcwd() + " " + casedir
          os.system(command)

以上で終わりです。

いかがでしょうか?ちょっとでもプログラミングをかじったことのある人なら、
追加した部分の意味は理解できると思います。このレベルの改造なら、自分にも出来ると思いませんか?

DEXCSランチャーからOpenFOAMの起動例 その1 (別記事にて投稿予定)

DEXCSランチャーからOpenFOAMを起動できるようになると、何が嬉しいかというと。。。

GUIインタフェース(コマンドを打ち込まない)で、OpenFOAMを使えるようになるという、それだけの事なんですけどね。

実はもう少し嬉しい事というか、本当の狙いは別にあって、次章で実例も紹介しますが、
本章でまずはubuntu 7.10 on VMware でOpenFOAMが動く、ことを確認してもらうという側面もあります。

以下、別記事になりますが、OpenFOAMに標準のチュートリアル問題を例にして、操作方法を説明します。

DEXCSランチャーからOpenFOAMの起動例 その2 (別記事にて投稿予定)

DEXCSランチャーからOpenFOAMを起動する最大の嬉しさは、DEXCSのモデル作成・メッシュ作成機能を転用できるということです。

  • 具体的には、blenderで形状を作成または取り込んで、
    AdventureのTetmesh でメッシュ作成し、それをOpenFOAMで取り込むことができる。
  • しかも、メッシュ作成では、DEXCSのblender用プラグインで、
    流体解析に特有の壁面近傍メッシュを細かくするなどのメッシュ制御も簡単に出来る。
  • そしてもちろん、これら一連の作業を、GUIインタフェースを介して実現できるようになるということです。

OpenFOAMのアップデート情報 (別記事にて投稿予定)

OpenFOAMは現在も日々開発やBugFixが進行中です。
ここでは、その種のアップデート情報をDEXCSに組み込んだOpenFOAMに反映させた具体例につき紹介していきます。

Counter: 15040, today: 2, yesterday: 3

添付ファイル: file_T-4-2-1.jpg 817件 [詳細] file_T-4-1-1.jpg 794件 [詳細] file_T-4-2.jpg 471件 [詳細] file_T-4-1.jpg 461件 [詳細] file_T-3-19.jpg 676件 [詳細] file_T-3-18.jpg 780件 [詳細] file_T-3-17.jpg 806件 [詳細] file_T-3-16.jpg 770件 [詳細] file_T-3-15.jpg 793件 [詳細] file_T-3-14.jpg 791件 [詳細] file_T-3-13.jpg 840件 [詳細] file_T-3-12.jpg 707件 [詳細] file_T-3-11.jpg 701件 [詳細] file_T-3-10.jpg 813件 [詳細] file_T-3-9.jpg 764件 [詳細] file_T-3-8.jpg 712件 [詳細] file_T-3-7.jpg 763件 [詳細] file_T-3-6.jpg 781件 [詳細] file_T-3-5.jpg 726件 [詳細] file_T-3-4.jpg 707件 [詳細] file_T-3-3.jpg 724件 [詳細] file_T-3-2.jpg 789件 [詳細] file_T-3-1.jpg 736件 [詳細] file_T-2-6.jpg 725件 [詳細] file_T-2-5.jpg 765件 [詳細] file_T-2-4.jpg 802件 [詳細] file_T-2-3.jpg 738件 [詳細] file_T-2-2.jpg 821件 [詳細] file_T-2-1.jpg 1014件 [詳細] file_T-2-6-20.jpg 484件 [詳細] file_T-2-6-19.jpg 459件 [詳細] file_T-2-6-18.jpg 433件 [詳細] file_T-2-6-17.jpg 445件 [詳細] file_T-2-6-16.jpg 487件 [詳細] file_T-2-6-15.jpg 452件 [詳細] file_T-2-6-14.jpg 457件 [詳細] file_T-2-6-13.jpg 350件 [詳細] file_T-2-6-12.jpg 439件 [詳細] file_T-2-6-10.jpg 449件 [詳細] file_T-2-6-9.jpg 452件 [詳細] file_T-2-6-8.jpg 361件 [詳細] file_T-2-6-7.jpg 392件 [詳細] file_T-2-6-6.jpg 402件 [詳細] file_T-2-6-5.jpg 390件 [詳細] file_T-2-6-4.jpg 380件 [詳細] file_T-2-6-3.jpg 392件 [詳細] file_T-2-6-2.jpg 393件 [詳細] file_T-2-6-1.jpg 432件 [詳細] file_T-2-5-14.jpg 454件 [詳細] file_T-2-5-13.jpg 459件 [詳細] file_T-2-5-12.jpg 464件 [詳細] file_T-2-5-11.jpg 463件 [詳細] file_T-2-5-10.jpg 441件 [詳細] file_T-2-5-9.jpg 471件 [詳細] file_T-2-5-8.jpg 471件 [詳細] file_T-2-5-7.jpg 449件 [詳細] file_T-2-5-6.jpg 437件 [詳細] file_T-2-5-5.jpg 423件 [詳細] file_T-2-5-4.jpg 468件 [詳細] file_T-2-5-3.jpg 475件 [詳細] file_T-2-5-2.jpg 434件 [詳細] file_T-2-5-1.jpg 456件 [詳細] file_T-2-4-8.jpg 466件 [詳細] file_T-2-4-7.jpg 457件 [詳細] file_T-2-4-6.jpg 480件 [詳細] file_T-2-4-5.jpg 384件 [詳細] file_T-2-4-4.jpg 391件 [詳細] file_T-2-4-3.jpg 355件 [詳細] file_T-2-4-2.jpg 417件 [詳細] file_T-2-4-1.jpg 386件 [詳細] file_T-2-3-2.jpg 365件 [詳細] file_T-2-3-1.jpg 390件 [詳細] file_T-2-2-6.jpg 375件 [詳細] file_T-2-2-5.jpg 392件 [詳細] file_T-2-2-4.jpg 383件 [詳細] file_T-2-2-3.jpg 393件 [詳細] file_T-2-2-2.jpg 384件 [詳細] file_T-2-2-1.jpg 406件 [詳細] file_T-2-1-2-12.jpg 427件 [詳細] file_T-2-1-2-11.jpg 405件 [詳細] file_T-2-1-2-10.jpg 432件 [詳細] file_T-2-1-2-9.jpg 399件 [詳細] file_T-2-1-2-8.jpg 412件 [詳細] file_T-2-1-2-7.jpg 391件 [詳細] file_T-2-1-2-6.jpg 401件 [詳細] file_T-2-1-2-5.jpg 421件 [詳細] file_T-2-1-2-4.jpg 429件 [詳細] file_T-2-1-2-3.jpg 421件 [詳細] file_T-2-1-2-2.jpg 421件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-01-09 (水) 21:17:57 (3366d)