(タイトル)未定(副題)DEXCS for OpenFOAM の使い方

このページは、いずれ書籍化する予定で作成中のものです。

更新情報(2020/9/19)

同梱マニュアルが1/3程度完成、併せてコンテンツのTex化も進めていたが、先に全体ページ数を把握したくなり、ここ1週間ほどはTex化に注力し、ようやく完了。総ページ数は400ページ強となっていた。

これなら、基礎編(5-3.まで)と応用編(5-4.以降)に分けた2分冊でいくのが良いかも。これだと丁度半々位いに分割出来る。まずは基礎編をDEXCS2020コンテンツにて作り直す事にする。

以下、2020/9/1の更新情報

付録の「isoイメージの作成法」(DEXCS2020版)もほぼ完成。ということはDEXCS2020 for OpenFOAMもほぼ完成という事になるが、こちらは同梱するマニュアル等をこれから作成しつつ、オリジナルツールの若干の改良作業をする事になり、公開予定は10月初旬。

書籍化予定の本編も、これから本格的な校正に着手する予定だがこの際、上記マニュアル作成作業と並行して本編内容もDEXCS2020コンテンツで置き換えながらTex化して行こうかと・・・

以下、2020/7/26の更新情報

ようやく本編全体の埋め草を書き終えた。細部でたくさんの校正が必要であるが。。。

最後に付録の「isoイメージの作成法」に取り掛かろうとしているが、旧版(DEXCS2019)についての下書き的なものは存在するが、今となっては不確実な情報もあるので、これを作り直すよりも、新版DEXCS2020をこれから製作する時期になったので、新版を製作しながら同時進行で作成法も取り纏める事とした。

以下、2020/7/19の更新情報

第7章のpreCICEを執筆中ですが、

当初、最新版(preCICE-2.02+ccx-2.16)で検証しようとしたが、以前(preCICE-1.6.1+ccx-2.15)用に独自作成した3D_flap_perpの問題がうまく動かなかった。

ようやく判った原因はFreeCADで作成するCaliculixモデルがccx-2.15で作られている為であった。

FreeCADで使用するccxを最新版に変更するのもありだとは思ったが、最新版だと公開チュートリアルも一例動作しないものがあったのに対して、preCICE-2.02+ccx-2.15だと、全て完動することも判ったので、これ(preCICE-2.02+ccx-2.15)でやり直す事にした。

その他、cgxの使い方もせにゃいかんだろうな・・・って事で、なかなかクセのあるツールですが、ようやくちょっとわかりかけてきた。

以下、2020/7/9の更新情報

第7章のDAKOTAが、ようやくほぼ完成。

今回のOpenFOAMのケース例題にて、従来は借り物のシェルスクリプトドライバーをわざわざGUIで使うという回りくどい方法だったのを、GUIで使うのに相応しいケースファイルに作り替えた。あわせて、パラメタスタディだけでなく、最適化(揚力係数の最大化)例題も追加した。結果、かなりの長大なボリュームとなったが、時間制限のある講習会ネタでないので良しとしておく。

いよいよ、最後章のpreCICEに取り掛かる事とした。

別途、DEXCS2020にも、そろそろ取り掛かる予定・・・

 

以下、2020/6/25の更新情報

第6章までは、ほぼ書き上がりました(といっても細部の校正は、かなり必要ですが・・・)

第6章のTreeFoamの更新を書くにあたり、最新のTreeFoam(python3対応版)+dexcs十徳ナイフ付きに更新する事とし、dexcs十徳ナイフ付き版がほぼ完成していたが、dexcsランチャーの対応に少々手古摺った。そうこうするうちに、TreeFoam最新版も、3.02.200617となってしまったので、十徳ナイフ付きへの更新方法も、こちらのヴァージョンでやり直すことになった。

第7章のDAKOTAの執筆にようやく着手したが、DakotaのGUI最新版の動作が思わしくなく、Window10, Mac, CentOS7 と様々な環境で試した結果、GUI版については「使えない」と結論。但し、Dakota本体とGUI版のヴァージョンを合わせる必要もない事が判明した為、Dakota本体は最新版(6.12)、GUIは6.09を使ったシステムについて活用例を紹介する事にした。

 

書籍の内容は読者の皆さんの声を出来るだけ反映したほうが良いとの観点で、製作途上の原稿をそのまま公開することとしました。

したがって不正確な記述や、他のサイト等からの無断引用の情報がある点はご承知おき下さい(書籍化の時点では見直します)。

ご意見やご要望があれば、遠慮無くお寄せ下さるとともに、

  • 書籍のタイトルが未定(提案者名は謝辞中で明記予定、以下タイトル案)
    • とことんオープンCAE
    • ここまで出来た!オープンCAE
    • 実践オープンCAE
    • 定年じいじのオープンCAE
    •  
  • 出版元も未定(自費出版でも良いが、編集者を求む)

なので奮ってご応募下さい。

    お名前 (必須)

    メールアドレス (必須)

    題名

    メッセージ本文

    目次

    1. はじめに
    2. DEXCS for OpenFOAM とは
      1. OpenFOAMとは
      2. DEXCSとは
      3. OpenFOAMの実践的活用方法
      4. DEXCS-OFの歴史
    3. DEXCS-OFの主要コンポーネント
      1. 基本OS
      2. ParaView
      3. PyFoam
      4. cfMesh
      5. HELYX-OS
      6. FreeCAD
      7. TreeFoam
      8. gnuplot
      9. JAVA gnuplot
      10. DEXCSオリジナルツール
      11. wxGlade
      12. Emacs
      13. KDiff3
      14. shutter
      15. Blender
      16. Swift-tools
      17. pinguyBuilder
    4. DEXCS-OFの活用シーン:OSレベル
      1. ファイルのダウンロード問題
      2. 様々な利用方法って?
      3. 実計算機/ライブモード
      4. 仮想計算機/インストールモード
      5. 実計算機/インストールモード
    5. DEXCS-OFの活用シーン;アプリレベル
      1. DEXCSランチャーの使い方
      2. 推奨メッシュ生成法
        1. そもそもメッシュとは
        2. 様々なメッシュ作成法
        3. メッシュ作成法のケースバイケース
        4. FreeCADの基本
        5. FreeCADマクロの使い方
      3. OpenFOAM標準チュートリアルの調べ方
      4. 簡単な構造解析
    6. DEXCS-OFのインストール・更新方法
      1. 基本OS
      2. OpenFOAM
      3. ParaView
      4. FreeCAD
      5. TreeFoam
      6. DEXCSオリジナルツール
    7. DEXCS-OFの拡張例
      1. SLURM
      2. DAKOTA
      3. preCICE
    8. (付録)DEXCS isoイメージの作成方法

    はじめに

    「オープンCAE」という用語は、10年以上前に筆者らのグループで独自に使い始めたもので、2009年に一般社団法人オープンCAE学会が設立されるにあたり学会の名前をどうするかという議論があり、発起人の一人でもあった著者らが強く推薦したものであった。

    当時は、「オープンソース…」という表記が一般的であった。要するにソースコードがオープンで、自由に(フリー、無料で)アクセス・改変も可能という面が強調されていた訳である。

    筆者は学生時代からのCAE歴(Computer Aided Engineering, とは云っても当時はまだその用語すら無かった)であるが、あくまでCAEを使うという立場、いわゆるエンドユーザーであった。エンドユーザーの立場からすると、

    • 自作ソフトを使う
    • 商用ソフトを使う
    • オープンソースを使う

    という3つの選択肢があり、そのどれをも経験はしてきているが、オープンソースCAEに注力して使うようになったのは20年ほど前であったろうか。特定分野のCAEに注力するのでなく、あれもこれもやりたかったが、CAEに理解のある上司には恵まれず、あまりお金を使わせてもらえなかったので、オープンソースにたどり着くのは必然の流れであった。

    国内外を含めて色々と調査して一部の分野ではあるが、国家プロジェクトとして華々しく喧伝されるのを目の当たりにもしてきた。すでに当時は、ちょっと高級なパソコンであれば、往時のスパコンに匹敵する計算性能であったのでオープンソースを動かせる環境は手元にあった。宣伝文句は話半分に聞いておいて、調査は当然ソースコードをダウンロードして、自分で動かしてみての判断である。

    ところが…動かせないのであった。

    当時も今もオープンソースはLinux(それこそオープンソースの代表格である基本OS)の上で動くものがほとんどである。CAEは、昔は大型コンピュータ、そのうちにスパコンやらワークステーションと様々な計算環境を使ってきたという経験はあったので、Linuxで動くからといって障害にはならなかった。動かす為にまずはコンパイルが必要で、Linux上のfortranコンパイラなり、Cコンパイラを動かす事も出来たのだが、あくまでエンドユーザー権限での使用経験であった。

    しかしCコンパイラのヴァージョンがどうたら云われても、当時の多くのCAEユーザーはそれが使えるマシンを探して選択するのが関の山で、計算環境を構築するのはシステム管理者というCAEとは別の職種の人間があたるのが常であった。

    筆者の場合は、たまたま計算システムの構築に詳しい同僚が隣の席に居たので、その彼に頼んで入手したオープンソースCAEを動かせるようにしてもらって、それを筆者が使い倒して評価するという仕事サイクルが出来た。

    つまり、筆者はたまたまラッキーで使う事が出来た。世の中ではほんの一部であったが、組織をあげて取り組む事で使えていた人も居たけれども、多くのCAEエンドユーザーはソースコードをダウンロードしただけでその先に進めない、というのが当時の状況であった。

    そこでソースコードがオープンであるだけでは、CAEエンドユーザーの役には立たない!という思いがあって、オープンソースCAEからソースを省いたのである。

    今にして思えば、ソース以外に必要なものを付け加えるという手もあったかもしれないが、必要なものがありすぎて、あれもこれもと書き連ねるのは論外で、わかりやすいひとことで表現できそうにない。省いた方が正解であったとは今でも思っている。

    ソースコード以外に必要なものは何か?「誰にでも簡単、すぐに使える」ようになれるオープンものがあったら良いのでないか?として提案したのがDEXCS(Degital Engineering eXtended Computer System)であった。2007年にリリースした最初のものは、使いたいCAEアプリとして日本の実用的なオープンソースとして草分け的な存在であったAdventureという構造解析ソフトを対象にしたもので、「はじめてのオープンCAE」という解説本も上梓した。

     その後DEXCSとして様々なパッケージがリリースされてきたが、この中のDEXCS for OpenFOAM(以下、DEXCS-OFと略す)は、オープンソースCFD(Computational Fluid Dynamics)の代表格であるOpenFOAMを利用したい人向けに、「誰にでも簡単、すぐに、OpenFOAMを使える」をコンセプトにしたオールインワンパッケージとして2009年に公開して以来、ほぼ1年に1回のペースで更新を続けてきているものである。

     更新を続けてきた理由は、使いたいアプリの主体であるOpenFOAMそのものが、ほぼ半年に1回のペースで更新されている事と、それ以外のアプリでも様々な更新があり、いつまでも古い物を使っている訳にはいかないという事である。

     この更新は、DEXCS-OFの本来の想定ユーザー(OpenFOAM初心者)に対しては問題ないだろう。しかしDEXCS-OFは初心者だけでなく、これを使い続けることによって、中級、上級者となってもこのまま使い続ける事が出来る事を想定したオールインワン環境である。

     既に初心者でなくなってしまった人に対して、更新されたDEXCS-OFを都度インストールして使うというのは、あまり現実的ではない。利用している実際の計算環境をそのまま残すのか、改変なり、追加するのか、といった選択肢がある。計算環境でなく、アプリのレベルの更新が出来れば良いというユーザーもいるであろう。いずれにせよ利用者が既に積み上げてきたケースファイルやデータと、どう折り合っていくか?新しく何をやりたいのか?等々の状況に応じて更新の方法にも様々な選択肢が生じてくる。

    また、初心者にとって、

    • すぐに・・・と云われても、ダウンロードを始めてから、システムが立ち上がるまでの時間の問題(最短でも1時間以上は必要か)があり、利用者の計算機知識・計算環境依存の問題もある。
    • 簡単・・・と云われても、DEXCSランチャーの標準チュートリアルはそうなんだが、その先は?

    といった、先へ進もうとした時に立ちはだかる関所も多く存在する。

     そこで、ここで改めてDEXCS-OFで何が出来るのか、計算環境やアプリ(特にOpenFOAM以外)のレベルでの機能と更新方法についても取り纏めることによって、

    • 初心者向けには総覧的な情報の中から、自分のやりたいことにかなったコンテンツを含んでいるのかどうか。
    • すでに利用し始めている読者の皆さんには、既にやっている、またはやりたい事の再確認なり、新たな発見に繋がるとともに、インストール・更新といった領域にまで踏み込んで活用いただければ

    と期待して本書の執筆に取り組んだものである。