SimScaleでは、アップロードしたCADデータに対するシミュレーションの前処理としてのモデル編集作業を行えるCAD編集機能(CADモード) を提供しています。
ワークベンチからCADモードに入ると、専用の画面でジオメトリを削除したり押し出したり、あるいは寸法を変更したりといったことを行えます。編集が終了したら、元のCADデータは残しつつ、編集したモデルを新たにコピーとして作成し、ワークベンチでシミュレーションに利用できるようになります。
CADモードを開く
CADモードに入るには、画面左上のジオメトリツリーから編集したいモデルジオメトリを選択し、表示される設定パネルのEdit in CAD mode (鉛筆アイコン)をクリックします。
図1: インポートしたジオメトリをクリックし、鉛筆アイコンをクリックするとSimScaleワークベンチからCADモードに入ることができます。
あるいは、ジオメトリ名の横に表示されるアイコンをクリックすると、下図のようなメニューが表示されるので、Edit in CAD modeをクリックしても同様にCADモードに入ることができます。
図2: ジオメトリ横のメニューボタンで表示されるメニューからもCADモードを開くことができます。
CADモードのインターフェース
CADモードに入ると、以下のようなインターフェースが表示されます。
図3: CADモードのユーザーインターフェース
CADモードは以下の表示で構成されています。
① Operations Toolbar (オペレーションツールバー)
CADモードで実行できる機能はすべて、このツールバーから行います。
② History (履歴)
HISTORYと表示されている画面左のパネルでは、実施した編集操作が実施順でリストアップされます。
③ Scene Tree (シーンツリー)
GEOMETRYと表示される画面右のパネルでは、元のジオメトリに含まれるボリュームがツリー表示されます。Show facesのトグルをオンに切り替えると、ツリーに各ボリュームのサーフェスも表示されるようになります。ツリーの各項目の右側に表示される目のアイコンをクリックすると表示/非表示を切り替えられます。
④ Exit / Export
Exportをクリックすると、編集したジオメトリが新たなジオメトリとして保存されます。この新しいジオメトリは、ワークベンチのGeometry Tree (ジオメトリーツリー)に追加されます。Exitをクリックすると、編集を破棄してワークベンチに戻ります。
CADモードで実施できる操作
現在利用可能な操作について説明いたします。操作は種別ごとに分類されています。
CREATE: ジオメトリを作成する操作
Flow Volume
流体解析では、流体が通る領域を作成して実施します。流路内の流れを解析する場合はCADデータから流体領域を抽出する必要が、物体周りの流れを解析する場合はCAD周りの解析を行う範囲を表すジオメトリを作成する必要があります。
Flow Volumeでは上記の流体領域を作成できます。流体領域の抽出について詳細はこちらのページもご覧ください。
Flow Volumes (External)
External flow volume (外部流体領域)を作成するには、x, y, z方向の最小と最大寸法を入力します。任意で、流体領域検出の起点とするSeed faceを設定することも可能です。Seed faceについてはこちらのページをご覧ください。
図4: External flow volume作成の設定パネル。寸法のMinimumとMaximumを入力します。
流体領域を検出するにあたって、デフォルトでは、全てのCADパーツが選択されています。特定のパーツを除外して流体領域を作成したい場合は、Exluded partsでそのパーツを選択します。ここで選択しなくても後から、delete操作で不要なパーツボディを削除することも可能です。
Flow Volumes (Internal)
Internal flow volume (内部流体領域)を抽出する場合は、Seed faceと1つ以上のBoundary faceを選択する必要があります。Seed faceには、流体領域の壁面の一部となる流路内部の面を、Boundary faceには外部と内部の境界となる面を選択します。
図5: Internal flow volume作成の際の設定例。この例では、Seed faceにはパイプの内面、Boundary faceにはパイプの断面を選択しています。
外部流体領域の作成と同様に、内部流体領域を検出するにあたってデフォルトでは、CADデータ全体が対象となっています。除外したいパーツがある場合は、Exclude partsから選択できます。
| 注意! |
| Seed faceやBoundary faceに選択した面を含むパーツは、excluded partsとして選択できません。 |
Flow Volumes (Internal Caps)
Immersed Boundaryタイプの解析でのみ使用します。Internal Capsでは内部流体領域の流入口と流出口を覆うような面(キャップ)を作成します。この面は、境界条件の設定に使用されます。詳細は、解析タイプ: Immersed Boundary ページの内部流れの解析に関する項目をご覧ください。
Cylinder
Cylinderでは、円筒形状のジオメトリを作成できます。作成した円筒は、回転領域の指定によく用いられます。CustomとFrom facesの二通りの方法 (Method)を選択できます。
Customでは、回転中心 (Center)、回転軸の向き (Axis)、円筒の高さ (Height)、半径 (Radius) を指定します。Customの場合、CADの座標値が必要となりますので、座標が不明な場合はFrom facesが推奨されます。
図6: Cylinderの作成画面。設定値を入力すると、プレビューで作成する円筒を確認できます。
MethodをFrom facesとした場合、面 (face)を選択すると、選択面を含むような円筒を作成できます。さらに、Clearance factorを設定することで、選択した面よりからクリアランスを設定して円筒を作成できます。回転領域の設定に用いるためにファンやタービンの面から円筒を作成する場合は、Clearance factorは1.1が推奨されます。
図7: From facesでCylinder作成に用いるパーツの面を選択します。矢印のボックス選択を利用すると一括でジオメトリを選択できます。
円筒が作成されると、シーンツリーにCylinderというジオメトリが追加されます。
図8: 作成されたCylinder。画面右上のシーンバーに新たに追加されます。
FACE: サーフェスに関する操作
選択したサーフェス・面に対して実施する操作です。
Delete
Deleteを使用すると、CADモデルから任意のサーフェスを削除できます。設定パネルので削除する面を選択し、割り当てます。
図9: Delete facesの設定パネル。複数の面を選択できます。
設定パネルでは、削除するサーフェスの他に、Healing methodを選択できます。Healing methodでは削除後の補完方法を選択でき、ShrinkとCapを選べます。いずれも選択しなかった場合は、特に補完はされません。
下図のシンプルなジオメトリで、Healing methodごとの挙動を紹介いたします。
図10: Healing methodごとの挙動の説明に用いるジオメトリ。円筒形状のエッジがフィレットになっています。
Healing method: Shrink
残った面を交差するまで接線方向に延長します。
例の場合は、上面を削除した場合はフィレット面の端部から延長され、元の形状と同じ形状になります。一方、フィレット面を削除した場合は、上面と側面が延長されるのでフィレットが削除されて角ばった形状になります。
図11: Healing methodをShrinkとした場合。
Healing method: Cap
削除後に残った面の端部を接続するように補間面が作成されます。
例の場合は、上面を削除するとそこを補完するように全く同じ平面が作成されます。フィレット面を削除した場合は、上面と側面を直線的につなぐように、円錐状の面で補間されます。
図12: Healing methodをCapにした場合。
Healing method: 無し
Healing methodを選択せずに空白とすると、補間面は作成されず、面の削除のみが行われます。
例の場合は、上面を削除すると穴が空いたようになり、フィレット面を削除すると隙間があるようになります。
図13: Healing methodを設定しなかった場合。
Move
Moveを用いると、選択した面を法線方向に平行移動できます。これによって、ジオメトリの厚さや長さを変更できます。Moveの設定パネルでは、移動させる面の他に、Move methodでDistanceかUp to entityのいずれかを選択します。
ここでは、以下の電子基板モデルのヒートシンクを例にそれぞれのMove methodを説明いたします。
図14: Moveの説明用の例題。矢印で示す、白くハイライトされたヒートシンクの断面を移動させます。
Move method: Distance
移動量を指定して、面を移動させます。パーツの外向きに面を移動させると、移動させただけ面が押し出されてパーツが伸びます。
以下の例の場合は、0.01m 面を移動させます。ヒートシンクがコンデンサーのモデルの横まで伸びでいます。
図15: Move methodをDistanceとして、面を移動させる場合。Distanceで指定した距離だけ面が移動します。
Move method: Up to entity
特定のエンティティまで面を移動させます。ここで言うエンティティは面になります。
以下の例では、基板の側面まで面を移動させます。ヒートシンクが縁まで伸びていることが分かります。
図16: Move methodをUp to entityとした場合。指定したエンティティ面まで、選択した面が移動します。
BODY: ボディ/ボリュームに関する操作
ソリッドのボディ・ボリュームを選択して実施する操作です。多くの場合にはボディはCAD内で作成したパーツ単位となります。
Delete
CADモデルに含まれる不要なボディを削除できます。Assignment に割り当てられたひとつ、あるいは複数のボリュームが削除されます。ボリュームはビューワ上でクリックあるいはシーンツリーのリストで選択します。
図17: Delete bodies の操作
Close Sheet
CADモデルのサーフェスの一部が欠落していて、シミュレーション計算を実施できない場合があります。そういったときに Close sheet 操作を適用することで、欠落したサーフェスを補完できます。補完方法は Closing method で Cap と Grow の2通りから選択できます。
図18: Close sheet の操作
例を用いて2種類の違いを説明いたします。中央のタワーの頂点部のサーフェスが欠落しています。
図19: サーフェスの一部が欠落している例
Closing method: Cap
穴を最小面積で塞ぐようにして補完が行われます。下図の例では、欠落していた面が単純な面で閉じられていることが分かります。
図20: Cap で補間した場合
Closing method: Grow
隣接する面を交わるまで延長します。下図の例では、タワー先端が延長されるようにして補完されていることが分かります。
図21: Grow で補間した場合
Boolean
CADモデル内のパーツ同士の和・差・積を取得するブーリアン演算(集合演算)によって、パーツの一体化・干渉部分を削る・干渉部分のみジオメトリを残すといった操作をできます。例えば、CADモデルに干渉してしまっている部が複数あると、計算でエラーが生じ、シミュレーションはうまく行きません。Boolean はそういった場合にCADモデルを修正するためなどに使用できます。
3種類ある、 Union, Intersect, Subtract を説明します。いずれの操作も、干渉部分がある2つ以上のボディを選択してください。干渉していない場合でも何かしら処理が行われたように表示されますが、特に変化はありません。
Boolean (Union)
干渉しているボディをマージして1つのボディとします。
以下の直方体のパーツ (Part 1) と球状のパーツ (Part 2) が干渉して配置されています。シーンツリーのリストにも、2つのパーツが表示されています。
図22: 干渉しているボディの例
これらのパーツに Boolean (Union) を適用します。2つのパーツがマージされて1つのパーツになります。シーンツリーでも、1つのボディとして表示されています。
図23: Boolean (Union) の結果
Boolean (Intersect)
2つのパーツの共通部分(干渉している部分)のみ抽出します。図22の例に適用すると、下図のように、立方体と球の干渉している部分が抽出されます。
図24: Boolean (Intersection) の結果
Boolean (Subtract)
干渉しているパーツ間の干渉部分を削る操作です。 Target bodies に削る対象のボディ、 Tool bodies に削り取る形とするボディを選択します。設定パネルの Keep tool bodies によって、適用後のジオメトリが異なります。
-
Keep tools
- Target bodies が削られ、 Tool bodies はそのまま残ります。
-
Discard tools
- Target bodies が削られ、 Tool bodies は削除されます。
例として、図22のジオメトリで立方体を Target body, 球を Tool bodyとします。
図25: Boolean (Subtract) の操作
結果は、以下のようになります。
Keep tools とした場合は球はそのままなのに対し、 Discard tools とした場合は 球は削除されて削られた立方体のみが残ります。
図26: Boolean (Subtract) の結果
Transform
CADモデル内の指定したボディを移動・回転させられます。
Transform (Translate)
指定したパーツのボディを平行移動できます。サーフェスの Move と同様に、2種類の方法を Translate method で指定できます。
■ Translate method: X, Y, Z
X, Y, Zの軸方向に対して移動量を指定します。マイナスの値を入力した場合は、軸方向とは逆への移動を意味します。軸方向は、画面右下のオリエンテーションキューブで確認できます。
サーフェスの Move と同じ例で説明します。今回は、ヒートシンクのパーツ全体を +Y方向へ0.025m 移動させます。
図27: Translate method: X, Y, Z の例
■ Translate method: Up to entity
ボディを指定したエンティティの位置まで移動させます。例えば、特定のパーツの面の位置まで移動させたいときに使用できます。
以下の例では、チップの端面までヒートシンクを移動させます。
図28: Translate method: Up to entity の例
以下に、ボディの向きや位置関係による結果の例を示します。
図29: Translate Method: Up to entity の場合の結果の図
Transform (Rotate)
ボディを指定した軸周り・角度で回転させます。選択したボディのx, y, z方向の最小・最大座標を結んでボディを囲むようなボックスの中心が、回転軸となります。
以下の例では、翼を構成するパーツボディをY軸周りに30°回転させます。
図30: Transform (Rotate) 操作の設定の例
以下が操作の結果です。選択した複数のボディが一体となって回転しています。
図31: Transform (Rotate) の結果
Simplify
設計用のCADモデルをそのままアップロードすると、シミュレーション用には複雑すぎる形状であることがあります。例えば、ボルトの山や、タイヤのスレッド溝が該当します。そういった細かい形状があると、不必要に細かくメッシュ分割しなければいけなくなり、コア時間を過多に消費することになってしまいます。
Simplify 機能では、そういった細かい形状を省略して、指定したボディを単純な形状に置き換えられます。置き換える形状は、 Box (箱状) と Cylinder (円筒) の2通りから選択できます。ボディの外郭に接して囲むサイズになります。
図32: Simplify 機能
図33: Geometry primitive を Box とした場合と Cylinder とした場合
複数のボディを選択して、一括で置き換えることもできます。デフォルトでは、 Replace each body separately のトグルがオンになっており、それぞれのボディが個別にボックスあるいは円筒に置き換えられます。トグルをオフにすると、複数のボディを囲むようなジオメトリとして置き換えられます。
図34: Replace each body separately による Simplify 操作の違い
Wrap
アップロードしたCADモデルに干渉や穴、重要でない細かなフィーチャーが多数ある場合に、シミュレーション計算用のジオメトリを作成するために使用できます。選択したボディの周囲を包み込むようなジオメトリを作成できます。細かな修正をひとつひとつ行うのは時間と手間がかかるため、流体解析で外形だけが必要な場合には便利な機能です。
設定パネルは以下のように表示されます。
図35: Wrap 機能の設定パネル
設定項目は以下の通りです。
-
Bodies to be wrapped
- ラップ操作を行うボディを選択します。
-
Wrap type
-
Fit to surface
- 元のボディ形状に近いジオメトリを作成しますが、尖ったエッジのようなフィーチャーの情報を残そうとしません。ロバストで安定した設定です。
-
Snap to edges
- 尖ったエッジにもフィットするようなジオメトリを作成しようとします。ここでいう尖ったエッジとは、面同士の角度が30°以上のものです。
-
Fit to surface
-
Resolution
- 包み込む精度を1~10の値で設定します。値が小さいほど、粗いですが速く処理します。値が大きいと、より細かく元の形状に近い結果が得られます。
-
Allow tunnels
- このトグルをオンにすると、トンネル状や接続されていない複数のサーフェスのような複雑な形状にも対応します。
-
Cap tunnels
- このトグルをオンにすると、トンネル状や入り組んだ形状、隙間は単純化します。
-
Tunnel detection
- Automatic: トンネル形状を自動的に検出します。
- Manual: 認識させたいトンネル形状の最小半径を指定します。
-
Wrap each body individually
- 複数ボディを選択したときに、選択したボディをまとめて包むようにするか、それぞれ個別に包むようなジオメトリを作成するか選択します。
図36: クルマのCADモデルにおける、Wrap 操作を適用した例。右図が適用後に作成されるジオメトリ。
MODEL: モデル全体に関する操作
モデル全体に対して実施する操作です。
Facet Split
指定した Maximum split angle (最大分割角度) に従ってモデルを複数のサーフェスに分割します。STLファイルをアップロードした場合にひとつの大きなサーフェスとして認識されることが多く、そういった場合に境界条件などを設定するためのサーフェスを用意するのに役立ちます。
角度は、0~180 [°] で入力します。デフォルトでは30となっています。
図37: Facet split の設定パネル
Imprint
物理的に接触しているボディ同士の境界面を、接触面として認識されるように変換します。固体間あるいは固体と流体領域の接触面をソフトウェア内で認識させるために使用します。
Apply をクリックするとモデル全体に対して実行されます。
Scale
モデル全体の長さスケールを変更します。例えば、アップロードしたモデルの寸法が元のスケールと異なってしまっている場合の修正に利用できます。
図38: Scale の設定パネル
Split
CADモデルを設定した位置でカットし、2つのパーツに分割します。
設定パネルでは、カット面の方向と位置を調整できます。方向は、カット面の法線方向をベクトルで指定します。
デフォルトでは分割後のパーツは、法線ベクトルの方向にあるパーツは残り、もう一方は削除されます。 Keep both sides のトグルをオンにすると、分割後のパーツが両方とも保持されます。
図39: Split の設定パネルと機能のイメージ
Fix interferences
CADモデル内で生じている干渉を自動で修正できます。干渉している2つのボディの内、大きい方に対して Subtract の処理が行われます。操作を実施した後に、 TOOLS の Interferences (干渉認識機能) を実施してみてください。 "No interference found in your CAD model" (あなたのCADモデルに干渉は見つかりませんでした) というメッセージが表示されるはずです。
Add CAD
CADモデルに、アップロードした別のジオメトリをパーツとして追加できます。
以下の例では、電子基板のCADモデルに大きなコンデンサ (Large Capacitor) を追加します。
図40: Add CAD 操作の例題
ツールバーから Add CAD をクリックし、追加するジオメトリ (今回は Large Capacitor )を選択し、 Apply をクリックします。
図41: Add CAD のセットアップ手順
選択したジオメトリが追加されます。なお、追加される位置は、CADモデルの座標を基に決定されます。位置を調整されたい場合は、CADモードの Transform (Translate) 機能をご利用ください。
図42: Add CAD でジオメトリを追加した結果
TOOLS: モデルに関するツール
モデル全体の小さな隙間や干渉を検出できるツールをご利用いただけます。こちらで確認いただいた結果をもとに、 上記の各種機能で修復できます。
Gaps
CADモデルに、意図していない小さな隙間・ギャップが生じてしまい、見た目上ではそういった隙間を認識できないことがよくあります。この場合に解析を実施してしまうと、メッシュや計算上のエラー、意図しない結果を引き起こす可能性があります。例えば、 Conjugate Heat Transfer の解析では、パーツ間の接触面で熱伝導の計算が適切に行われることが、正確な結果を得るためには重要です。
Gaps 機能では、目視での発見が困難な小さな隙間を検出できます。
図43: CADモデルで小さな隙間が生じてしまっている例。青いパーツ(チップ)と基板の間に隙間が生じてしまっています。
Gaps 機能の設定パネルでは、 Maximum distance (最大距離)を設定し、 Detect gaps をクリックします。すると、設定した Maximum distance 以下の隙間が検出され、表示されます。CADモデルによっては、この処理には時間を要します。
図44: Gaps の設定パネル
処理が終了すると、以下のように結果が表示されます。なお、図の左側は Maximum distance を 1e-5 mとした場合、右側は 1e-4 mとした場合です。設定した値によって、検出される結果がことなることが分かります。
図45: Gaps 機能で小さな隙間・ギャップを検出した結果
隙間を検出できた後は、 Move 機能や Transform (Translate) 機能でサーフェスあるいは部品自体を移動させて隙間がなくなるように修正してください。
Interferences
CADモデル内でバーツ同士が重ねって配置されてしまっている干渉がある場合、CADモードでのジオメトリ操作・シミュレーション計算が失敗します。(CADモードの操作が失敗する主な理由はこちら)
Interferences 機能では、そういった干渉を検出できます。実行した結果の例を示します。図の左側は、特に干渉が検出されなかった場合です。右側は、干渉が検出された場合です。どのパーツで干渉が生じているか確認できます。
図46: Interference 機能で干渉を検出した結果
干渉は以下の方法で、CADモードで修正できます。
- 自動で実施する場合: Fix interference 機能
- 手動で実施する場合: Boolean 機能, Delete Body 機能