RadiossとAcuSolveを用いたDC-FSI
- Radioss構造モデルとAcuSolveのみの流体モデルを作成し、非連成解析が成功裏に実行できることを確認します。
- DC-FSIコマンドを含むスタンドアロンモデルを準備します。
- 解析を実行します。
- FSIの解のポストプロセスを行います。
このワークフローでは、RadiossとAcuSolveモデルの両方が正しく定義されていることを連成シミュレーション実行前に確認しています。RadiossとAcuSolveでは特定の単位系で解析実行を行う必要はありませんが、両方とも一貫した単位系を用いる必要があります。規則として、2つのソルバーの間で交換される全ての量は単位を持つ形式で、全てのベクトル量の成分はその内部フレームで解かれます。一貫性のため、RadiossとAcuSolveで同じ内部フレームが選択される必要があります。
Radiossモデル
- Radiossの入力デックを作成
- インターフェース領域と交換される解の量を指定
- 通信スキームを定義
/IMPL/DYNA/FSI
ESET SSET PORT MINX MAXX TAG DATA MSG WAIT INIT
FTOL DTOL TTOL XTOL
各データ項目について以下に示します。
減衰サーフェス
構造メッシュの減衰サーフェスは、Radioss FSI入力データで指定される必要があります。減衰サーフェスは要素グループかサーフェスのどちらかで指定できます。減衰サーフェス上の構造メッシュはインターフェースの流体メッシュと一致する必要はありません。AcuSolveは、流体インターフェースメッシュ上のCFD反力を内部的に一致しない構造メッシュの減衰サーフェスに投影します。節点力のマッピングは構造のビーム要素に対してもサポートされています。例えば、ロッド、パイプまたはブレードが構造メッシュ内の単純化されたビーム要素でモデル化できます。対応する流体メッシュではこれらのビーム要素の実際の3次元形状を含むことができます。
減衰サーフェスが要素グループ(ESET)で指定される場合、/GRBEAM/BEAM/、/GRSHEL/SHEL/、/GRSH3N/SH3N/をそれぞれ、ビーム、4節点シェル、3節点シェル要素に対して用います。ソリッドの減衰サーフェスはシェル要素で覆い、これらの要素に/MAT/LAW0データを用いたゼロ材料プロパティを割り当てることで指定できます。減衰サーフェスがビーム要素からなる場合、これらはビーム要素グループデータで指定される必要があります。要素グループのIDは、/IMPL/DYNA/FSIデータの最初の項目です。
一致する流体サーフェスはAcuSolveデータ内でEXTERNAL_CODE_SURFACE
コマンドを用いて定義されます。
あるケースでは、構造の減衰サーフェスの一部は、AcuSolveがAcuSolve境界面として関連付けられるように"タグ"をつける必要があります。これは、EXTERNAL_CODE_SURFACE
データ内のexternal_code_tags
パラメータでRadiossパート IDを指定して行います。
EXTERNAL_CODE_SURFACE( "Drill" ) {
...
external_code_tags = {"10"}
...
}
データはこのサーフェスがRadiossパートID10
に対応することを指定するために用いられます。各サーフェスは同じパートIDを持つ要素で構成される必要があり、また個々のサーフェスはそれぞれ異なるパートIDを持つ要素で構成される必要があります。ソリッド構造のサーフェスであるタグを適用するには、ソリッドがシェル要素で覆われ、これらのシェル要素のプロパティIDがサーフェスタグとして使用されている必要があります。サーフェスタグの使用を指定する場合は、/IMPL/DYNA/FSI
データの項目10
を1に設定します。
AcuSolveモデル
- 外部フィールドを含める解析パラメータを設定します。
- 解法のストラテジーを定義します。
- 外部サーフェスを定義します。
外部フィールドを含む解析パラメータの設定
EQUATIONコマンドを用いて、利用可能なソリューションフィールドを指定するか、問題に有る方程式の系を指定します。外部ソルバーで計算されるフィールドを含めるには、Radiossでは、external_code
パラメータをON
に設定します。
external_code
パラメータをON
にし、 任意のメッシュ移動をmesh
パラメータをarbitrary_lagrange_eulerian
に設定することで可能にします。EQUATION {
flow = navier_stokes
mesh = arbitrary_lagrange_eulerian
external_code = on
}
解法のストラテジーの定義
この問題にソリューションフィールドが存在することを指定するEQUATIONと共に、TIME_SEQUENCEとSTAGGERコマンドを用いて時間ステップとスタッガリングのストラテジーを定義する必要があります。よく用いられる方法は AUTO_SOLUTION_STRATEGYコマンドを用いて AcuSolveが解法のストラテジーコマンドを生成する方法です。解法のストラテジーコマンドをハイライトさせるためには、TIME_SEQUENCEとSTAGGERコマンドをハイライトさせます。
TIME_SEQUENCE {
min_time_steps = 1
max_time_steps = 15
:
min_stagger_iterations = 1
max_stagger_iterations = 20
staggers = { "external_code",
"mesh_displacement",
"flow",
"turbulence" }
}
external_code
、 mesh_displacement
とflow
方程式に対して示されます。STAGGER ( "external_code” ) {
equation = external_code
min_stagger_iterations = 1
max_stagger_iterations = 10
}
STAGGER( "mesh_displacement" ) {
equation = mesh_displacement
min_stagger_iterations = 1
max_stagger_iterations = 5
convergence_tolerance = 0.1
linear_solver = conjugate_gradient
min_linear_solver_iterations = 10
max_linear_solver_iterations = 1000
linear_solver_tolerance = 0.001
projection = off
}
STAGGER( "flow" ) {
equation = flow
min_stagger_iterations = 1
max_stagger_iterations = 2
convergence_tolerance = 0.1
lhs_update_frequency = 1
linear_solver = gmres
linear_solver_tolerance = 0.1
}
流体-構造インターフェースの定義
EXTERNAL_CODE_SURFACEコマンドを用い、流体と構造の間のインターフェースを定義します。コマンドはサーフェスのトポロジーと共に、インターフェースのプロパティを指定します。
velocity_type
、temperature_type
、およびmesh_displacement_type
はインターフェースのプロパティ(境界条件)を定義します。以下にこの内容について示します。EXTERNAL_CODE_SURFACE( "wall" ) {
surfaces = Read( "MESH.DIR/wall.ebc" )
shape = "three_node_triangle"
element_set = "tet fluid"
velocity_type = wall
temperature_type = tied
mesh_displacement_type = tied
gap = 0
gap_factor = 0
external_code_tags = {}
}
インターフェースのプロパティまたは境界条件は、mesh_displacement_type
、velocity_type
およびtemperature_type
パラメータを介して指定されます。mesh_displacement
パラメータは流体メッシュが固体メッシュに固定されているか、固体メッシュサーフェスに対して滑りを考慮できるかを定義します。mesh_displacement_type=tied
の設定で流体メッシュは固定メッシュに固定され、または mesh_displacement_type=slip
で流体メッシュは固定サーフェスに対して滑りが可能になり、ガイドサーフェスとして作用します。
velocity_type
は構造メッシュ速度との関係で流体速度がどのように振舞うかを指定します。velocity_type=wall
の設定で流体速度はメッシュ速度となり、velocity_type=slip
の設定で流体速度の法線成分がソリッドメッシュ速度に対して固定されます。
mesh_displacement
とvelocity_type
パラメータ設定に基づいて4つのインターフェースの組み合わせが可能ですこれらを表 1にまとめます。
流体 - ソリッドインターフェースの条件 | メッシュの変位 | ||
---|---|---|---|
タイド | 滑り | ||
速度タイプ | 壁 |
|
|
滑り |
|
|
固体メッシュに沿った流体の滑りが考慮できる場合、流体と固体のメッシュの間の隣接の検索が連続的に実行されます。gap_factor
パラメータで次元の無い(要素面の長さに関する)最大許容ギャップパラメータを指定し、指定された寸法の最大ギャップの距離でAcuSolveサーフェスのそれぞれの積分点と最も近いRadiossで与えられたサーフェスのギャップをチェックします。距離がギャップよりも大きい場合、計算はエラーメッセージを出して停止します。