RadiossとAcuSolveとの通信
RadiossとAcuSolveは、同じネットワークドメインにある、異種プラットフォームやリモートプラットフォーム上で実行できます。RadiossとAcuSolveとの通信は、ソケットを介して行われます。RadiossとAcuSolveの間の共同シミュレーションを行うためには、解析ソフトウエアの1つが通信プロセスを初期化する必要があり、もう1つのソフトウエアは初期化された通信プロセスに接続する必要があります。
10000
です。同じポート番号が、AcuSolve.inpファイルのEXTERNAL_CODE
データで指定される必要があります。Radiossが実行されるマシンがlinux_mach
という名前の場合、EXTERNAL_CODE
は以下のようになります:EXTERNAL_CODE {
communication = socket
socket_initiate = no
socket_host = "linux_mach"
socket_port = 10000
}
AcuSolveとRadiossは個別に開始されます。AcuSolveはRadiossがソケット接続を初期化するのを待ちます。AcuSolveが待つ時間は/IMPL/DYNA/FSI データのWAIT
パラメータで決められます。デフォルトの値は3600
秒です。
時間ステップのループが開始される前に、インターフェースに関する基本情報が2つのコード間で交換される必要があります。最初に、インターフェースストラテジーを制御するパラメータの数が、両方のコードに設定される必要があります。次に、インターフェースの物理パラメータを定義する必要があります。典型的な例では、AcuSolveとRadiossの両方が同じ時間ステップで開始します。しかし、(流れの発達を得るために)AcuSolveが最初に開始される必要がある場合、/IMPL/DYNA/FSIデータのINITデータで、連成解析を開始するAcuSolveの初期時間ステップを設定することができます。
時間ステップとデータ交換
0.001
秒で 1000
時間ステップに対して、AcuSolveとRadiossのデータは:AUTO_SOLUTION_STRATEGY {
initial_time_increment = 0.001
max_time_steps = 1000
min_stagger_iterations = 1
max_stagger_iterations = 20
}
および/RUN/wing/1
1.0
/IMPL/DTINI
0.001
/IMPL/DT/2
12 0.0 120 1.0 1.0
Radioss入力データで/IMPL/DT/2の項目4および5が時間ステップの係数を指定します。Radiossの時間ステップが一定を保つように1.0
が設定される必要があります。
それぞれの時間ステップで、RadiossとAcuSolveの間で、ある収束判定基準に達するまで力と変位が交換されます。収束に至ると、解析は次のタイムステップで続行されます。これらの交換はAcuSolveで "スタッガー"と呼ばれます。スタッガー(交換)の最小数は両方の入力データで 1
に設定されるべきです。これは、 AcuSolveではAUTO_SOLUTION_STRATEGY
データのmin_stagger_iterations
パラメータで指定され、Radioss/IMPL/DYNA/FSI データではMINX
データで指定されます。
交換の最大数は力と変位の収束判定基準と最大交換数のハードリミットの組み合わせでコントロールされます。交換の最大数はAcuSolveではAUTO_SOLUTION_STRATEGY
データのmax_stagger_iterations
パラメータで設定され、Radiossでは/IMPL/DYNA/FSIデータのMAXX
データで設定されます。
力と変位の収束判定基準は安定で精度の良い結果を得るのに必要な交換の数を減らすために用いられます。これにより正確な結果を保証する実行時間を大きく減らすことが可能になります。力と変位の収束判定基準はRadiossの/IMPL/DYNA/FSIデータのFTOL
とDTOL
データで指定されます。これらは力と変位ベクトルの L2ノルムの判定基準です。これらの判定基準を上げた場合、計算時間は減少しますが、解の精度が低下する可能性があります。
典型的な場合では、力と変位だけが交換される必要があります。特別なケースでは、ビームの回転のように、ユーザーがモーメントと回転についても交換を要求することができます。これは、Radioss/IMPL/DYNA/FSIデータのDATA
パラメータを2
に設定することでできます。
データ交換の検証
RadiossとAcuSolveの間で正しいデータが交換されているかを検証するために、Radiossの/IMPL/DYNA/FSIデータでMSG
パラメーターを非ゼロの値に設定することができます。より大きな値で、より多くの量の情報がRadioss .outファイルに検証のため書かれます。このデータは通信制御パラメータだけでなく交換される力とモーメントの実際の値も含まれます。
例
10
の場合、入力データは次のようになります:/IMPL/DYNA/FSI
0 10 0 0 0 0 0 0 0 0
0 0 0 0
このケースでは、他のFSIパラメータ全てはデフォルト値に設定されます。Radiossでは0
はデフォルト値を意味し、(デフォルト値が実際0でない限り)明確に0を与えていない点に注意してください。
5
を設定し、力と変位の収束判定基準に0.01
と0.005
をそれぞれ設定することもできます:/IMPL/DYNA/FSI
0 10 0 0 5 0 0 0 0 0
0.01 0.005 0 0
/IMPL/DYNA/FSI
20 0 0 0 0 1 1 0 0 0\
0 0 0 0
ここで、20
は全てのビーム要素を含む要素セットです。ビーム要素タグはそのビームプロパティIDに基づきます。
Radiossの構造FSIデータ
/IMPL/DYNA/2
0.001
で変位は0.01
で、陰解法コントロールデータで設定されます:/IMPL/NONLIN/1
123 0.001 0.001 0.01
1.0
に設定する必要があります。時間ステップコントロール法2のデータは、以下のようになります:/IMPL/DT/2
12 0.0 120 1.0 1.0
5
にすることで次のように設定できます:/IMPL/DIVERG/5
/ANIM/VECT/FEXT
/ANIM/VECT/DISP
モデルの場所
acuSolve: No. external code nodes = 15050
acuSolve: No. external code tri3s = 0
acuSolve: No. external code quad4s = 15000
acuSolve: Min/Max x-coord = -3.812500e-02 3.812500e-02
acuSolve: Min/Max y-coord = -3.805000e-02 3.805000e-02
acuSolve: Min/Max z-coord = 0.000000e+00 3.812500e+00
acuSolve: Total surface area = 9.126732e-01
acuSolve: No. fluid damp surfaces = 5637
acuSolve: Min/Max x-coord = -3.812499e-02 3.812500e-02
acuSolve: Min/Max y-coord = -3.812494e-02 3.812498e-02
acuSolve: Min/Max z-coord = 0.000000e+00 3.812500e+00
acuSolve: Total fluid surface area = 9.128247e-01
acuSolve: Ave distance = 2.842759e-05
acuSolve: Max distance = 1.182390e-04
意味のある解のためにはギャップは小さくする必要があります。
連成シミュレーションのポストプロセス
- HyperViewを用いた構造結果とインターフェースの応答、更にHyperViewのようなAcuSolveに適合するポストプロセッサーを用いて流体の解とインターフェースの応答のポスト処理を行います。
- 構造と流体の解を統合してポスト処理するにはサードパーティのソフトウエアを用います。
数量のスケーリング
MULTIPLIER_FUNCTION("ramp" ) {
type = piecewise_linear
curve_fit_values = { 1, 0.0 ; 10 , 1 }
curve_fit_variable = time_step
}
EXTERNAL_CODE {
…
multiplier_function = "ramp"
…
}
ソルバーの並列計算
AcuSolveとRadiossは、分散メモリクラスタ上で並列で実行できます。
プラットフォームのサポート
AcuSolveは、Windows (64-bit)とLinux (64-bit)で実行できます。
制限事項
- dampサーフェスがビーム要素を含む場合、他の要素は減衰サーフェス定義に用いることはできません。つまり、ビーム要素を他の要素と組み合わせて減衰サーフェスを定義することはできません。
- 2次のテトラ要素と修正テトラ要素はサポートされていません。
- 2つのソルバーの間における時間ステップは、一定および固定された時間増分である必要があります。
- 現時点で熱解析はサポートされていません。