Coreform公式ドキュメントを基にした日本語版です。技術仕様・対応状況の最終的な基準は公式英語版です。
ワークフロー概要
1 図による概要
Coreform IGA for Abaqusのワークフロー概要を下図に示します。この図では、プロセスを角丸長方形で、ファイルをデータベースまたはテキストファイルを表すアイコンで示しています。
- プロセスが 紫 で表示されている場合は、標準Abaqusのプロセスまたはワークフローであることを示します。プロセスが 緑 で表示されている場合は、Coreform IGA Custom Applicationまたはsolver workflowの一部であることを示します。プロセスが2色の 紫–緑 で表示されている場合は、標準AbaqusとCoreform IGAの両方のワークフローを利用できることを示します。
- ファイルアイコンが 紫 で表示されている場合、そのファイルは標準Abaqusワークフローでも存在するファイルであり、ユーザーは通常のAbaqusワークフローと同じように扱うことができます。ファイルアイコンが 緑 で表示されている場合、そのファイルはCoreform IGAワークフロー固有のものであり、ユーザーは操作時に注意する必要があります。
2 文章による概要
モデル設定 (Abaqus/CAEライセンスのみ必要)
モデル設定段階ではCoreformライセンスは不要で、Abaqus/CAEライセンスだけが必要です。
- パラメータ設定
- Abaqus/CAEで通常どおりモデルを設定します。形状のimport、材料の作成と割り当て、stepと荷重条件の定義などを行います。
- メッシュ設定
- Coreform IGA for Abaqusは、通常のAbaqus要素とCoreform IGAメッシュの両方を含むシミュレーションをサポートします。通常のAbaqusメッシュにはAbaqus/CAE標準のメッシュツールを使用でき、IGAメッシュはCoreform IGA Meshツールで定義できます。
- ジョブ作成
- IGAメッシュを含むシミュレーションでは、Coreform IGA Jobツールを使用してジョブを作成・submitする必要があります。
- このstepでは2つのファイルが生成されます。
- Abaqusの
INPファイルで、ファイル名は<job-name>.inp - Coreformの
CFファイルで、ファイル名は<job-name>.cfです。このファイルはtrimmed mesh生成routineへの入力を提供します。
- Abaqusの
- パラメータ設定
シミュレーション実行
- Trimmed meshの計算 (Coreform IGA for Abaqusライセンスが必要)
- ユーザーが定義した内容に従ってtrimmed spline meshを生成します。
- 要素および基底関数データ(例:quadrature、extraction operator、extension operator、function splitting)を計算します。
- 次の
SQLデータベースファイルを書き出します。ファイル名は<job-name>.sqlで、trimmed meshと要素/基底関数データを格納します。
- ユーザー要素データの初期化とAbaqusキーワード変換 (Coreform IGA for Abaqusライセンスは不要)
- 元のAbaqus setup deckである
<job-name>.inpを、保護されたsource deckである<job-name>_source.inp. - へコピーします。次に
<job-name>_source.inpを読み込み、対象となるAbaqusキーワードをCoreform IGAと互換性のある形式へ変換し、実行可能なsetup deckとして<job-name>.inp.- 次の Abaqusキーワード対応ガイド では、対応する各semantic caseの変換挙動を説明しています。
- 要素および基底関数データをAbaqusユーザー要素向けの効率的なデータ構造へ変換し、同じSQLデータベースへ格納します。
SQLデータベースファイルを書き出します。ファイル名は<job-name>.sql. - IGA geometry deckを生成します。
<job-name>_iga_geom.inpには*USER ELEMENTおよび関連定義が含まれます。変換済みのsetup deckは<job-name>.inpこのgeometry deckを次の*INCLUDEキーワードで参照します。
- 元のAbaqus setup deckである
- Abaqus/Preを実行 (Coreform IGA for Abaqusライセンスは不要)
- 通常のAbaqus/Pre処理を実行します。
- Coreform IGA User Elementsを使用してAbaqus/Standardを実行 (Coreform IGA for Abaqusライセンスが必要)
- Abaqus/Standardは
uniquelibsオプション付きで実行されます。- Abaqus/CAEからsubmitした場合、このオプションは自動的に設定されます。
- コマンドラインからジョブをsubmitする場合、ユーザーは
uniquelibsをコマンド内で手動指定し、さらに<coreform-install-dir>/binにあるCoreform user-element libraryをAbaqus/Standardから検出できるようにする必要があります。 Windowsでは<coreform-install-dir>/binをPATH環境変数へ追加します。 Linux/macOSでは同じディレクトリをLD_LIBRARY_PATHへ追加します(同等の方法としてusub_lib_dirをabaqus_v6.envで設定できます)。uniquelibsモードでは、どちらの方法でも*_usubライブラリを検出できます。
- Abaqus/StandardはCoreformがpackageした共有ライブラリ
*_usub.[so|dll]を読み込み、ユーザー要素機能を提供します。- Coreform IGA for Abaqusライセンスを利用できない場合、ライセンスが利用可能になるまでシミュレーションはpauseします。
- Coreform IGA for Abaqusは解析開始時に
<job-name>_iga_results.sqlを作成します。このresults databaseは<job-name>.sqlmeshおよびruntime-input databaseとは別です。IGAメッシュのcopyと、解析の進行に伴って書き込まれる要求済みIGA result frameおよびfieldを格納します。 - Coreform IGA for Abaqusは次の名前のODBファイルを作成します。
<job-name>_iga.odb.- Coreform IGA for AbaqusはAbaqus/Standardへoutput field variableを問い合わせ、Coreform IGA Meshで生成したlinear hex-tet mesh上にそれらを保存します。
- ユーザーがCoreform IGA for Abaqusの probeを指定している場合、Coreform IGAがprobe dataを計算し、へ保存します。
probe_data.json. - 実行中、AbaqusはCoreform IGA for Abaqusへlinear system information(例:stiffness matrix、mass matrix、force vector)の提供を要求します。
- シミュレーション完了後、Coreform IGA for Abaqusライセンスはreleaseされます。
- Abaqus/Standardは
- Trimmed meshの計算 (Coreform IGA for Abaqusライセンスが必要)
後処理
Abaqus/CAEで結果を可視化・解析
- 次の
<job-name>.odbファイルには、ユーザーが定義した通常のAbaqus要素、Coreform IGA for Abaqusユーザー要素の節点、およびCoreform IGA Meshが生成して境界条件、荷重条件、拘束、contactなどに使用するsurface meshが含まれ、Abaqus/CAEと互換性があります。 - 次の
<job-name>_iga.odbファイルには、Coreform IGA Meshが生成したlinear hex-tet meshと、現在は限定されたhard-coded setであるoutput field variableが含まれます。 - 次の
probe_data.jsonファイルにはCoreform IGA for Abaqusのprobe variableが含まれます。- Abaqus/CAEではnativeには対応していませんが、熟練した解析者はAbaqus/CAE内蔵Python consoleで
import jsonを実行し、jsonmoduleを使ってデータをPython objectとして取り出し、その後Abaqus Python interfaceでXYDataobjectへ変換してAbaqus/CAE上でplotできます。 - 別の方法として、
jsonファイルはPython(matplotlib)、Julia、Matlabなどの3rd-party toolでも可視化できます。
- Abaqus/CAEではnativeには対応していませんが、熟練した解析者はAbaqus/CAE内蔵Python consoleで
- 次の
ParaViewで結果を可視化・解析