🌀

FreeCADでCFD(数値流体力学)による解析をより実践的に行う

に公開

FreeCADでCFD解析

FreeCADでは比較的簡単にCFD(数値流体力学)の解析ができます。

このページでは、FreeCADへインポートした3Dモデルを元に、CfdOFワークベンチを使ってCFD解析を行う手順を紹介します。

事前準備

FreeCADへCfdOFワークベンチをインストールしてOpenFOAMやParaViewを使える状態へセットアップを終わらせます。

解析対象

ここでは3Dプリンターの冷却ダクトを解析します。やりたいことは、

  • ダクトに空気を送り込む
  • ダクト内の空気の流れを見る
  • ダクト先端から出た空気がノズル周りでどのように動くのかを見る
  • どの方向へ排気されるかを見る
  • ダクトがテーブル直上にある場合の流れの当たり具合を見る

です。

そのために必要なモデルはダクトとノズル周りです。今回はOSHWのモデルを解析対象としましたので、STEPファイルをダウンロードし、必要なデータをFreeCADへインポートして位置を合わせておきます。


解析対象(Vz-Printhead-Printed v30)

作業開始

次の手順で作業を行います。

  1. 空間(空気)のモデリング
  2. 解析の設定
  3. 境界の設定
  4. メッシュ作成
  5. 解析実行
  6. 可視化(ParaView)
  7. テーブル直上の場合の解析

1. 空間(空気)のモデリング

PartDesignワークベンチを使います。

1.1. 空間

解析したい部分(ダクトとノズル周辺の空間)がすっぽり入る容器のような空間をモデリングします。大きさは、ノズルを中心として前後・左右・下方に30~50mmほど欲しいところです。

新しいBodyを作成して、スケッチと押し出しを使って適当な箱を作ります。あとで空気の流入口(助走区間)を取り付けるために、ダクトの入口を空間から0.5mmほど適当にはみ出させます。


作成した空間


上面図


側面図

1.2. 助走区間

解析流体の流入口付近は流れが安定しない場合があるので助走区間を設けます。ダクト流入口の形状を目測でスケッチし、適当な長さに押し出して助走区間をモデリングします。今回は長さをたっぷりとって50mmとします。


目測でスケッチ


押し出し結果

1.3. 型抜き

空間からダクトとノズルをBoolean演算で切り取ります。


Boolean演算で型抜き


結果

これで空間(空気)がモデリングできました。

2. 解析の設定

CfdOFワークベンチを使います。

CfdOF_Analysisボタンで解析コンテナを作成し、その中に含まれる次の3つの項目をそれぞれ設定します。

2.1. PhysicsModel

以下を選択します。

  • 定常 (Steady)
  • 単層流 (Single Phase)
  • 等温 (Isothermal)
  • 粘性 (Viscous)
  • RANS
  • kOmegaSST

2.2. FluidProperties

定義済み流体ライブラリ(Predefined fluid library)からAirを選択します。

2.3. InitialiseFields

以下を設定します。

  • 速度: ポテンシャル流れ
  • 圧力: 1e+02 kPa (≒1気圧)
  • 乱流: デフォルト値

3. 境界の設定

壁面、流入口、開口部の3つの境界を作成します。

CfdOF_FluidBoundaryボタンを押すと境界が1つ追加されます。合わせて3つの境界を追加します。

3.1. 壁面

ダクトやノズルなどは、流体にとっては壁面になります。今回の解析では壁面の数が最も多くなるので、壁面をデフォルト値として設定します。

サブタイプにはノースリップ(No-slip)を選択します。

3.2. 流入口

助走区間の先に流入口を設定します。

サブタイプは体積流量とし、値は2.4 l/sにします。

3.3. 開口部

解析する空間の周囲にも実際には空間が広がっています。周囲の6面を開口部に設定します。

サブタイプは周囲圧力とします。

4. メッシュ作成

4.1. データの保存

メッシュ作成の前に、CADデータの保存ディレクトリが定まっている必要があります。ここでデータを保存しておきます。

4.2. メッシュ作成

空間データのBodyを選択した状態でCfdOF_MeshFromShapeボタンを押して、メッシュ作成画面を開きます。


はじめにボディを選択することを忘れずに

設定は

  • メッシュユーティリティ: cfMesh
  • 基本要素サイズ: 1 mm

とします。

メッシュcaseを保存し、メッシャーを実行してしばらく待つとメッシュが生成されます。

計算時間は30秒弱でした。
サーフェースメッシュの読み込みボタンを押すと、作成されたメッシュが画面表示されます。


結果


助走部分からダクト内へ至る部分の確認、スムーズにメッシュ化できている


半透明化して内部の確認、ダクトやノズル周りも潰れずにメッシュ化できている

5. 解析実行

CfdSolverを開き、case設定を保存してからソルバーを実行します。

計算時間は8分ほどでした。

6. 可視化(ParaView)

同パネルでParaViewボタンを押します。

6.1. 壁面の表示

OpenFOAMReader1を選び、group/wallにチェックを入れてApplyします。

CleantoGrid1を選び、ViewメニューからMulti-block Inspectorを表示させて、internalMeshのチェックを外します。

これで壁面が表示されます。

6.2. 流れの表示

OpenFOAMReader1を選び、Stream Tracerを追加します。

Point Cloudを選び、ポイントを2000個ほどに設定し、Layout上に表示された球を助走区間に重なるように移動させ、Applyします。その後、色をU(流速)へ変更します。


ダクト出口からの流れが表示された

ダクト内の流れを見るためには、CleantoGrid1を選び、Opacityを適度に減らします。色をp(圧力)へ変更します。


ダクト内部の流れも表示された

必要に応じてさらに表示設定を調整することで、より見やすく可視化できます。


結果


ノズル周りの流れと排気方向


ダクト内部の流れ、色が赤いところは流速が高いところ

7. テーブル直上の場合の解析

FreeCADに戻り、空間モデルのBodyを編集して、空間の底面がノズル直下になるまで高さを減らします。


側面図

開口部の境界設定画面から底面を除外します(底面が壁面の扱いになります)。
メッシュ作成と解析を再実行して、ParaViewで可視化させます。


結果:色が黄色→赤色と変化するほど高い圧力で流体が当たっている場所


テーブル直上の場合の排気方向:線の色が赤いところは流速が高い

解析結果の考察

このダクトは、3Dプリンターのビルドテーブル上では20x20mm程度の範囲におおよそ一様に流れが当たることが示されました。また6.2節で見られたように、ダクトからの流れが二股に分かれているなど、あえてノズル直下に当たるのを避けて周辺への配向を重視しているような設計意図も感じられます。排気は前方(各画像の左側/下側方向)のようです。

これらの結果から判断すると、低速で高精細3Dプリントするには向かず、高速3Dプリント向きの性質を持つと考えられます。

まとめ

FreeCADを使ったCFD解析の手順を紹介しました。現実に使われているダクトのモデルを解析することで、そのダクトの性質を理解する一助としました。
他CADで作成したモデルでもFreeCADへインポートできれば、このように手軽に簡単にCFD解析を行うことができます。

皆さまのプロジェクトの設計ツールの1つとしてお役立てください。

GitHubで編集を提案

Discussion