単一材料の1枚板を例に、オープンソースのCAEである FreeCAD の温度シミュレーションの手順を以下に記していく。使用した FreeCADはMac版で、バージョンは 0.20.2 である。
なお、このブログはFEMのシミュレーション手順を示すもので、3Dモデルの作成方法は割愛する。
まず、1枚板のモデルをFreeCADで作成するか、または他のCAD等のソフトで作成してFreeCADにインポートする。
FreeCADのメイン画面で、ツールバーにあるプルダウンメニューから ’FEM’ ワークベンチを選択する。
画面左の「コンボビュー」で「モデル」タブを選択すると、’unnamed’ というモデル名の下に ‘_layer’ というオブジェクトが表示される。

次に、メニューの ‘Model’ > ‘Analysis Container (S, A)’ またはツールバーの ‘Analysis Container' アイコンをクリック。
「コンボビュー」の ’unnamed’ の下に ‘Analysis’(その下に ‘SolverCcxTools’)が表示される。

材料の設定
モデルに指定する材料の物性値を設定する。メニューの ‘Model’ >「材質」> ’Marerial for Solid (S, M)’ またはツールバーの ’Marerial for Solid’ アイコンをクリック。
「コンボビュー」の「タスク」タブで、「マテリアル」の ‘Material card’ 横の ‘_document_material’ プルダウンメニューで材料を選択する。選択すると下の ‘Basic Properties’, ‘Mechanical Properties’, ‘Thermal Properties’ に物性値が表示される。
物性値を変えたい場合は ‘Editing material’ の ‘use FreeCAD material editor’ をクリックして該当する物性値を変更したり、新規に材料を設定することもできる。さらに ‘use this task panel’ 横のチェックボックスをチェックすると下に表示されている ‘Basic Properties’, ‘Mechanical Properties’, ‘Thermal Properties’ の数値を直接変更することができる。



次にモデルに材料を指定する。
スクロールして、一番下にある ‘Selection mode’ を ‘Face, Edge’ から「ソリッド」に変える。「追加」ボタンをクリックしてから右の「3Dビュー」画面で、その材料を指定したい オブジェクトをクリックする。オブジェクトを選択する時、3Dビュー画面ではFace(面)しかハイライトしないが、指定したいオブジェクトのFaceをクリックする。
クリックすると「コンボビュー」の「追加」の下のボックスにクリックしたオブジェクトの名前である ‘_layer:Solid1’ が表示される。

最後に一番上まで戻ってOKをクリックする。
境界条件の設定
温度拘束や熱流束などの境界条件を設定する。
FreeCADの場合、定常シミュレーションでも初期温度を設定する必要がある。
まずはその初期温度の設定方法から。
メニューの ‘Model’ > ‘Thermal Constraints’ > ‘Constraints Initial temperature’ またはツールバーから ‘Constraints Initial temperature’ アイコンをクリック。「コンボビュー」の ‘insert component's Initial temperature’ に初期温度を入力してOKボタンをクリックする。

次に温度拘束を設定する方法。
‘Model’ > ‘Thermal Constraints’ > ‘Constraint temperature’ またはツールバーから ‘Constraint temperature’ アイコンをクリック。「コンボビュー」の「追加」をクリックし、「3Dビュー」画面で温度拘束したい面(Face)や線(Edge)または点(Vertex)をクリックする。すると「コンボビュー」内のボックスに指定したFaceやEdge, Vertexが表示され、「3Dビュー」上にも指定した箇所にマーカーがつく。
「コンボビュー」内の ’Temperture’ を選択して温度を入力する。最後にOKボタンをクリックする。

また、’Concentrated heat flux’ を選択すると、局所的な熱流束も指定できる。

次に熱流束や対流を設定する方法。
‘Model’ > ‘Thermal Constraints’ > ‘Constraint heatflux’ またはツールバーから ‘Constraint heatflux’ アイコンをクリックする。「コンボビュー」の「追加」をクリックし、「3Dビュー」画面で熱流束を設定したいFaceをクリックする(Faceしか指定できない)。すると「コンボビュー」内のボックスに指定したFaceが表示され、「3Dビュー」上にも指定したFaceにマーカーがつく。
「コンボビュー」内の ‘Surface Covenction’(対流)または ’Surface heat flux’(熱流)を選択する。‘Surface Covenction’ の場合は ‘Film coefficient’(熱伝達率)と ’Ambient Temperature’(周囲温度)を入力する。‘Surface heat flux’ の場合は ‘Surface heat flux’ (熱流束)を入力する。最後にOKボタンをクリックする。


次に発熱(体)を設定する方法。
‘Model’ > ‘Thermal Constraints’ > ‘Constraint body heat source’ またはツールバーから ‘Constraint body heat source’ アイコンをクリックする。本来なら「コンボビュー」に設定画面が表示されるはずだが、‘Constraint body heat source’ が表示されるだけで、ダブルクリックしても設定画面は出てこない。多分、バグだろう。現状のバージョン(0.20.2)では発熱は設定できないようだ。

メッシュの作成
モデルにメッシュ(要素)を作成して、分割する。
「コンボビュー」の '_layer' をクリックし、メニューの ‘Mesh’ > ‘FEM Mesh from shape by Netgen’ またはツールバーの ‘FEM Mesh from shape by Netgen’ アイコンをクリック。
「コンボビュー」に「最大サイズ」を入力し、「2次精度」にチェックを入れて細かさをプルダウンメニューで選択、「最適化」にチェックを入れれば良いと思う。
適用をクリックすると、「3Dビュー」のモデルが四面体の要素(メッシュ)に分割され、「コンボビュー」にメッシュのノード数や三角形数、tetrahedron count(四面体数)が表示される。最後にOKボタンをクリックする。
あとは計算時間や計算結果を踏まえて、適宜最大サイズや2次精度の細かさを調整する。

解析の設定と実行
定常解析を実施する場合、「コンボビュー」の ‘Analysis’ 下の ‘SolverCcxTools’ をクリックした後、下に表示されるプロパティと値の表で ‘Thermo Mech Steady State’ の値を ‘true’ にする。

非定常(過渡)解析を実施する場合、 ‘Thermo Mech Steady State’ の値を ‘false’ に変更する。そして、’Time End’ の値に計算する最終時間(何秒後までの結果を計算するのか)、’Time Initial Step’ の値に最初に計算する時間の増分(0から始まり最初に何秒後の結果を計算するのか)ステップを入力する。

‘SolverCcxTools’ をダブルクリックして「作業ディレクトリ」を指定(後に記す.Inpファイルの保存ディレクトリ)して、「解析タイプ」で ‘thermo mechanical’ を選択、「.Inpファイル書き出し」をクリックする。
下のボックスに ‘Write completed’ が出れば、.Inpファイルの書き出しが完了。

'Run CalculiX' をクリック。計算が始まる。
‘Calculix done without error!’, ‘Loading result sets…’ が表示されればOK。エラーなく計算が完了している。

解析結果の表示
上の画面の「閉じる」ボタンをクリック。
「コンボビュー」の ‘Analysis’ 下に ‘CCX_Results’ が表示されている。
‘CCX_Results’ をクリックしてハイライト表示したまま、メニューの ‘results’ > ‘Post pipeline from result’ またはツールバーの ‘Post pipeline from result’ アイコンをクリックする。
「コンボビュー」に表示された ‘Post pipeline from result’ をダブルクリックする。モードのプルダウンメニューから ’Surface’ または ‘Surface with Edges’ を選択し、Fieldのプルダウンメニューから ‘Temperature’ を選択すると3Dビュー画面に計算結果の温度コンター図が表示される。


任意のポイントの温度が知りたい場合は、「コンボビュー」の ‘Post pipeline from result’ をクリックしてハイライト表示させたまま、メニューの ‘results’ > ‘Data at point click filter’ またはツールバーの ‘Data at point click filter’ アイコンをクリック。
温度が知りたいポイントのx, y, zの座標を入力するか、 ‘Select Point’ をクリックして「3Dビュー」上で ’Edge’ や ‘Node’ をクリックする。’Field’ のプルダウンメニューから ‘Temperature’ を選択すると、'Value' に指定した点の温度が表示される。


また、任意のラインに沿って温度が知りたい場合は、「コンボビュー」の ‘Post pipeline from result’ をクリックしてハイライト表示させたまま、メニューの ‘results’ > ‘Line clip filter’ またはツールバーの ‘Line clip filter’ アイコンをクリック。
温度が知りたいラインの始点と終点の座標を入力するか、または ‘Select Points’ をクリックして「3Dビュー」上で ’Edge’ や ‘Node’ をクリックする。ただし現状、‘Select Points’ をクリックするとFreeCADが強制終了してしまう(自分だけかもしれないが)。そしてライン内の分解能(Resolution)も入力する。
「モード」を ‘Surface’ または ‘Surface with Edges’ にして、’Field’ は ‘Temperature’ を選択する。最後に 'Create Plot' をクリックすると指定したラインの温度がグラフで表示される。



温度シミュレーションの手順は以上です。今後も新たにわかったところは順次、追加・更新していく予定です。
0 件のコメント:
コメントを投稿
コメント欄