OptiStructとAcuSolveとの通信
OptiStructとAcuSolveは、同じネットワークドメインにある、異種プラットフォームやリモートプラットフォーム上で実行できます。OptiStructとAcuSolveとの通信は、ソケットを介して行われます。
OptiStructとAcuSolveとの間の連成シミュレーションを開始するには、まず一方を実行して通信プロセスを開始する必要があり、それに続いてもう一方が、その開始された通信プロセスに接続します。
通信の開始
EXTERNAL_CODE
ブロックのsocket_port
エントリで指定する必要があります。OptiStructが実行されているマシンがmachine1という名前の場合、EXTERNAL_CODE
は次のようになります:EXTERNAL_CODE {
communication= socket
socket_initiate= no
socket_host= "machine1"
socket_port= 10000
}
OptiStructとAcuSolve
は、個別に起動する必要があります。OptiStructは、AcuSolveがソケット接続を開始するのを待機します(逆の場合も同様です)。OptiStructが待機する時間(秒単位、プリプロセッシング完了後)は、FSIバルクデータエントリのWAITTIMEフィールドによって決定されます(デフォルト値は3600秒)。同様に、OptiStructがソケットで通信を開始するまでAcuSolveが待機する時間(秒単位、プリプロセッシング完了後)は、Acusim.cnfファイル内のexternal_code_wait_time
フィールド(または–ecwait
実行オプション)によって決定されます。
タイムステップのループの開始前に、2つのソフトウェアの間でインターフェースに関する基本情報が交換される必要があります。最初に、インターフェース戦略を制御するいくつかのパラメータを両方に対して設定する必要があります。次に、インターフェースの物理パラメータを定義する必要があります。
タイムステップとデータ交換
AcuSolveの場合、問題内の解析フィールドの存在を指定するEQUATION
コマンドと併せて、TIME_SEQUENCE
およびSTAGGER
コマンドを使用してタイムステップおよび調整戦略を定義する必要があります。望ましい方法は、AUTO_SOLUTION_STRATEGY
コマンドを使用してAcuSolveで解析戦略コマンドが生成されるようにすることです。OptiStructの場合は、データ交換パラメータをFSIバルクデータエントリで使用でき、タイムステップデータをNLPARM、TSTEP、またはTSTEPNLエントリ(解析またはデータのタイプによって異なります)で指定します。詳細については、対応するSFSIまたはTFSIのユーザーズガイドのページをご参照ください。
AUTO_SOLUTION_STRATEGY {
initial_time_increment = 0.001
max_time_steps = 101
min_stagger_iterations= 1
max_stagger_iterations= 20
}
および
(1) | (2) | (3) | (4) | (5) | (6) | (7) | (8) | (9) | (10) |
---|---|---|---|---|---|---|---|---|---|
NLPARM | 5 | 40 | 1.0e-3 | 80 | UP | ||||
1.0e-2 | 1.0e-5 | ||||||||
1.0e-1 |
各タイムステップで、特定のトレランスに収束するまで、OptiStructとAcuSolveとの間で解析変数( SFSIの場合は変位 / 圧力、TFSIの場合は温度 / 流束)が交換されます。収束に至ると、解析は次のタイムステップで続行されます。これらの交換は、AcuSolveでは“調整”と呼ばれます。調整(OptiStructでは交換と呼ばれます)の最小回数は、AcuSolveのAUTO_SOLUTION_STRATEGY
ブロック内min_stagger_iterations
パラメータによって指定できます。これは、他のAcuSolve実行パラメータにも影響されます。OptiStructでの交換の最小回数は、OptiStructFSIバルクデータエントリ内のMINEXフィールドによって指定できます。
調整の最大回数は、AcuSolveのAUTO_SOLUTION_STRATEGY
ブロック内のmax_stagger_iterations
パラメータによって設定されます。これは、他のAcuSolve実行パラメータにも影響されます。OptiStructでの交換の最大回数は、FSIバルクデータエントリ内のMAXEXフィールドによって指定できます。
交換の最大回数または最小回数(MAXEX/MINEX)は、OptiStructモデルにおいて設定されます。AcuSolveAcuSolveモデル内の複数の場所で、調整の最大 / 最小回数が定義されている場合があります。FSI実行では、そのような指定されたすべての使用可能データの中から、最も小さい最大交換 / 調整回数、および最も大きい最小交換 / 調整回数が使用されます。そのため、AcuSolveによっては、各時間増分が、[MINEX,MAXEX]以下のサブセット領域内で終了する場合があります。
解析変数の収束トレランスは、安定した正確な結果を受け取るために必要な、交換 / 調整の回数を減少させるために使用されます。これにより、結果生成の際の実行時間が大幅に短縮される可能性があります。解析変数のトレランスは、FSIバルクデータエントリのFCNVTOL、DCNVTOL、TCNVTOLおよびFXCNVTOLフィールドで指定されます。これらのトレランスが高く設定されている場合は、解析時間が短縮されますが、解析精度にも影響がある可能性があります。convergence_tolerance
パラメータを使用してAcuSolve入力データ内で収束トレランスを定義することもできます。