Coreform IGA for Abaqus
Coreform公式ドキュメントを基にした日本語版です。技術仕様・対応状況の最終的な基準は公式英語版です。

ワークフロー概要

1 図による概要

Coreform IGA for Abaqusのワークフロー概要を下図に示します。この図では、プロセスを角丸長方形で、ファイルをデータベースまたはテキストファイルを表すアイコンで示しています。

  • プロセスが 紫 で表示されている場合は、標準Abaqusのプロセスまたはワークフローであることを示します。プロセスが 緑 で表示されている場合は、Coreform IGA Custom Applicationまたはsolver workflowの一部であることを示します。プロセスが2色の 紫–緑 で表示されている場合は、標準AbaqusとCoreform IGAの両方のワークフローを利用できることを示します。
  • ファイルアイコンが 紫 で表示されている場合、そのファイルは標準Abaqusワークフローでも存在するファイルであり、ユーザーは通常のAbaqusワークフローと同じように扱うことができます。ファイルアイコンが 緑 で表示されている場合、そのファイルはCoreform IGAワークフロー固有のものであり、ユーザーは操作時に注意する必要があります。
図1:Coreform IGA for Abaqusワークフローの概要。

2 文章による概要

  1. モデル設定 (Abaqus/CAEライセンスのみ必要)

    モデル設定段階ではCoreformライセンスは不要で、Abaqus/CAEライセンスだけが必要です。

    1. パラメータ設定
      1. Abaqus/CAEで通常どおりモデルを設定します。形状のimport、材料の作成と割り当て、stepと荷重条件の定義などを行います。
    2. メッシュ設定
      1. Coreform IGA for Abaqusは、通常のAbaqus要素とCoreform IGAメッシュの両方を含むシミュレーションをサポートします。通常のAbaqusメッシュにはAbaqus/CAE標準のメッシュツールを使用でき、IGAメッシュはCoreform IGA Meshツールで定義できます。
    3. ジョブ作成
      1. IGAメッシュを含むシミュレーションでは、Coreform IGA Jobツールを使用してジョブを作成・submitする必要があります。
      2. このstepでは2つのファイルが生成されます。
        1. Abaqusの INP ファイルで、ファイル名は <job-name>.inp
        2. Coreformの CF ファイルで、ファイル名は <job-name>.cf です。このファイルはtrimmed mesh生成routineへの入力を提供します。
  2. シミュレーション実行

    1. Trimmed meshの計算 (Coreform IGA for Abaqusライセンスが必要)
      1. ユーザーが定義した内容に従ってtrimmed spline meshを生成します。
      2. 要素および基底関数データ(例:quadrature、extraction operator、extension operator、function splitting)を計算します。
      3. 次の SQL データベースファイルを書き出します。ファイル名は <job-name>.sqlで、trimmed meshと要素/基底関数データを格納します。
    2. ユーザー要素データの初期化とAbaqusキーワード変換 (Coreform IGA for Abaqusライセンスは不要)
      1. 元のAbaqus setup deckである <job-name>.inpを、保護されたsource deckである <job-name>_source.inp.
      2. へコピーします。次に <job-name>_source.inpを読み込み、対象となるAbaqusキーワードをCoreform IGAと互換性のある形式へ変換し、実行可能なsetup deckとして <job-name>.inp.
      3. 要素および基底関数データをAbaqusユーザー要素向けの効率的なデータ構造へ変換し、同じSQLデータベースへ格納します。 SQL データベースファイルを書き出します。ファイル名は <job-name>.sql.
      4. IGA geometry deckを生成します。 <job-name>_iga_geom.inpには *USER ELEMENT および関連定義が含まれます。変換済みのsetup deckは <job-name>.inp このgeometry deckを次の *INCLUDE キーワードで参照します。
    3. Abaqus/Preを実行 (Coreform IGA for Abaqusライセンスは不要)
      1. 通常のAbaqus/Pre処理を実行します。
    4. Coreform IGA User Elementsを使用してAbaqus/Standardを実行 (Coreform IGA for Abaqusライセンスが必要)
      1. 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 ライブラリを検出できます。
      2. Abaqus/StandardはCoreformがpackageした共有ライブラリ *_usub.[so|dll] を読み込み、ユーザー要素機能を提供します。
        • Coreform IGA for Abaqusライセンスを利用できない場合、ライセンスが利用可能になるまでシミュレーションはpauseします。
      3. Coreform IGA for Abaqusは解析開始時に <job-name>_iga_results.sql を作成します。このresults databaseは <job-name>.sql meshおよびruntime-input databaseとは別です。IGAメッシュのcopyと、解析の進行に伴って書き込まれる要求済みIGA result frameおよびfieldを格納します。
      4. 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上にそれらを保存します。
      5. ユーザーがCoreform IGA for Abaqusの probeを指定している場合、Coreform IGAがprobe dataを計算し、へ保存します。 probe_data.json.
      6. 実行中、AbaqusはCoreform IGA for Abaqusへlinear system information(例:stiffness matrix、mass matrix、force vector)の提供を要求します。
      7. シミュレーション完了後、Coreform IGA for Abaqusライセンスはreleaseされます。
  3. 後処理

    1. Abaqus/CAEで結果を可視化・解析

      1. 次の <job-name>.odb ファイルには、ユーザーが定義した通常のAbaqus要素、Coreform IGA for Abaqusユーザー要素の節点、およびCoreform IGA Meshが生成して境界条件、荷重条件、拘束、contactなどに使用するsurface meshが含まれ、Abaqus/CAEと互換性があります。
      2. 次の <job-name>_iga.odb ファイルには、Coreform IGA Meshが生成したlinear hex-tet meshと、現在は限定されたhard-coded setであるoutput field variableが含まれます。
      3. 次の probe_data.json ファイルにはCoreform IGA for Abaqusのprobe variableが含まれます。
        1. Abaqus/CAEではnativeには対応していませんが、熟練した解析者はAbaqus/CAE内蔵Python consoleで import json を実行し、 json moduleを使ってデータをPython objectとして取り出し、その後Abaqus Python interfaceで XYData objectへ変換してAbaqus/CAE上でplotできます。
        2. 別の方法として、 json ファイルはPython(matplotlib)、Julia、Matlabなどの3rd-party toolでも可視化できます。
    2. ParaViewで結果を可視化・解析

      重要

      Alpha機能

      Coreform IGAには <job-name>_iga_results.sql を開いてIGAメッシュと対応result fieldを可視化できるAlpha版ParaView readerが含まれます。results database自体は解析中にCoreform IGAが書き出します。Alpha指定は現在のParaView readerと後処理workflowに対するものです。そのinterface、互換性要件、対応result fieldは変更される可能性があります。