単一入力ファイルフォーマット

モデルの設定

Radiossマルチドメインテクニックでは、複数入力フォーマット設定が最初に導入されました。この設定の主な欠点は、独立した入力ファイルをユーザーがマニュアルで構築するという多数の作業が起こることです。それは非常に長く、困難で、非常に大規模で複雑なモデルから小さなドメインを取り出すのは間違いの元になり得ます。

単一入力ファイル設定の目的は、サブドメインを自動的に構築することでユーザーの作業を簡略化することです。古典的な計算のような、全モデルを含む1つのStarter入力ファイルのみが必要です。サブドメイン内に配置するモデルのパートのみ指定する必要があります。次に、Starterが全体モデルから指定されたドメインを自動的に取り出し、それぞれのドメインに対する1つのリスタートファイルを生成します。この方法の場合、サブドメインは1つだけですが、そのサブドメインは複数のパートで構成することが可能です。


図 1. サブドメイン設定のアーキテクチャ

現時点では1つのドメインのみが指定できますが、この制限は将来改善される可能性があります。

サブドメインの自動生成

サブドメインは、パートのリストによって単純に定義されます。

分割モデル

サブドメイン生成の最初のステップはフルモデルを分割する事です。これは1つのドメインごとにStarterチャイルドプロセスを起動することでなされます。それぞれのプロセスは関連するパートにと対応する節点と要素のみ保持します。/GRNOD/GRPART または/SURFのようなエンティティグループも同様に分割され、多くのオプションでの分割が可能です(オプションが1つのドメインで参照されない場合、無効になります)。一部のオプションは、分割が複雑で、しばしばドメイン定義の修正を含む特別な取り扱いが必要になります。また、その他の一部のオプションは分割できません。マルチドメインに伴うオプションのより詳しい情報については、現時点での制限事項をご参照ください。

その結果、大抵の場合、サブドメインはユーザーにより指定されたパート(とそれに関連する節点と要素)と共に、あるオプションの分割によって自動的に追加されるいくつかの他の要素または節点から成ります。

ドメイン間の結合

第2のステップはドメイン間の相互作用の検知です。最初のタイプの相互作用は直接結合です。Starterがドメイン間の共通節点を自動検知し、節点と節点の結合を生成します。


図 2.

ドメイン間の接触

2番目のタイプのドメイン間の相互作用は接触です。ドメイン間の接触力の計算は人工表皮法に基づきます。これは外部プログラムRAD2RADでは接触は計算されない事を意味しますが、2つのドメインの1つの内部がメインドメインと呼ばれます。


図 3.

単一入力ファイル設定では、ドメイン間の接触は常にサブドメインで計算されます。これは主に、時間ステップが最も小さいドメイン内で接触が扱われる場合、連成の質がはるかに良くなるためです。

したがって、サブドメインとの接触が関係するメインドメインのサーフェスは、このサブドメイン内に、同じ密度とヤング率を持つボイド材料で自動的に複製されます。その後、ドメインをまたぐ節点間の連成が、サブドメイン内の人工表皮の節点とメインドメイン内の元のサーフェスの節点との間で確立されます。


図 4.
これは、良いパフォーマンスを得るためには、メインドメインとサブドメインの間の全ての接触は特定の接触インターフェースに入れ、接触サーフェスは可能性のある全ての接触を含みながら、できるだけ小さくする必要があることを意味しています。例えば、1つの自己接触インターフェースのみが1つのサブドメインでモデルに用いられている場合、サブドメインはメインドメインの全てのパートに衝突する可能性があり、その時メインドメインがボイド材料でサブドメインに完全に複製されることになります。RAD2RADのコストが巨大になり、そのパフォーマンスは非常に低下します。
注: 接触インターフェースが正しく定義されていない場合は、複製されたパートのサイズがフルモデルのサイズの50%未満だと、“multidomain interface is too big”という警告メッセージが発行されます。このパーセンテージが50%より大きい場合は、エラーメッセージが発行されます。
また、サブドメインがインターフェースのセカンダリ側またはメイン側のどちらかでのみ定義されている、非対称に定義されたドメイン間接触インターフェースを使用しないようにすることを強く推奨します。この場合は、接触インターフェースの一部分のみがサブドメインで計算され、残りはメインドメインで計算されます。接触インターフェースが非対称にならないようにするために、ドメイン間接触インターフェースをシステマチックに対称化することを推奨します(サブドメインをドメイン間接触のメイン側とセカンダリ側の両方で定義するか、対称的な接触インターフェースの追加によって非対称な既存の接触を修正する)。
注: ドメイン間接触インターフェースが分割されると、“multidomain split contact interface”という警告メッセージが発行されます。
マルチドメインに適合するRadioss接触インターフェースは:
  • /INTER/TYPE5
  • /INTER/TYPE7
  • /INTER/TYPE10
  • /INTER/TYPE11
  • /INTER/TYPE18
  • /INTER/TYPE24 ((surf_ID1 > 0, surf_ID2 > 0)または(surf_ID1 > 0, surf_ID2 = 0)の場合)。(grnd_IDs > 0, surf_ID1= 0, surf_ID2 > 0)ではない場合。

ドメイン間のユーザー定義結合

いくつかの運動条件も、それらがマルチドメインインターフェースをまたがって定義されている場合、ドメイン間の結合を生成する可能性があります。
  • 剛体: 剛体が2つのドメインを結合している時、特別な取り扱いが与えられます。剛体は2つに分割され、質量、慣性マトリックスと重心位置の計算はドメインごとに実行されます。その後、2つの剛体のパートの2つのメイン節点は、古典的な節点と節点の連成と同様ですが球状でない慣性に適合された定式化を用いてRAD2RADで連成されます。
  • タイドインターフェース: タイドインターフェースTYPE2でメイン要素が1つのドメインにあり、セカンダリ節点がもう1つにある場合、 異なるストラテジーが用いられます。ストラテジーは接触に対して用いられるものと同様です。メイン要素はタイドインターフェースがこのドメインで完全に定義されるタイドインターフェースを持つ様にボイド材料でセカンダリ節点を含むドメインに複製されます。その後、マルチドメイン連成がメイン要素の節点のみに作用します。両方のドメインがセカンダリ節点を含む場合、メイン要素の複製が両側で実行されます。
  • 剛結、RBE3および円筒ジョイント: 剛結とRBE3には同じ考え方が用いられます。これらのオプションがセカンダリ節点を2つのドメインに持つ場合、全ての失われた節点が両側に複製され、全てのセカンダリ節点がRAD2RADで連成されます。このオプションは次に両側で計算されます。
他の結合タイプは分割できません。これは、これらの接続部が1つのドメイン内のみで使用できることを意味し、連成ゾーンからははずす必要があります。これらのオプションは:
  • /MPC
  • /RBE2
  • /GJOINT

データ入力

Starter入力ファイル

サブ-ドメインはパートで定義されます。
/SUBDOMAIN/subdomain_ID
subdomain_title
Part1    Part2     ...      Partn
ここで、
Partn
サブドメインに属するパートの識別子
subdomain_ID
ドメイン識別子
subdomain_title
サブドメイン名(1つのEngineファイルのルート名になる)

Engine入力ファイル

それぞれのドメイン毎に1つのEngine入力ファイルが必要で、マルチドメイン連成をアクティブにするため、ファイルは以下のディレクティブを含んでいる必要があります:
/RAD2RAD/ON

1つのEngineファイル名は、Starter入力ファイルのルート名 "full_model_rootname"_0001.radを使用して作成されます。また、サブドメインに関連する他のEngine入力ファイル名は、 subdomain_title:を使用して作成されます (subdomain_title_0001.radこれは、Starter入力ファイルで /SUBDOMAINカードに指定されています)。

RAD2RAD入力ファイル

RAD2RAD入力ファイルはRAD2RADプログラムに必要ないくつかの付加情報を定義したテキストファイルです。RAD2RAD入力ファイルは、サブドメイン設定を使用してStarterにより自動生成されます。RAD2RADおよびEngineプロセスを起動する前に、マルチドメイン計算パラメータを変更するためにこれにアクセスし、修正することができます。このファイルの名前は、フルモデルのルート名に基づきます: “full_model_rootname”_0000.r2r
注: RAD2RAD入力ファイルに関するより詳しい情報は、マルチドメインのドキュメントをご参照ください。

データ出力

Starter出力ファイル

ドメインごとに別個のStarter出力ファイルが生成されます。

時刻歴ファイル

両方のドメインからの全ての情報を含む、単一の時刻歴ファイルが生成されます。このファイルは、Starter入力ファイルと同じルート名を持ちます。このファイルの内容は、古典的な単一ドメイン計算で得られる内容と同じです。

時刻歴出力に対する全てのパラメータ(時刻歴のタイプ、出力頻度、フォーマットなど)を、メインドメインのEngineファイルで指定する必要があります。時刻歴に対するパラメータがサブドメインのEngine入力ファイルで指定されても、それらは無視されます。

THファイルの出力の頻度はメインドメインにより定義されるため、THファイルの2つの出力間の許容される最小時間間隔はメインドメインの時間ステップになります。精度を上げるために、メインドメインの時間ステップよりも高い時間頻度を使用することが推奨されます。

ABFファイル

Radioss Engineにより1つのABFファイルが生成されます。したがって、モデル全体のグローバル変数をプロットするには、各ドメインのグローバル変数を加算する必要があります。

出力ファイル

各ドメインの出力ファイル(各Engine出力)に出力されるグローバル変数を単純に合計することにより、モデル全体のグローバル変数を計算できます。

2つの例外があります:
  • エネルギーエラー: エネルギーバランスは、各ドメインで他のドメインとは別に計算されます。つまり、各ドメインではマルチドメインの連成力は外力と見なされ、その仕事量は外力の仕事量に加算されます。この仕事量はエネルギーバランスの計算のために内部的にのみ使用されます。出力ファイルまたは時刻歴に出力される外力の作業量値には含まれません。
  • 質量の変化: 質量の変化も局所的に計算されます。つまり、このドメインの質量に対する、選択したドメインで追加された質量の比になります。

アニメーションファイル

各Engineにより一連のアニメーションファイルが生成されます。HyperViewでは、オーバーレイを行うことにより2つのドメインを同時に可視化することが可能です。

RAD2RAD出力ファイル

RAD2RAD実行モジュールにより、rad2rad.outという出力ファイルが生成されます。このファイルには、ドメイン間の結合に関する有用な情報(共通節点の数、連成のタイプなど)が含まれます。

SPEEDUP予測

バージョン14.0以降は、マルチドメイン法の潜在的効率を判断するために、Starterで速度上昇の予測が計算されます。値は、メインドメインのStarter出力ファイルに出力されます。そのため、計算中に1つのドメインで時間ステップが大幅に変化した場合、速度上昇予測は適切ではなくなります。

Engine入力ファイルで定義されている時間ステップ制御オプション(/DT/NODA/CST/DTIX、…)が、Starterでの時間ステップ予測で考慮されます。

CPUの割り当て

Radiossドメインは順次取り扱われるため、一度に1つのRadiossプロセスだけが実行されることになります。合計CPUリソースは自動的に実行中のプロセスに割り当てられ、他はCPUを消費しない待機モードになります。サブドメイン設定を使用して、すべてのドメインに同じ数のSPMDドメインが自動的に割り当てられます。パフォーマンスの向上のためには、Hybrid-MPPでの実行時に、ドメインごとにSPMDドメインあたりのSMPスレッドと同じ数のSMPスレッドを使用する必要があります。

バージョン12.0.210以降、RAD2RAD実行モジュールは完全に並列化されています。つまり、RAD2RADはEngine実行モジュールとまったく同様に起動する必要があり(同じmpiオプション)、またEngineとRAD2RADプロセスの両方に同じ数のSPMDドメインを使用する必要があります。

マルチドメイン解析の起動

マルチドメイン計算の起動には、AltairCompute Consoleを使用する方法と手動で行う2つの方法があります。

  1. より簡単なマルチドメイン計算の起動はAltair Compute Consoleを用いることです。
    1. 入力ファイルとしてマルチドメイン用Starterファイルを選択し、シミュレーションに使用するCore数を定義します。
      その後、Compute ConsoleがStarter、Engine、およびRAD2RADプロセスを実行します。Radiossを使ったAltair Compute Consoleの使い方については、Altair Compute Console (ACC)を参照してください。
  2. マルチドメイン計算を起動するために、コマンドラインを用い、入力ファイルを含む作業ディレクトリを探します。
  3. Starterを端末でコマンドを使って起動します:
    オプション
    内容
    Linux
    <install_dir>/hwsolvers/bin/linux64/starter_version -i "rootname"_0000.rad
    Windows
    <install_dir>\hwsolvers\bin\win64\starter_version -i "rootname"_0000.rad
  4. RAD2RADを端末でコマンドを使って起動します:
    オプション
    内容
    Linux
    <install_dir>/hwsolvers/bin/linux64/r2r_version "rootname"_0000.r2r
    Windows
    <install_dir>\hwsolvers\bin\win64\r2r_version "rootname"_0000.r2r
    RAD2RADはそれぞれのドメインからRadiossに接続されるのを待ちます。
    注: ファイル“rootname”_0000.r2rはStarterにより自動的に生成されます。
  5. それぞれのドメインのEngineを別の端末で起動します:
    オプション
    内容
    Linux
    <install_dir>/hwsolvers/bin/linux64/engine_version -i "rootname"_0001.rad
    Windows
    <install_dir>\hwsolvers\bin\win64\engine_version -i rootname_of_the_subdomain"_0001.rad
    全てのRadiossプロセスはこれで自動的にRAD2RADに接続されます。
  6. SMPスクリプトを起動します。
    Linux : run_linux_SMD
    ./s_<version>_linux64 -i FULL_0000.rad
    
    ./e_<version>_linux64 -nt 4 -i FULL_0001.rad > out_1 &
    ./e_<version>_linux64 -nt 4 -i SUBDOM_0001.rad > out_2 &
    ./r2r_<version>_linux64 -nt 4 FULL_0000.r2r
    Windows : run_win_SMD.bat
    E:\Rad2rad\s_<version>_win64.exe -i FULL_0000.rad
    
    set KMP_STACKSIZE=64M
    start /B E:\Rad2rad\e_<version>_win64.exe -nt 4 -i FULL_0001.rad > out1
    start /B E:\Rad2rad\e_<version>_win64.exe -nt 4 -i SUBDOM_0001.rad > out2
    start /B E:\Rad2rad\r2r_<version>_win64.exe -nt 4 FULL_0000.r2r
    Windows (cygwin) : run_win_SMD
    ./s_<version>_win64.exe -i FULL_0000.rad;
    
    ./e_<version>_win64.exe -nt 4 -i FULL_0001.rad > out1&
    ./e_<version>_win64.exe -nt 4 -i SUBDOM_0001.rad > out2&
    ./r2r_<version>_win64.exe -nt 4 FULL_0000.r2r;
  7. SPMDスクリプトを起動します。
    Linux : run_linux_SPMD
    ./s_<version>_linux64 -np 4 -i FULL_0000.rad
    
    mpiexec -n 4 ./e_<version>_linux64_impi -i FULL_0001.rad > out_1 &
    mpiexec -n 4 ./e_<version>_linux64_impi -i SUBDOM_0001.rad > out_2 &
    mpiexec -n 4 ./r2r_<version>_linux64_impi FULL_0000.r2r
    Windows : run_win_SPMD.bat
    E:\Rad2rad\s_12_main_win64.exe -np 4 -i FULL_0000.rad
    
    set KMP_STACKSIZE=64M
    start /B mpiexec -n 4 E:\Rad2rad\e_<version>_win64_impi.exe -i FULL_0001.rad> out1
    start /B mpiexec -n 4 E:\Rad2rad\e_<version>_win64_impi.exe -i SUBDOM_0001.rad> out2
    start /B mpiexec -n 4 E:\Rad2rad\r2r_<version>_win64_impi.exe FULL_0000.r2r
    Windows (cygwin) : run_win_SPMD
    ./s_<version>_win64.exe -np 4 -i FULL_0000.rad;
    
    mpiexec -n 4 ./e_<version>_win64_impi.exe -i FULL_0001.rad > out1&
    mpiexec -n 4 ./e_<version>_win64 impi.exe -i SUBDOM_0001.rad > out2&
    mpiexec -n 4 ./r2r_<version>_win64 impi.exe FULL_0000.r2r;

現時点での制限事項

1つのサブドメインのみ定義できます。

これらのオプションは/SUBDOMAINと互換性がありません。
  • /DFS/DETPOINT/NODE
  • /FX_BODY
  • /SPHBCS
以下の結合は1つのドメイン内でのみ用いることができますが、マルチドメインインターフェースをまたがる連成ゾーンに用いることはできません。
  • /GJOINT
  • /MPC
  • /RBE2

マルチドメインは全てのLagrange乗数に基づいた運動条件と適合しません。連成の定式化と適合しないためです。

マルチドメインは、節点が接触インターフェースタイプ1またはドメインを跨ぐインターフェースの一部でない限り、インターフェースAMS(アドバンストマススケーリング)、レイリー減衰(/DAMP)、動的緩和(/DYREL)に適合していません。

GAUGEINTERおよびRWALタイプのセンサーはドメイン間で同期されません。つまり、センサーおよびその全ての関連機能が1つのドメイン内に収まっていない場合、このセンサーの挙動は正しくない可能性があります。一方、DISTACCEおよびTIMEタイプのセンサーはマルチドメインに完全に適合し、ドメイン間で同期されます。