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

Probeの操作

Probeは、選択したoutput variableをCoreformが評価する位置を記述します。Abaqusの永続recordであり、model databaseとともに保存され、再open時に復元され、public API経由で変更するとjournalへ記録されます。

1 Probe typeを選択

1つの位置には point Probe 、segment上の等間隔位置には line Probe 、相互に無関係な位置の明示的な集合には multi-point Probe を使用します。

各Probeは、次のAbaqus repository typeのうち正確に1つをtargetとします。

  • instanceNames はassembly instanceを選択します。
  • setNames はassembly setを選択します。
  • partNames はmodel partを選択します。

評価位置を含むgeometryを持つtargetを選択してください。複数のtarget kindを同時に指定するとinvalidです。

2 Probeを作成・更新

次のscriptではline Probeを作成し、targetとsampling densityを変更してからportable specificationを確認します。

from abaqus import mdb
import coreform.abaqus

coreform.abaqus.init_iga_mdb()

model = mdb.models["Beam"]
probes = model.steps.customData.CoreformIGA

probe = probes.LineProbe(
    name="Centerline",
    instanceNames=("BEAM-1",),
    variables=("S", "U"),
    startLocation=(0.0, 0.0, 0.0),
    stopLocation=(10.0, 0.0, 0.0),
    numEvalPoints=41,
)

probe.setValues(
    setNames=("CENTERLINE",),
    numEvalPoints=81,
)

spec = probe.toSpec()
print(spec.start_location)
print(spec.stop_location)
print(spec.num_eval_points)

target keywordを1つ setValues() へ渡すとtarget kindが切り替わります。省略したその他のvalueは現在のstateを保持します。

3 portable specificationから開始

portable Probeをsingle source of truthとして扱う場合は spec= を使用します。flatなAbaqus definition parameterと spec= を混在させないでください。

from coreform.probe import MultiPointProbeSpec, ProbeRegion

portable = MultiPointProbeSpec(
    name="Fasteners",
    region=ProbeRegion.sets(("FASTENER-REGION",)),
    variables=("S",),
    locations=(
        (1.0, 0.0, 0.0),
        (3.0, 0.0, 0.0),
        (5.0, 0.0, 0.0),
    ),
)

probe = probes.MultiPointProbe(spec=portable)

互換性のあるspecificationから生成したmappingも spec= 経由で受け付け、record作成前にvalidationされます。

4 Probeの確認と削除

Probe recordは名前をkeyとして probes.probesに保存されます。active target kindについて、解決済みの instances, sets、および parts propertyからlive Abaqus objectを取得できます。周辺のAbaqus model dataを変更した後は、保存済みtarget名が引き続き解決できるか validate() を呼び出して確認してください。

操作をjournalへ記録するため、Probeはnamespace経由で削除します。

probes.deleteProbe(name="Centerline")

すべてのfactory、record attribute、method、portable class、parameter、return valueについては、生成済みの Abaqus Probeリファレンス および portable Probeリファレンス を参照してください。