12
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【最速】5分で実施OpenFOAM@Google Colaboratory

Last updated at Posted at 2018-12-07

はじめに

OpenFOAMの環境構築からCavityチュートリアルを実施までを5分で終える方法を提示します。
下記のようなユーザを対象に、環境の準備なしに、とにかく手軽にOpenFOAMを実行してみたい人向けの記事です。

  • OpenFOAMを実行したことのない初心者
  • Linux環境を持っていないけどOpenFOAMをやってみたい初心者
  • スマホで計算(計算の準備をしたい、ソルバ開発)したい中毒者

最速OpenFOAMの実行

1. Google Colaboratoryで新しいNotebook

Googleのアカウントでログインした状態で、
Google Colaboratoryにアクセス。
「PYTHON 3 の新しいノートブック」をクリック

2. OpenFOAMのインストール

1つめのセルに下記を入力し、「Shift + Enter」(もしくは三角マーク)で実行

%%bash
sh -c "wget -O - http://dl.openfoam.org/gpg.key | apt-key add -"
add-apt-repository http://dl.openfoam.org/ubuntu
apt-get update
apt-get -y install openfoam6

3. 計算Caseを準備

2つめのセルに下記を入力し「Shift + Enter」(もしくは三角マーク)で実行。
これにより、cavityチュートリアルがカレントディレクトリにコピーされる

%%bash
. /opt/openfoam6/etc/bashrc
cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity/cavity ./

4. 計算実行

3つめのセルに下記を入力し、計算を実行する(「Shift + Enter」(もしく、、、)

%%bash
. /opt/openfoam6/etc/bashrc
cd ./cavity
blockMesh >log.blockMesh 2>&1
icoFoam >log.icoFoam 2>&1 
ls

下記のような出力が確認できればOK

5. 計算結果のダウンロード

下記のコマンドを実行し、解析ケースのzip圧縮を行う。

%%bash
zip -r cavity.zip ./cavity

圧縮したzipファイルをダウンロード。
コード実行後ダウンロードが始まる。

from google.colab import files
files.download('cavity.zip')

あとは、ローカルマシンのParaViewなどで結果を確認すればよい。

まとめ

  • 私の環境(in新幹線)で、実測3分43秒でした。
  • 計算環境はGoogle Colaboratoryを使う(90分ルール、12時間ルールには注意)
  • 行頭に%%bashを入力し、bashコマンドを存分に使う!

タイムアタックのポイントは各セルの終了を待たず次のセルを実行しておくことと実行する時間帯かな?
GoogleのColaboratoryの使い方としていいのかわかりませんが、一度お試しあれ。
他の方法で最速記録を塗り替えた場合、連絡ください。【最速】の看板を下ろします

12
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?