Text

Similar documents
Microsoft PowerPoint OpenFOAMの使い方(柴田).ppt [互換モード]

(Microsoft PowerPoint \225\327\213\255\211\357\(\215\202\213\264\).ppt)

再起動した状態になり パスワードを入力すると 図 2 のように DEXCS2011 のアイコ ンがデスクトップ上に表示される 2 端末を準備する メニューバーにある端末の形を左クリック 図 2 デスクトップ メニューバーに端末の形がない場合 図 3 メニューバー アプリケーション アクセサリー 端末

OpenFAOM合同勉強会【関西】

OpenFOAM_compile_basic 1 / /12/23 12: 年 12 月 13 日オープン CAE 富山 ( 富山県立大学中川慎二 ) Disclaimer OPENFOAM is a registered trade mark

Slide 1

swak4Foamを使って見ました.odp

この講習会では, ユーザーガイドを参照しながら, 作業を進めます ユーザーガイドは下記サイトで入手可能です OpenFOAM Documentation( オリジナル )

この講習会では, ユーザーガイドを参照しながら, 作業を進めます ユーザーガイドは下記サイトで入手可能です OpenFOAM Documentation( オリジナル )

熱伝達の境界条件 (OF-2.1 OF-2.3) 1/7 藤井 15/01/30 熱伝達の境界条件 (OF-2.1 OF-2.3) 目次 1. はじめに 2. 熱伝達の境界条件 (fixedalphatemp) の作成 2-1. 考え方 2-2. fixedalphatemp の作成 3. 作動確認

Microsoft PowerPoint - Borland C++ Compilerの使用方法(v1.1).ppt [互換モード]

OpenAM 9.5 インストールガイド オープンソース ソリューション テクノロジ ( 株 ) 更新日 : 2013 年 7 月 19 日 リビジョン : 1.8

2012/4/28 OpenCAE 初心者勉強会東海 1 twoliquidmixingdymfoam を用いた タンクでの塩水混合解析 ( その 1) TM

産直くん 9 リピートくん 9 バックアップ リストア作業チェックリスト バックアップ リストア作業項目一覧 作業項目作業目安時間概要 00 バックアップ リストア作業を行う前に 産直くん 9 リピートくん 9 のバックアップ リストア作業を円滑に行うための確認事項をまとめています 1. バックアッ

情報処理概論(第二日目)

PowerPoint プレゼンテーション

OpenFOAM を理解するための第 1 歩 2016 年 5 月 28 日オープンCAE 富山 富山県 学 中川慎二 Disclaimer: OPENFOAM is a registered trade mark of OpenCFD Limited, the producer of

Microsoft PowerPoint - InfPro_I6.pptx

NEE 研究会第 18 回講演討論会 OpenFOAM への計算機能追加連続的データ同化法 (VCA 法 ) の実装 大阪大学大学院工学研究科博士後期課程松尾智仁 内容 1.OpenFOAM を使う理由 1.1 OpenFOAMの特徴 1.2 OpenFOAMを使うにあたって 2.OpenFOAM

ガイダンス

PowerPoint プレゼンテーション

スクールCOBOL2002

目次 1. 動作環境チェック 動作必要環境 Java のインストール Java のインストール Firebird のインストール Firebird のインストール Adobe Reader のインストール

3.Cygwin で日本語を使いたい Cygwin で以下のコマンドを実行すると それ以降 メッセージが日本語になります export LANG=ja_JP.UTF-8 これは 文字コードを日本語の UTF-8 に設定することを意味しています UTF-8 は Cygwin で標準の文字コードで, 多

512_横断図の編集例

無償コンパイラ(JDK(Java Development Kit))を用いたJavaプログラムの実行方法

この講習の目的 OpenFOAM のソースコードを読むのに必要な, 基礎的な知識を知る ソルバのソースコードから, その先で行われていることを探る方法を知る 基礎的なソルバの, 大まかな流れを知る 有限体積法が実装されていそうなことを感じ取る? 2

設定ファイル R 起動時に読み込まれ, R における種々の設定を項目別にファイルに記述してあります R の主な設定ファイルは Rconsole, Rdevga, Renviron, Rprofile の 4 つです いずれもテキストファイルですが, 改行コードが Windows のものと異なる場合が

I II III 2

214_横断図の編集例

PowerPoint プレゼンテーション

インテル(R) Visual Fortran コンパイラ 10.0

CLUSTERPRO MC StorageSaver istorage M シリーズ使用時の設定手順 (HP-UX 版 Linux 版 Windows 版 ) 2013(Apr) NEC Corporation istorage M シリーズを使用する場合の StorageSaver 設定手順 (H

Hphi実行環境導入マニュアル_v1.1.1

情報処理概論(第二日目)

レベルアップ詳細情報 < 製品一覧 > 製品名 バージョン < 追加機能一覧 > 管理番号 内容 説明書参照章 カナ文字拡張対応 < 改善一覧 > 管理番号 内容 対象バージョン 説明書参照章 文字列のコピー ペースト改善 ~ 子画面の表示方式 ~ 履歴の詳細情報 ~ タブの ボタン ~ 接続時の管

電子納品チェックシステム利用マニュアル

CommonMP Ver1.5 インストール手順書 目 次 1. 概要 目的 必要動作環境 ハードウェア構成 ソフトウェア構成 CommonMP のインストール手順 利用フロー

EnSight 10.1の新機能

京都大学認証基盤ドライバソフト 導入手順書 (macos 10.12~10.14 版 ) 京都大学情報環境機構 第 1 版第 2 版第 3 版第 4 版 2015 年 1 月 30 日 2015 年 3 月 27 日 2015 年 6 月 17 日 2019 年 4 月 2 日

1. TreeFoam概要 TreeFoamをベースにして ここから各種操作ができる 特に OpenFOAMの基本操作になる case作成 境界条件設定 メッシュ作成 の概要について説明 内容 1) TreeFoamのメニュー case作成 コピー 2) grideditor概要 境界条件の設定 確

注意 OpenFOAMユーザーガイド, プログラマーズガイド,OpenFOAM Wiki,CFD Online, その他多くの情報を参考にしています 開発者, 情報発信者の皆様に深い謝意を表します この講習内容は, 講師の個人的な経験 ( 主に, 卒研 等とのコードリーディング ) から得た知識を共

目次 はじめに ツールのインストール ソフトウェアを起動する 画像ファイルの選択... 7 位置の調整... 8 背景色の設定 進捗バーの設定 パスワード設定 ユーザー情報の設定 設定

PowerPoint プレゼンテーション

電子納品チェックシステム利用マニュアル

$ cmake --version $ make --version $ gcc --version 環境が無いあるいはバージョンが古い場合は yum などを用いて導入 最新化を行う 4. 圧縮ファイルを解凍する $ tar xzvf gromacs tar.gz 5. cmake を用

IPM Release 2.6 へのアップグ レード

Windows への opensource COBOL 環境の構築手順 0. 前提条件当手順は Windows へ opensource COBOL 環境を構築する手順である 手順確認時の OS と時期は以下の通りである OS Windows 8.1(64bit) 時期 2018/09 1. 構築手

Fortran 勉強会 第 5 回 辻野智紀

理工学図書館後期 LS 講習会 きれいなグラフを作ろう! gnuplot 入門

新規コンポーネントの作成方法

WebSAM System Navigator JNS isadmin SNMP Trap 連携設定手順書 NEC 2012 年 12 月

インストールマニュアル

Sharing the Development Database

PowerPoint プレゼンテーション

ダウンロードページアップデートマニュアル.ppt

目次 1. はじめに 本書対象者 PALRO のアプリケーションについて Ubuntu 8.04LTS の入手について Linux 上での開発環境の構築 事前準備 Ubuntu のインストール..

Slide 1

スクールCOBOL2002

Geant4を使ってみよう

外字インストーラユーザーズガイド Ver 1.20(2016 年 2 月改訂 )

CLUSTERPRO MC RootDiskMonitor 2.3 for Windows インストールガイド 2018(Jun) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール 本製品のアップデートインストール

SP-H6-KC Saison Information Systems CO.,LTD

Microsoft Word - 参照データ使用方法.docx

KDDI ホスティングサービス G120 KDDI ホスティングサービス G200 WordPress インストールガイド ( ご参考資料 ) rev.1.2 KDDI 株式会社 1

厚生労働省版ストレスチェック実施プログラムバージョンアップマニュアル (Ver2.2 から Ver.3.2) 目次 1. プログラム概要 バージョンアップ実施手順 要注意 zip ファイル解凍の準備 Windows によって PC が保護されました と

プレポスト【問題】

ModelSim-Altera - RTL シミュレーションの方法

Anaconda (2019/7/3)

PowerPoint プレゼンテーション

プログラミング基礎

DigiCert EV コード署名証明書 Javaコード 署名手順書

GettingStartedTK2

目次 第 1 章はじめに 取扱いについて 記載内容について... 6 第 2 章基本操作 Excel Online を開く ファイル ( ブック ) を作成する ファイル ( ブック ) を開く..

MAPインストーラー起動時のエラーメッセージへの対処方法

Microsoft Word - RefWorksコース doc

SketchUp2017 以上のバージョンからプラグインのインストールや管理を行うための 拡張機能マネージャー が追加され Ruby ファイル (*.rbz) の管理が簡単に行えるようになりました SketchUp2016 以下のバージョンは環境設定の 拡張機能 (Extensions) メニューよ

Transcription:

1 / 10 2014/03/23 10:26 今回の講習の目的は,OpenFOAM をカスタマイズ ソースコードを変更する ) ための手順の全体像を学ぶことである 時間 に制約があるため, ソースコードの詳細には触れない http://openfoamwiki.net/index.php/how_to_add_temperature_to_icofoam この資料は,OpenFOAM 2.3.0 を基準として作成した この資料の元となる openfoamwiki は 1.7 に対するものであるが, ほとんど同じ内容のままである その間のバージョンであれば, 問題なく適用できるはず 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ベースとなるコードの選定ベースコードをユーザ作業ディレクトリに複製ベースコードを新しい名前のソルバにする 名前の変更作業のみ : 中身はそのまま ) ベースコードがコンパイルできることを確認するコンパイルしたベースコードが実行できることを確認するコードの変更 その1:createFields.H) コードの変更 その2:my_icoFoam.C) コンパイル例題の変更実行ファイル : ソースコードと例題付録 : 関連するディレクトリの調査 1. ベースとなるコードの選定 OpenFOAMからオリジナルコードを作成する時には, 既存のコードから目的に近いモノを選び, 修正していくことを推奨する 今回は, 非定常, 非圧縮, 層流を解くicoFoamをベースとする これに, 温度場を求めるためのエネルギー方程式を追加する

2 / 10 2014/03/23 10:26 2. ベースコードをユーザ作業ディレクトリに複製 使用している OpenFOAM の環境を確認する OpenFOAM のインストールされているディレクトリを下記コマンドを実行して 確認する コマンド echo $WM_PROJECT_DIR 実行結果 /home/user/openfoam/openfoam 2.3.x インストールしたOpenFOAMのソースコードは,$WM_PROJECT_DIR/applications/solvers に保存されている このディレクトリは,$FOAM_SOLVERS 変数に格納されている ユーザーがソースコードを格納したり, 例題を実行したりするディレクトリは, 各ユーザーのホームディレクトリ内に作ることが推奨されている ユーザーのプロジェクトディレクトリ内に, 目的ごとにディレクトリを作成する ユーザーのプロジェクトディレクトリは, $WM_PROJECT_USER_DIR に格納されている 下記コマンドを実行して, ユーザーのプロジェクトディレクトリを確認する コマンド echo $WM_PROJECT_USER_DIR 実行結果 /home/user/openfoam/user 2.3.x 実行前のディレクトリ構造 実行用ディレクトリ run だけが存在する 一般的には, カスタマイズしたソルバは, $WM_PROJECT_USER_DIR/applications/solvers に保存する OpenFOAM インストール時の実行ファイルは,$FOAM_APPBIN ディレクトリに格納されている コマンド echo $FOAM_APPBIN 実行結果 /home/user/openfoam/openfoam 2.3.x/platforms/linuxGccDPOpt/bin 本当に? 確かめよう icofoam がどこにあるかは, 次のコマンド which) で確認できる コマンド which icofoam 実行結果 /home/user/openfoam/openfoam 2.3.x/platforms/linuxGccDPOpt/bin/icoFoam コンパイルに成功すると生成される実行ファイルは,$FOAM_USER_APPBIN に格納する コマンド echo $FOAM_USER_APPBIN 実行結果 /home/user/openfoam/user 2.3.x/platforms/linuxGccDPOpt/bin ユーザのソルバ ソースコード ディレクトリ $WM_PROJECT_USER_DIR/applications/solvers) を作成する mkdir -p $WM_PROJECT_USER_DIR/applications/solvers ファイルマネージャーで操作する場合 $WM_PROJECT_USER_DIR を開く 新しいディレクトリを作成して,applications という名前にする

3 / 10 2014/03/23 10:26 applicationsディレクトリの中に入る 新しいディレクトリを作成して,solvers という名前にする ユーザのソルバ ソースコード ディレクトリ $WM_PROJECT_USER_DIR/applications/solvers) に, システムのソースコード ディレクトリ $FOAM_SOLVERS/incompressible/) から,icoFoamディレクトリをコピーする コピーしたディレクトリは, my_icofoam という名前にする cp -r $FOAM_SOLVERS/incompressible/icoFoam $WM_PROJECT_USER_DIR/applications/solvers/my_icoFoam ファイルマネージャーで操作する場合 $FOAM_SOLVERS/incompressible/ を開く icofoamディレクトリをコピーする $WM_PROJECT_USER_DIR/applications/solvers を開く コピーした icofoam ディレクトリを貼付け, 名前を my_icofoam に変更する 3. ベースコードを新しい名前のソルバにする 名前の変更作業のみ : 中身はそのまま ) my_icofoam ディレクトリへ移動する cd $WM_PROJECT_USER_DIR/applications/solvers/my_icoFoam icofoam.c ファイルの名前を my_icofoam.c に変更する mv icofoam.c my_icofoam.c 不要なファイル icofoam.depicofoam コンパイル時に生成されていたもの ) を削除する rm icofoam.dep my_icofoam ディレクトリの中にある Make ディレクトリの 'files' ファイルを修正する エディタを起動し,$WM_PROJECT_USER_DIR/applications/solvers/my_icoFoam/Make/files ファイルを開く その内容を, 下記の通りに書き換える 書き換えが終われば, 保存してエディタを終了する my_icofoam.c EXE = $FOAM_USER_APPBIN)/my_icoFoam このfilesファイルでは, コンパイルするファイル名と, コンパイルした後の保存先とファイル名を指定している 保存先がユーザーの実行ファイルディレクトリになっていることに注意する Make ディレクトリには,files ファイルの他に,options ファイルがある 今回は,options ファイルの修正は不要である 元のソルバで使われていない機能を追加する際には,options ファイルでライブラリを追加することがある 不要なディレクトリ linuxgccdpopt を削除する icofoam コンパイル時に生成されていたもの ) rm -rf Make/linuxGccDPOpt ファイルマネージャーで操作する場合

4 / 10 2014/03/23 10:26 $WM_PROJECT_USER_DIR/applications/solvers/my_icoFoamディレクトリを開く icofoam.c ファイルの名前を,my_icoFoam.C に変更する 不要なファイル icofoam.dep を削除する Makeディレクトリに入る files ファイルをダブルクリックして開く その中身を下記の様に修正して, 保存する my_icofoam.c EXE = $FOAM_USER_APPBIN)/my_icoFoam Make ディレクトリ内にある linuxgccdpopt ディレクトリを削除する 4. ベースコードがコンパイルできることを確認する my_icofoam ディレクトリへ移動する 先ほどと同じ場所 ) cd $WM_PROJECT_USER_DIR/applications/solvers/my_icoFoam 下記のコマンドを実行して, ソースコードをコンパイルする wmake 実行ファイルができたことを確認するため, 下記コマンドを実行する my_icofoam が存在すればOK コンパイル時にエラーが発生しないにもかかわらず my_icofoam が見当たらない場合は,Make/files ファイルにおいて EXE= 以下の指定がちがう可能性が高い ls $FOAM_USER_APPBIN 実行後のディレクトリ構造 ソルバ用, 実行形式ファイル用, 実行用ディレクトリが存在する 5. コンパイルしたベースコードが実行できることを確認する ベースとなったicoFoam 用の例題 cavity を,my_icoFoam_cavity という名前にして, ユーザの実行ディレクトリに複製する cd $FOAM_RUN/tutorials/incompressible/icoFoam. cp -r cavity $FOAM_RUN/my_icoFoam_cavity

5 / 10 2014/03/23 10:26 ファイルマネージャーで操作する場合 $FOAM_RUN/tutorials/incompressible/icoFoam ディレクトリを開く cavity ディレクトリをコピーして,$FOAM_RUN ディレクトリに貼り付ける 名前を my_icofoam_cavity に変更する 新しく作成したディレクトリに移動して,my_icoFoam を実行する エラーが発生せず 実行できればOK cd $FOAM_RUN/my_icoFoam_cavity blockmesh my_icofoam 6. コードの変更 その 1:createField.H) ここから, ソースコードの改造に入る まず,$WM_PROJECT_USER_DIR/applications/solvers/createField.H ファイルに,DT と T を追記する DT は熱拡散率であり, 速度場の nu に対応するものである nu と同様に, 次元を持つスカラー量 dimensionedscalar 型とする transportproperties ファイルから値を読み込む T は温度場である 圧力と同様に, セル中心で値を持つスカラー量 volscalarfield 型とする 圧力などと同様に, 計算時には時刻ディレクトリ runtime.tiimename)) から値を読み込み / 書き出しする 下記に追記する部分の内容を記す 詳細は別途配布資料を参照のこと Info<< "Reading transportproperties\n" << endl; IOdictionary transportproperties IOobject "transportproperties", runtime.constant), mesh, IOobject::MUST_READ, IOobject::NO_WRITE ) ); dimensionedscalar nu transportproperties.lookup"nu") ); //Add here... dimensionedscalar DT transportproperties.lookup"dt") ); //Done for now... Info<< "Reading field T\n" <<endl; volscalarfield T IOobject

6 / 10 2014/03/23 10:26 ); "T", runtime.timename), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE ), mesh 7. コードの変更 その 2:my_icoFoam.C) 次に,my_icoFoam.C に, 温度場の式を追加する 温度場の基礎式は速度場と同様であり,U の式を参考にする U は Vector であるが, 温度はスカラーなので,fvScalarMatrix として温度を求めるための行列 TEqn を定義し, 解く 下記に追記する部分の内容を記す 詳細は別途配布資料を参照のこと U = rua*fvc::gradp); U.correctBoundaryConditions); //add these lines... fvscalarmatrix TEqn fvm::ddtt) + fvm::divphi, T) fvm::laplaciandt, T) ); TEqn.solve); //done adding lines... runtime.write); 実行とは直接関係しないが, このファイルの冒頭コメント部にある Application を icofoam から my_icofoam に修正して おく 8. コンパイル 端末で, ソースコードのディレクトリに移動し, コンパイルするためのコマンド wmake を実行する cd $WM_PROJECT_USER_DIR/applications/solvers/my_icoFoam wmake 9. 例題の変更 先に作成した例題ディレクトリ my_icofoam_cavity を変更して, 温度関係の設定を追加する まず, 先ほどの計算結果を削除して初期状態に戻すため, コマンド foamcleantutorials を実行する cd $FOAM_RUN/my_icoFoam_cavity

7 / 10 2014/03/23 10:26 foamcleantutorials constant/transportproperties に,nu を参考にして,DT を追加する 単位はどちらも同じで,m の 2 乗と s の -1 乗である 値を 0.002 とする DT DT [0 2 1 0 0 0 0] 0.002; 0/ ディレクトリに,T ファイルを追加する p ファイルを複製して 名前を T とする 内容は下記の通り 流体温度の初期値を 300 度, 上部の移動壁を 350 度に固定し, その他の壁面は 300 度に固定する class volscalarfield; object T; //**********************************// dimensions [0 0 0 1 0 0 0]; internalfield uniform 300; boundaryfield movingwall type fixedvalue; value uniform 350; fixedwalls type fixedvalue; value uniform 300; frontandback type empty; system/fvschemes ファイルに, 温度場の解き方に関する設定を追加する OpenFOAMのバージョンが2.2 以前の場合には, 下記に加えて laplacianschemes にも追加が必要である U の場合と同様とすればよい divschemes default divphi,u) divphi,t) none; Gauss linear; Gauss upwind; //NOTICE: there is no space between the comma and the variables system/fvsolution ファイルに, 温度場の解き方に関する設定を追加する solvers p //information about the pressure solver

8 / 10 2014/03/23 10:26 ; //add this... T solver BICCG; preconditioner DILU; tolerance 1e 7; reltol 0; ; //done editing... 10. 実行 例題ディレクトリから, 新しく作成したソルバ my_icofoam を実行する cd $FOAM_RUN/my_icoFoam_cavity blockmesh my_icofoam parafoam で可視化した結果の一例 11. ファイル : ソースコードと例題 上記の作業で完成するソースコードと例題のファイルを, 念のために添付します 新ソルバのソースコード : 下記サイトから,my_icoFoam.zip を取得してください

9 / 10 2014/03/23 10:26 例題 : 下記サイトから,my_icoFoam_cavity.zip を取得してください https://github.com/snaka-dev/training_begineer_openfoam_customize 下記の環境変数の値 ディレクトリ ) を確認しましょう 端末から, 環境変数の値を表示するためのコマンド echo を実行して, 結果として出力された文字列をメモしてください 環境変数名の前には,$ 記号を付けて実行します 実行例 echo $WM_PROJECT_DIR システムのプロジェクトディレクトリ $WM_PROJECT_DIR システムのソルバ ソースコード ディレクトリ $FOAM_SOLVERS システムの実行ファイル bin) ディレクトリ $FOAM_APPBIN システムの例題ファイル格納ディレクトリ $FOAM_TUTORIALS ユーザーのプロジェクトディレクトリ $WM_PROJECT_USER_DIR ユーザーのソルバ ソースコード ディレクトリ $WM_PROJECT_USER_DIR/applications/solvers

10 / 10 2014/03/23 10:26 ユーザーの実行ファイル bin) ディレクトリ $FOAM_USER_APPBIN ユーザーの作業 実行 ) ディレクトリ $FOAM_RUN なお, これらの環境変数は,$WM_PROJECT_DIR/etc/config/settings.sh ファイルの中で設定されている これらのディレクトリに移動するためのコマンドが,alias として,$WM_PROJECT_DIR/etc/config/aliases.sh で設定されている これらの設定ファイルは,OpenFOAMインストール作業の一環として,.bashrc ファイルに追記する source $HOME/OpenFOAM/OpenFOAM-2.3.x/etc/bashrc という行によって, 端末を起動する度に読み込まれることとなる