スクリプティングを始める
Coreform IGA scriptは、Coreform IGA custom applicationが提供するAbaqus Python kernel内で実行されます。 coreform_iga launcherは、scriptを実行する前にAbaqus/CAEとCoreform kernel data classを読み込みます。
1 terminalからscriptを実行
起動前にscriptを保存し、可能な場合はabsolute pathを使用してください。次の例ではCoreform IGA for Abaqus 2026.9のdefault installation locationを使用します。
Linuxの場合:
cd /home/jsmith/cifa-scripts
/opt/Coreform-IGA-2026.9/bin/coreform_iga \
noGUI="/home/jsmith/cifa-scripts/my_script.py"launcherが PATHにある場合は、次のように実行できます。
coreform_iga noGUI="$PWD/my_script.py"Windows PowerShellの場合:
cd 'C:\Users\jsmith\cifa-scripts'
& 'C:\Program Files\Coreform IGA 2026.9\coreform_iga.bat' `
'noGUI=C:\Users\jsmith\cifa-scripts\my_script.py'例のusername、version、installation directoryは使用中のcomputerのpathに置き換えてください。Linuxでは、 command -v coreform_iga により PATHから選択されたlauncherを確認できます。Windows PowerShellでは次を使用します。 Get-Command coreform_iga.bat.
scriptはsystem Python interpreterではなくAbaqus Python内で実行されます。その print() outputとAbaqusまたはCoreformのdiagnosticはterminalに表示されます。
Coreformの coreform_iga launcherを使用してください。通常のAbaqus/CAE sessionではCoreform IGA kernel data classは読み込まれません。
2 model databaseを初期化
scriptの先頭で現在のAbaqus model databaseをimportし、Coreform namespaceを初期化します。
from abaqus import mdb
import coreform.abaqus
coreform.abaqus.init_iga_mdb()
model = mdb.models["Model-1"]
probeApi = model.steps.customData.CoreformIGA
meshApi = model.parts["Part-1"].customData.CoreformIGA
jobApi = mdb.customData.CoreformIGAinit_iga_mdb() はidempotentです。model、part、assembly instanceを新規作成した後に再度呼び出すと、新しいobjectを初期化できます。後から作成した1つのpartまたはindependent instanceについては、 init_iga_mesh_owner(owner) によりそのownerのMesh namespaceだけを追加します。
永続object modelには3つのdomain entry pointがあります。
| Domain | Namespace | 保存されるrecord |
|---|---|---|
| Probe | model.steps.customData.CoreformIGA |
namespace.probes[name] |
| Mesh | part.customData.CoreformIGA または independentInstance.customData.CoreformIGA |
namespace.mesh |
| Job | mdb.customData.CoreformIGA |
namespace.jobs[name] |
3 API layerを理解する
coreform packageは、portableなCoreform dataと特定downstream applicationとのintegrationを分離します。
coreform.job,coreform.mesh、およびcoreform.probeはportable Coreform layerを構成します。これらのmoduleは、通常のPython snake_case名を使用してrawでimmutableなspecificationと関連operationを定義します。Abaqusには依存せず、通常のPython programから使用できます。coreform.abaqus.job,coreform.abaqus.mesh、およびcoreform.abaqus.probeはAbaqus adapter layerを構成します。これらのmoduleはportable dataをAbaqus向けrecordとoperationへ変換し、永続化されるcustomDataobject、owner resolution、validation、journalingを提供します。customer-facing operationはAbaqusの命名規則に従います。
スクリプティングリファレンス は interop/abaqus/cf_app/coreform source treeに対応しています。各ページは1つのsource directoryを表し、リンクされたdirectory treeからadapterまたはportable subpackageへ進めます。file sectionにはそのdirectoryで直接定義されるpublic Python declarationを記載しています。
4 永続dataを作成・変更
Abaqus向けfactoryは、たとえば PointProbe および ImmersedRectilinearMeshのようなPascalCase名を使用します。parameterとpersistent-record methodは、たとえばAbaqus styleのcamelCase名を使用します。 instanceNames, elementSize、および setValues.
factoryは新しく作成したpersistent recordを返します。record attributeはread-onlyなので、 setValues() を使用してvalidation、persistence、Abaqus journalingの同期を保ってください。repository entryを直接削除するのではなく、 deleteProbe(), deleteMesh()、および deleteJob() を使用します。
invalid valueでは coreform.validation.ValidationErrorが発生します。作成または更新が失敗した場合は、保存dataを変更する前にvalidationで停止します。
5 portable specificationを扱う
portable specificationはimmutableでAbaqusに依存しないPython objectで、snake_case名を使用します。Abaqus外で作成し、Abaqus factoryの相互排他的な spec= 形式で渡せます。
from coreform.probe import PointProbeSpec, ProbeRegion
spec = PointProbeSpec(
name="Probe-1",
region=ProbeRegion.instances(("PART-1-1",)),
location=(0.0, 0.0, 0.0),
)
probe = probeApi.PointProbe(spec=spec)永続化されるProbe、Mesh、Job recordはすべて toSpec() を提供し、portable representationへ戻せます。process間やdownstream toolとのspecification交換には、versioned dictionaryとJSONがサポートされる形式です。
6 永続dataを検証
model databaseを構築または再openした後、Coreform namespaceとrecordを変更せずに一括validationできます。
result = coreform.abaqus.verify_iga_mdb()
if not result.passed:
for issue in result.issues:
print(issue)続いて次を参照してください。 Probeの操作, Meshの操作、または Jobの実行。正確なmethod詳細については、 スクリプティングリファレンス.