Skip to Main Content

   

Ansysブログ

July 9, 2019

Ansysのヒントとコツ: FluentのUIに式を直接入力する方法

どのシミュレーションでも境界やセルゾーンの設定が固定であったならば、作業が楽だと思いませんか。残念なことに、世界は静止していないため、多くのエンジニアはシミュレーションのいずれかの要素に変数設定を入力しなければなりません。

そこで今回は、Ansys Fluent のユーザーインターフェース(UI)に式を直接入力できる機能についてお伝えしたいと思います。

これまで、さまざまな境界条件やセルゾーン条件を指定する必要のあるFluentユーザーは、Fluentユーザー定義関数(UDF)を記述する必要がありました。

UDFはすぐに複雑になります。たとえば、図1はEnergy(t) = 90000*sin(t) [W/m^3]という関数に基づいて正弦波的に変動する熱源を設定するために必要なFluent UDFのコードを示しています。


図1: 関数Energy(t) = 90000*sin(t) [W/m3]に基づいて
正弦波的に変動する熱源を設定するために必要なFluent UDFコード

たとえば、図1のような小さなUDFを作るにも、エンジニアは単位を変換し、C言語でプログラミングして、Fluent固有のプログラミングの概念を学んだりと、かなりの工夫が必要です。

これらの概念には以下が含まれますが、これらに限定されるものではありません。

  • スレッド(Fluent UDFのデータ構造)
  • マクロ(DEFINE_SOURCEなど)
  • ユーティリティ(CURRENT_TIMEなど)

経験豊富なユーザーでも、これにはしばらく時間がかかる可能性があります。そのため、Fluent UIの式は非常に便利です。これらは、FluentユーザーがUDFを記述、コンパイル、ロードすることなくシミュレーションを強化できるようにする、宣言および変換された言語を含む式に基づいています。

エンジニアは式を使用して、数学関数、論理演算子、Fluentフィールド変数、その他の一般的な概念を組み合わせて、複雑な境界条件やセルゾーン条件の指定を簡単に行うことができます。

 

UDFを使わずにFluent UIに式を入力する方法

UDFは強力ですが、ユーザーがプログラミングの知識を持っている必要があります。ただし、式は、Fluentの豊富なカスタマイズ機能をより多くのユーザーに拡張します。

図1の変動する熱源の例をとると、標準的な数学表記(およびいくつかの単位のクリーンアップ)を使用して、簡単に式として入力できます。図2に示すように、式(sin(Time/1[s]))*90000[Wm^-3]をFluent UIに直接入力できるようになりました。


図2: 標準的な数学表記を用いて、ユーザーインターフェースから簡単に式を追加できるようになりました。

エンジニアはエディタを使用して、単一のインターフェースで式の名前、定義、および記述を行うことができます。次に、この名前付きの式を複数の境界条件およびセルゾーン条件で使用して、任意の式の組み合わせを作成できます。


図3: 正弦波的に変動する熱源を
表す式のグラフ 

以前のバージョンのFluentでこの式を指定するには、Cファイルの記述/変換/コンパイル、UDFの構築、境界条件へのフック処理が必要でした。これらの追加手順は、名前付きの式を使用することで排除されます。

さらに、これらの式を使用して、条件付きセルゾーンのソース項、モデル、およびソルバー設定(重力による加速度など)を定義できます。また、境界条件パネルに式を直接入力することもできます。

これらの式を定義するために、数学、三角関数、その他の豊富な関数を使用することができます。

  • 位置変数(時間など)
  • フィールド変数(全温度やヘリシティなど)
  • 解の変数(タイムステップやイタレーションなど)
  • リダクション演算(最小、最大、平均、合計など)

ブール式は、メッシュアダプションのための指定、精細化、サイズ基準にも使用できます。

式の詳細については、ウェビナー「Ansys Fluentでシミュレーションを簡略化および高速化するために式を直接入力する方法」をご覧ください。