最新情報

オープンCAE勉強会@富山

講習会マシンのシェルを使い易く:bashでtabキー補完によって$記号がエスケープするのを防ぐ方法は?

オープンCAE勉強会@富山や,オープンCAE学会のOpenFOAM講習会用に作成・公開した仮想マシンは,Ubuntu系のOSを使っています。

すこし前から,bash の補完機能が変わって,使いにくくなっていました。例えば,端末・ターミナルからOpenFOAMに付属する例題が格納された場所 $FOAM_TUTORIALS の中身を確認しようとして,ll $FOAM_TUTORIALS/ とタイプしたところでTABキーを押します。すると,$ 記号がエスケープされてしまい,端末に打ち込んでいた文字列が ll \$FOAM_TUTORIALS/ と変化します。こうなってしまうと,せっかくOpenFOAMの環境として設定してある変数 FOAM_TUTORIALS が使えない状態になり,再度キー入力が必要になってしまいます。

むかしむかしは,このようなことを気にせずに,途中まで入力し,TABキーを1,2回押して候補を確認した後に入力,という使い方ができました。これができないので,ストレスを感じてしまいます。

このストレスの解消方法をメモします。ザッと調べたところ,2つの方法があるようです。

  1. shopt -s direxpand で先に変数を展開してしまう,
  2. shopt -u progcomp で programmable completion を無効化する。

参考ページ:https://askubuntu.com/questions/70750/how-to-get-bash-to-stop-escaping-during-tab-completion

shopt は,bashの動作設定の表示や変更をするコマンドです。

https://atmarkit.itmedia.co.jp/ait/articles/1912/12/news034.html https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html

direxpand

端末・ターミナルで,次のコマンドを実行します。

shopt -s direxpand

direxpand

If set, Bash replaces directory names with the results of word expansion when performing filename completion. This changes the contents of the readline editing buffer. If not set, Bash attempts to preserve what the user typed.

https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html

direxpand (directory expansion) オプションを有効にすることで,補完したときに変数名ではなく,実際のアドレスを表示するようになります。

補完前

ll $FOAM_TUTORIALS/

補完(TABキーを1度押した)後

ll /home/user/OpenFOAM/OpenFOAM-v2106/tutorials/

普通に使う場合は,これでも良いかもしれません。講習会で使う場合には,人によって環境が異なるため,変数名のままで作業したいです。その場合には,次の方法を選択します。

progcomp

端末・ターミナルで,次のコマンドを実行します。

shopt -u progcomp

progcomp

If set, the programmable completion facilities (see Programmable Completion) are enabled. This option is enabled by default.

progcomp (programmable completion) オプションを無効にすると,変数名はそのままとなります。(デフォルトで有効になっている。)

補完前

ll $FOAM_TUTORIALS/

補完(TABキーを1度押した)後[$FOAM_TUTORIALSの中にある候補が表示される]

ll $FOAM_TUTORIALS/
Allclean                   compressible/              mesh/
Allcollect                 discreteMethods/           modules/
Allrun                     electromagnetics/          multiphase/
Alltest                    financial/                 preProcessing/
DNS/                       finiteArea/                resources/
IO/                        heatTransfer/              stressAnalysis/
basic/                     incompressible/            verificationAndValidation/
combustion/                lagrangian/    

ただし,この方法では,intelligent な補完オプションが無効になるという副反応があるらしい。

元に戻したければ,次のコマンドを実行して,progcomp を有効化してください。

shopt -s progcomp

2021年 オープンCAE勉強会用講習マシンについて(リリース候補)

オープンCAE勉強会@富山の復活をもくろんでいます。講習会や,参加者による発表,できれば,交流会などで,知識の共有を促進したいです。


季節が夏となっていますので,OpenFOAM超初心者向け講習というよりも,初心者が効率的・効果的に活用する方法などの講習を実施したいと考えています。

 

現時点での講習会用仮想マシンRC(Release Candidate)を共有します。詳細は下記をご覧ください。ご質問・ご要望などは,OpenFOAM掲示板へお知らせください。


今期の講習用仮想マシン

 共有リンク
https://drive.google.com/file/d/1VgVxgQUSDRiDqh_F8UOKryouHrN9uXyg/view?usp=sharing

仮想マシンアプライアンス名:Kubuntu2004-v0RC3.ova
アプライアンスファイルのサイズ:約4GB
インポート時に必要とされるディスク容量:約15GB

仮想マシンのディスク容量:最大28GB(可変サイズ)
仮想マシンの使用メモリ:2048GB
使用プロセッサ数:1

OS: Kubuntu 20.04
OpenFOAM: OpenFOAM v2106
    compiled from source to use catalyst and runTimePostProcessing features
ParaView 5.9.1
     compiled in Thirdparty-2106 with mesa, python 3.8 and mpi
Jupyter-lab will works with paraview

 

ユーザ名とパスワード

仮想マシンを起動すると,下記のユーザで自動的にログインされる。

ユーザー名:user
パスワード:user

 

OpenFOAM

OpenFOAM v2106 は,/home/user/OpenFOAM/OpenFOAM-2106 にインストールされている。

ParaView などの third-party ソフトウェアは,/home/user/OpenFOAM/ThirdParty-v2106 にインストールされている。

端末を起動すると,OpenFOAM v2106 の使用環境が自動的に読み込まれる。

 

Jupyter-lab

端末で書きコマンドを実行すると,そこから jupyter-lab が起動する。(webブラウザ firefox を利用する。)

jupyter lab

終了するためには,ブラウザを閉じる。さらに,jupyter-lab を起動した端末で Control キーと C キーを同時に入力し,さらに,y と入力する。

 

Jupyter-lab と Paraview とで OpenFOAM 結果を操作する

端末を起動し,処理したい OpenFOAM ケースディレクトリに移動する。そこから,`jupyter lab` を実行する。

jupyter-lab では,下記のように paraview ライブラリを読み込むことで,paraview の機能が使用できる。

 from IPython.display import Image, display_png

import paraview.simple as pv### サンプル

 

例題ケース:/home/user/OpenFOAM/user-v2106/run/pitzDaily

ノートブック:paraview-test-pitzDaily.ipynb

 

openfoam と paraview と jupyter-lab とに関する参考サイト:https://inabower.hateblo.jp/entry/2019/01/05/225403

オープンCAE勉強会@富山(第81回)

OpenFOAMカスタマイズの始め方(v1912)

OpenFOAMをはじめてカスタマイズする初心者を想定し,基礎の基礎をハンズオン形式で学びます。OpenFOAMの改造をどこからはじめて良いか分からないといった人が,元のコードをコピーして,新たな名前のモデルやライブラリを作る手順を確認していきます。

6月16日(土)オープンCAE勉強会@富山(第64回)について

オープンCAE勉強会@富山(第64回)開催のお知らせです。
6月16日(土)に,大学コンソーシアム富山「駅前キャンパス」 研修室2(富山市新富町1-2-3 CiCビル5階)にて開催いたします。会場が通常とは異なりますのでご注意下さい。

<講習会について:予定>
タイトル: モデルベースデザイン入門:「1DCAE概念に基づく熱流体問題へのOpenModelica解析の導入」(講師 福江高志氏)
内容:

 オープンソースのModelicaソフトウェアOpenModelicaの入門講習です。 OpenModelica公式サイト

1D-CAEやモデルベースデザインによる上流設計ツールとして,Modelicaが着目されています.オープンソースのModelicaシミュレーションツールとしてOpenModelicaがあり,手軽に1D-CAE解析ができるようになりました.一方,1D-CAEを正しく運用するためには,設計者自身が計算する対象の物理現象を適切に理解し,正しく機能モデルに落とし込むことが必須です.設計者が責任をもって製品の性能を司る物理現象を理解し,ただしく1D-CAEツールの中で再現することが,1D-CAEを使うために必須のステップです.

そこで今回は,1DCAE概念:「物事の本質を的確に捉え,見通しの良い形式でシンプルに表現する」(大富, 日本機械学会誌, 120-1188 (2017), 10-15)に基づく上流設計を実現する中でOpenModelicaを運用するためのプロセスを,熱流体問題を事例に追いたいと思います.すなわち,① 解析対象で発生する現象の切り分け,② 機能モデルの構築,③ OpenModelica 内での1D-CAE解析モデルの構築と解析,④ 結果の確認 までの流れを体験します. OpenModelicaの操作法および,対象とする現象のMOR (Model-Order Reduction) とModelicaモデルの関係について解説します.


講習マシンについて:

 ハンズオン講習をご希望の方は,講習環境を用意したノートPCをご持参ください。必要な環境は, OpenModelica 1.12.0 以降 です。OpenModelicaは,Windows版,Mac版,Linux版が公式サイトで提供されています。

 上記の環境構築ができない場合に備えて,OpenModelica最新版 をインストールした仮想マシンアプライアンスを作成しました。Virtualboxなどの仮想環境が使用できるかたは,下記からファイルを取得し,仮想環境にインポートしてお使いいただけます。近日中に公開します。

2月17日(土)オープンCAE勉強会@富山(第60回)について

オープンCAE勉強会@富山(第60回)開催のお知らせです。
2月17日(土)に,富山県立大学にて開催いたします。

 今回のミニ講習会は,「OpenFOAM付属V&V例題の実行と結果の自動処理化[予定](講師 中山勝之氏)」です。 

 OpenFOAMの計算結果を効率的に処理し,可視化画像やグラフを作成する方法を学ぶ講習シリーズの1つです。 ParaView,OpenFOAMポスト処理ツール,シェルスクリプト, gnuplot, matplotlib(with Python)を扱う予定です。効率的にOpenFOAMを活用するためのヒントとなります.
 
 今回は,最新の OpenFOAM V1712に追加された検証例題に取り組みます。
 OpenFOAM V1712には,V&Vの例題として,verificationAndValidation/schemes/divergenceExampleが加わりました。シンプルな2次元場において,14種類の拡散項のスキームを使用して,その特徴を比較するためのものです。ソルバにはscalarTransportFoamを使用し,定められた速度場で移流するパッシブスカラーの様子を再現します。

 まず,この例題の内容を確認し,スクリプトを活用して,効率的にシミュレーションの実行・テストを実践する方法について学ぶ。さらに,14種のスキームによって,結果がどのように変化するのかを自動的に可視化する方法を学びます。下記のような可視化画像を,自動で作成し,効率的に検証を進めます。





ハンズオン講習をご希望の方は,講習環境を用意したノートPCをご持参ください。詳細は申込サイトをご確認ください。

 ご意見,ご要望がございましたら,中川までお知らせください。

勉強会の詳細や最新の情報は,参加申込みサイトをご確認ください。