OpenFOAM
OpenFOAMでchtMultiRegionFoam+viewFactorの導入について検討したのでそのまとめです。 viewFactorモデルの考え方 形態係数に基づいて輻射を計算します。OpenFOAMではfluid側で新しく輻射の熱流束に関する変数qrを追加して計算します。qrの境界条件は、fluid…
OpenFOAMの結果の可視化・グラフ化についてす。 chtMultiRegionFoamで実施したときにうまくいかなかったので。 $ postProcess -func singleGraph 通常コマンドで実行すると、こんな感じのエラーが出まくります。 Time = 15000 --> FOAM Warning : From funct…
自作の物性の追加します。 前準備(方針の確認) まずはリンクの構成を理解するところから。 $FOAM_SRC/thermophysicalModels/solidSpecie/transport ここに物性。一例として、exponentialSolidTransport.Hのリンク先を確認。 OpenFOAM: API Guide: src/ther…
chtMultiFegionFoam中で固体(solid)の物性の温度依存性を反映させるのが目的。熱伝導率(transport)、比熱(thermo)の温度依存性を考慮できます。thermophysicalPropertiesが設定ファイル。まずは、thermoTypeで関数の指定。 thermoType { type heSolidT…
chtMultiRegionFoamで輻射を入れる方法についてまとめ。 基本的な考え方 OpenFOAMで輻射を計算する場合、輻射に関する変数(G, IDefault, qr)が追加され、その変数を合わせて解くことになります。 輻射のモデルとしては、P1, viewFactor, FvDOMなどを選択可…
penguinitis.g1.xrea.com 春日氏作成のpythonプログラムblockMesh.pyを使ってみました。ので、簡単なメモ(OpenFOAMも久しぶりなので)。 $ wget http://penguinitis.g1.xrea.com/study/OpenFOAM/blockMeshPython/blockMeshPython-v1912-20200612.tar.gz $ t…
インターネットを探していたら、BiomassGasificationFoamなるものがあるとのことでインストールしようと思ったのですが、、、 https://iopscience.iop.org/article/10.1088/1742-6596/530/1/012015/pdf 注意しよう!! 論文中のリンクをたどって開こうとする…
多孔質体の解析として、porousSimpleFoamがあります。 /applications/solvers/incompressible/simpleFoam/porousSimpleFoam にあります。 大きくは、この辺が違っているようです。 UEqn.H pEqn.H 参考にしました PENGUINITIS - 多孔質体の解析
reactingFoamについて中身を確認します。 reactingFoam.C ソースコードをべたばりしています。 /*---------------------------------------------------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O…
OpenFoamのsimpleFoamとrhosimpleFoamを見ながら、圧縮性流体と非圧縮性流体について考える回です。 それぞれの違い simpleFoam:"incompressible"(=非圧縮性)なソルバ rhosimpleFoam:"compressible"(=圧縮性)なソルバ 数値流体力学の観点からの比較…
バージョンはOpenFOAM-v1912 chtMultiRegionFoamのmultiRegionHeaterを参考に設定します。(/tutorial/heatTransfer中に格納)。 ファイル構成 /systemに以下を配置します。 blockmeshDict topoSetDict controlDict fvSolution fvSchemes topoSetDictが領域…
+をインストールします。 $ sudo apt install tar bison flex m4 $ wget https://sourceforge.net/projects/openfoam/files/v1912/OpenFOAM-v1912.tgz $ sudo tar -xvzf OpenFOAM-v1912.tgz -C /opt/ $ sudo chown -R $USER /opt/OpenFOAM-v1912/ インスト…
www.xsim.info 大変勉強になりました。
層流の計算で、最小のpimpleFoamの環境構築を目指します。 メッシュの作成 /system中にblockMeshDictを配置します。 $ blockMesh のコマンドでメッシュを生成します。 /systemの構築 blockMeshDict controlDict fvSchemes fvSolution を配置します。 control…
OptモードとDebugモードを切り替えます。コンパイルしなおす必要はなしです。 $ sudo vi $WM_PROJECT_DIR/etc/bashrc この辺を修正。 #- Optimised, debug, profiling: # WM_COMPILE_OPTION = Opt | Debug | Prof export WM_COMPILE_OPTION=Opt #export WM_C…
pimpleFoamのtutorialでblockedChannelを実行した後にlogファイルができたので。log.pimpleFoamの中身は実行時の標準出力です。 $ foamLog log.pimpleFoam /logsができます。あとはgnuplotとかで可視化。
laplacianFoamのtransportPropertiesを修正して作成しました。新しくインプット用のファイル(myProperties)を作成し、物性として温度T0を読み込みます。 createFields.Hに追加します。 IOdictionary myProperties ( IOobject ( "myProperties", runTime.co…
WSL+VSCode環境でOpenFOAMデバッグの環境構築です。 デバッグオプションでコンパイル 環境変数 $WM_COMPILE_OPTIONをDebugに変更します。その前に一応、現在の状態を確認。 $ echo $WM_COMPILE_OPTION Opt $WM_PROJECT_DIR/etc/bashrc内を修正します。readon…
laplacianFoamの中で、水の蒸発潜熱を取り込む簡単なしかけです。温度場を解いて、次のステップに進む前あたりに突っ込みます。 // // 水の蒸発潜熱のようなもの forAll(T,i){ if( T[i] > T0 ) { if( X[i] < 1. ) { X[i] += (T[i]-T0)/h0; T[i] = T0; } } el…
OpenFOAMの結果の可視化・グラフ化についてす。 postProcessコマンドについての使い方です。まずはヘルプ。 $ postProcess -help 基本的には、foamGetを使って自分が実施したい解析に近いものを拾ってきます。singleGraphがsampleDictに近い気がした。 $ foa…
OpenFOAMでsampleコマンドがない、と思っていたら、postProcessコマンドに変わったようです。 qiita.com 使用方法は次回以降
laplacianFoamの改良をやっています。現状の開発環境。 フォルダ構造 /openfoam /myFoam .vscode .git myFoam /Make myFoam.C createFields.H write.H /laplacianFoam clean myFoam /0 /constant /system myFoam プログラム開発中の作業ディレクトリはmyFoam…
laplacianFoamにスカラーフィールドを追加しました。ちょっとひねって、温度に依存して指数関数的に減衰していきます(反応率のイメージ) createField.Hに追加 volScalarField X ( IOobject ( "X", runTime.timeName(), mesh, IOobject::MUST_READ, IOobjec…
注意しよう! 結構苦戦しました。ネットのソースコードを参考にしていましたが、バージョン違い?などでうまくいかなかったので、結局自分がインストールしたソースコード内をあさりました。 テンプレートを探す grep -r "scalarCodedSource" * で探すと etc…
fvOptionsについて調査。目標はヒートソースを導入すること。 https://caefn.com/openfoam/fvoptions-semiimplicitsource scalarSemiImplicitSourceを使いました。 /system中にfvOptionsの名前で下記の内容を記載して実行すればokです。laplacianFOAMで実行…
計算結果の削除 以下のスクリプトを作成。ファイル名はclean #!/bin/sh . $WM_PROJECT_DIR/bin/tools/CleanFunctions cleanTimeDirectories 実行権限を付与します。 $ chmod +x clean あとは実行すると解析でできたフォルダが削除される。 $ chmod +x clean …
Doxygenを使ってソースコードを確認します。インストールはこちら。 $ sudo apt-get install doxygen graphviz 参考にしました。 PENGUINITIS - Doxygen を使う OpenFOAMのドキュメント化 OpenFOAMのソースコード中の、Doxygenのディレクトリを引っ張ってき…
laplacianFOAMの改造に取り組みました。目的は有効熱拡散係数のDTを温度の関数にすること。 やったこと createField.Hを修正する。 34 dimensionedScalar A 35 ( 36 transportProperties.lookup("A") 37 ); 38 39 volScalarField DT 40 ( 41 IOobject 42 ( 4…
コピペしながら構成を確認する回。 メッシュの作成 /systemのフォルダを作成する。 /systemフォルダ内にcontrolDictとblockMeshDictを用意する。 controlDictはチュートリアルあたりからコピペする。 $ blockMeshでメッシュを作成。 物性 transportPropertie…
qiita.com 参考にしました。 pathogen.vimの導入 こちらからダウンロードします。 GitHub - tpope/vim-pathogen: pathogen.vim: manage your runtimepath $ mkdir -p ~/.vim/autoload ~/.vim/bundle && \ $ curl -LSso ~/.vim/autoload/pathogen.vim https:/…