CAE

OpenFOAM【chtMultiRegionFoamで輻射:viewFactorモデルについて】

OpenFOAMでchtMultiRegionFoam+viewFactorの導入について検討したのでそのまとめです。 viewFactorモデルの考え方 形態係数に基づいて輻射を計算します。OpenFOAMではfluid側で新しく輻射の熱流束に関する変数qrを追加して計算します。qrの境界条件は、fluid…

Cantera【インストール】

詳細化学反応機構を解析するオープンソースなソフトウェアです。 cantera.org 化学反応速度、熱力学、移動現象を解析できるらしいですよ。(本家の説明を和訳) インストール(anaconda) 今回はanaconda環境にインストールします。本家の指示通りに進みます。…

【swMATH】解析ソフトウェアの検索

下記のページからソフトウェアを探すことができます。全然知らなかった、、、 https://www.swmath.org/

OpenFOAM【多孔質体の解析】

多孔質体の解析として、porousSimpleFoamがあります。 /applications/solvers/incompressible/simpleFoam/porousSimpleFoam にあります。 大きくは、この辺が違っているようです。 UEqn.H pEqn.H 参考にしました PENGUINITIS - 多孔質体の解析

OpenFOAM【simpleFoamとrhosimpleFoamの違い】

OpenFoamのsimpleFoamとrhosimpleFoamを見ながら、圧縮性流体と非圧縮性流体について考える回です。 それぞれの違い simpleFoam:"incompressible"(=非圧縮性)なソルバ rhosimpleFoam:"compressible"(=圧縮性)なソルバ 数値流体力学の観点からの比較…

FrontISTR【Newton法の反復数】

FrontISTRで遊んでいたら、以下のコメントがでて停止しました。 ### Fail to Converge : at total_step=... Newton法の反復回数の上限(50回で設定)に達したようです。ソースコードを眺めていると当該箇所見つけました。 @/analysis/static/fstr_solve_NonL…

FrontISTR【umatの設定のメモ書き】

ユーザー定義材料物性をいろいろといじった時のメモです。基本的に、umat.f90を修正することになりますが、欲しいパラメータを共連れで引っ張るために追加でいくつか修正しています。 umat.f90(fistr1/src/lib/user) 一番いろいろと追加するところ。 matl【…

OpenFOAM【chtMultiRegionFoam:複数領域の設定】

バージョンはOpenFOAM-v1912 chtMultiRegionFoamのmultiRegionHeaterを参考に設定します。(/tutorial/heatTransfer中に格納)。 ファイル構成 /systemに以下を配置します。 blockmeshDict topoSetDict controlDict fvSolution fvSchemes topoSetDictが領域…

OpenModelica【インストール】

Modelicaにトライします。 1dcae.com 本家サイトからwindows版(exeファイル、64bit)をインストールします。Official Release を選択しました。 Download Windows - OpenModelica 1.3GBもあるので、ダウンロードにも一苦労です。。そのあとは適当にインスト…

OpenFOAM【最小のpimpleFoam】

層流の計算で、最小のpimpleFoamの環境構築を目指します。 メッシュの作成 /system中にblockMeshDictを配置します。 $ blockMesh のコマンドでメッシュを生成します。 /systemの構築 blockMeshDict controlDict fvSchemes fvSolution を配置します。 control…

OpenFOAM【インプットファイルの読み込み】

laplacianFoamのtransportPropertiesを修正して作成しました。新しくインプット用のファイル(myProperties)を作成し、物性として温度T0を読み込みます。 createFields.Hに追加します。 IOdictionary myProperties ( IOobject ( "myProperties", runTime.co…

OpenFOAM【水の蒸発潜熱を考慮する簡単なしかけ】

laplacianFoamの中で、水の蒸発潜熱を取り込む簡単なしかけです。温度場を解いて、次のステップに進む前あたりに突っ込みます。 // // 水の蒸発潜熱のようなもの forAll(T,i){ if( T[i] > T0 ) { if( X[i] < 1. ) { X[i] += (T[i]-T0)/h0; T[i] = T0; } } el…

OpenFOAM【VSCodeで開発環境】

laplacianFoamの改良をやっています。現状の開発環境。 フォルダ構造 /openfoam /myFoam .vscode .git myFoam /Make myFoam.C createFields.H write.H /laplacianFoam clean myFoam /0 /constant /system myFoam プログラム開発中の作業ディレクトリはmyFoam…

OpenFOAM【スカラーフィールドの設定】

laplacianFoamにスカラーフィールドを追加しました。ちょっとひねって、温度に依存して指数関数的に減衰していきます(反応率のイメージ) createField.Hに追加 volScalarField X ( IOobject ( "X", runTime.timeName(), mesh, IOobject::MUST_READ, IOobjec…

OpenFOAM【scalarCodedSource】

注意しよう! 結構苦戦しました。ネットのソースコードを参考にしていましたが、バージョン違い?などでうまくいかなかったので、結局自分がインストールしたソースコード内をあさりました。 テンプレートを探す grep -r "scalarCodedSource" * で探すと etc…

OpenFOAM【fvOptions】

fvOptionsについて調査。目標はヒートソースを導入すること。 https://caefn.com/openfoam/fvoptions-semiimplicitsource scalarSemiImplicitSourceを使いました。 /system中にfvOptionsの名前で下記の内容を記載して実行すればokです。laplacianFOAMで実行…

OpenFOAM【laplacianFOAMの改造】

laplacianFOAMの改造に取り組みました。目的は有効熱拡散係数のDTを温度の関数にすること。 やったこと createField.Hを修正する。 34 dimensionedScalar A 35 ( 36 transportProperties.lookup("A") 37 ); 38 39 volScalarField DT 40 ( 41 IOobject 42 ( 4…

OpenFOAM【laplacianFoam:構成の確認】

コピペしながら構成を確認する回。 メッシュの作成 /systemのフォルダを作成する。 /systemフォルダ内にcontrolDictとblockMeshDictを用意する。 controlDictはチュートリアルあたりからコピペする。 $ blockMeshでメッシュを作成。 物性 transportPropertie…

OpenFOAM【blockMesh】

ユーザーガイドはこちら。 cfd.direct 参考にしました。 http://www.mech.iwate-u.ac.jp/~hirose/ockitatohoku/ref/02_OpenFOAM_blockMesh20170520.pdf $ blockMesh 基本 /systemにblockMeshDictを配置する。 /constant/polyMeshにメッシュが作成される。 bl…

OpenFOAM【laplacianFoam:チュートリアル】

チュートリアルをやってみました。ディレクトリはここ /opt/openfoam7/tutorials/basic/laplacianFoam メッシュはflange.ansでansysフォーマットのようです。 $ ansysToFoam flange.ans でメッシュ作成。あとは $ laplacianFoam で解析します。 $ paraFoam …

OpenFOAM【ソルバのディレクトリを探す】

中身の勉強のために、ソルバ(simpleFOAMとか)の場所を探しました。お探しのものはこちらです。 /opt/openfoam7/applications/solvers 大変参考になりました。 penguinitis.g1.xrea.com

OpenFOAM【reactingFoam:チュートリアル】

チュートリアルをやります。ユーザーガイドはこちら。 OpenFOAM: User Guide: reactingFoam とりあえず、コピー。 $ cp -r $FOAM_TUTORIALS/combustion/reactingFoam . 移動して解析してみます。 $ cd reactingFoam/laminar/counterFlowFlame2D/ $ blockmesh…

OpenFOAM【インストール】

そういえば、インストールしてなかったです。Foundation 版 v7をインストール。 openfoam.org 本家の指示通り入れます。 $ sudo sh -c "wget -O - http://dl.openfoam.org/gpg.key | apt-key add -" $ sudo add-apt-repository http://dl.openfoam.org/ubunt…

DWSIM【インストール】

OSSの化学プロセスシミュレータを見つけたので。 https://dwsim.fossee.in/ この辺からダウンロード。 https://sourceforge.net/projects/dwsim/files/latest/download とりあえず、インストールできたようです。なんかわからんが、それっぽい。 ざっと調べ…

ImageJ【インストール】

CAE

画像解析のソフトウェアです。サクッと入るので便利。 https://imagej.nih.gov/ij/download.html ここからダウンロード。 Windowsで入れた場合は実行ファイルがそのまま入っているので、ダブルクリックで使用します。

FrontISTR【AMPLITUDE】

経時変化する境界条件の設定方法について。 解析制御データ(.cnt)での設定 AMP = 流束履歴テーブル名 (!AMPLITUDE で指定) 具体的な記述は、各境界条件の設定方法に準拠。例えばFIXTEMPの場合 !FIXTEMP, AMP=FTEMP ALL, 1.0 単一領域メッシュデータ(.msh…

FrontISTR【makeで再コンパイル】

メモ書き程度に。 ソースコードを修正した時にmakeをする場所。 FrontISTR/build/fistr1 build中でコンパイルできるけど、他のプログラムもコンパイルされる。

FEniCS【インストール】

ネットサーフィンをしていたら見つけたので。 fenicsproject.org 偏微分方程式の問題をサクッととりあつかえるみたい。 NumFOCUSからも支援されているようです。 オープンソース支援団体NumFOCUSについて - Qiita 日本でも、ぼちぼち使用している人がいるみ…

Paraview【インストール】

Ubuntu環境(WSL)にインストール。何も考えずに、apt-get install $ sudo apt-get install paraview updateしろと言われているみたいなので、アップデートをかませてもう一度。 $ sudo apt-get update $ sudo apt-get install paraview インストールできた…

熱伝導方程式と熱拡散方程式

熱伝導方程式は、熱収支に対して実験的事実(フーリエの法則:Fourier's law)を反映したもの。三次元の熱伝導方程式は ここで、熱拡散率(thermal diffusivity)をとして定義した場合に となる。この場合の”熱拡散方程式”と呼ぶことが多い(ようです)。 数…