Abaqus input writer and deck.write (M3) (#22)

* decks: Abaqus input writer with golden decks, read-back, Jacobian and unsupported tests

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm

* engine: deck.write command (format dispatch, atomic file write), docs

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm

* decks: format table, one resolve per write, direct buffer writes; engine: shared path parameter

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm

---------

Co-authored-by: jyviko <2501648+jyviko@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
authored and GitHub committed 2026-10-13 17:27:44 -04:00
1 parent 2d99a8571c
commit a71f85eb58
15 files changed
+1922 -3

No files matched your search

+75
View File
@@ -0,0 +1,75 @@
*HEADING
ModelCraft model, units mm-t-s-N-MPa
** Written by ModelCraft. The numbers are in one consistent unit system and are not converted.
** Nodes
*NODE
1, 0.0, 0.0, 0.0
2, 0.0, 0.0, 10.0
3, 0.0, 10.0, 0.0
4, 0.0, 10.0, 10.0
5, 25.0, 0.0, 0.0
6, 25.0, 0.0, 10.0
7, 25.0, 10.0, 0.0
8, 25.0, 10.0, 10.0
9, 50.0, 0.0, 0.0
10, 50.0, 0.0, 10.0
11, 50.0, 10.0, 0.0
12, 50.0, 10.0, 10.0
13, 75.0, 0.0, 0.0
14, 75.0, 0.0, 10.0
15, 75.0, 10.0, 0.0
16, 75.0, 10.0, 10.0
17, 100.0, 0.0, 0.0
18, 100.0, 0.0, 10.0
19, 100.0, 10.0, 0.0
20, 100.0, 10.0, 10.0
** Elements
*ELEMENT, TYPE=C3D8I
1, 1, 5, 7, 3, 2, 6, 8, 4
2, 5, 9, 11, 7, 6, 10, 12, 8
3, 9, 13, 15, 11, 10, 14, 16, 12
4, 13, 17, 19, 15, 14, 18, 20, 16
** Sets
*NSET, NSET=all
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
17, 18, 19, 20
*ELSET, ELSET=all
1, 2, 3, 4
*NSET, NSET=root
1, 2, 3, 4
*SURFACE, TYPE=ELEMENT, NAME=root
1, S6
*NSET, NSET=tip
17, 18, 19, 20
*SURFACE, TYPE=ELEMENT, NAME=tip
4, S4
** Materials
*MATERIAL, NAME=Steel
*ELASTIC, TYPE=ISOTROPIC
210000.0, 0.3
*DENSITY
7.85E-9
** Sections
** section beam
*SOLID SECTION, ELSET=all, MATERIAL=Steel
,
** Initial state: boundary conditions active in every step
*BOUNDARY
** boundary condition clamp
root, ENCASTRE
** Step Bend
*STEP, NAME=Bend, NLGEOM=NO
*STATIC
1.0, 1.0
** boundary conditions: as in the base state
*CLOAD, OP=NEW
17, 3, -25.0
18, 3, -25.0
19, 3, -25.0
20, 3, -25.0
*OUTPUT, FIELD, OP=NEW
*NODE OUTPUT
U, RF
*ELEMENT OUTPUT
S, E
*END STEP
+123
View File
@@ -0,0 +1,123 @@
*HEADING
ModelCraft model, units mm-t-s-N-MPa
** Written by ModelCraft. The numbers are in one consistent unit system and are not converted.
** Nodes
*NODE
1, 0.0, 0.0, 0.0
2, 0.0, 0.0, 10.0
3, 0.0, 10.0, 0.0
4, 0.0, 10.0, 10.0
5, 25.0, 0.0, 0.0
6, 25.0, 0.0, 10.0
7, 25.0, 10.0, 0.0
8, 25.0, 10.0, 10.0
9, 50.0, 0.0, 0.0
10, 50.0, 0.0, 10.0
11, 50.0, 10.0, 0.0
12, 50.0, 10.0, 10.0
13, 75.0, 0.0, 0.0
14, 75.0, 0.0, 10.0
15, 75.0, 10.0, 0.0
16, 75.0, 10.0, 10.0
17, 100.0, 0.0, 0.0
18, 100.0, 0.0, 10.0
19, 100.0, 10.0, 0.0
20, 100.0, 10.0, 10.0
** Reference points
*NODE
** reference point Tip
99999999, 110.0, 5.0, 5.0
** Elements
*ELEMENT, TYPE=C3D8I
1, 1, 5, 7, 3, 2, 6, 8, 4
2, 5, 9, 11, 7, 6, 10, 12, 8
3, 9, 13, 15, 11, 10, 14, 16, 12
4, 13, 17, 19, 15, 14, 18, 20, 16
** Sets
*NSET, NSET=all
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
17, 18, 19, 20
*ELSET, ELSET=all
1, 2, 3, 4
*NSET, NSET=root
1, 2, 3, 4
*SURFACE, TYPE=ELEMENT, NAME=root
1, S6
*NSET, NSET=tip
17, 18, 19, 20
*SURFACE, TYPE=ELEMENT, NAME=tip
4, S4
** Materials
*MATERIAL, NAME=Steel
*ELASTIC, TYPE=ISOTROPIC
210000.0, 0.3
*DENSITY
7.85E-9
** Sections
** section beam
*SOLID SECTION, ELSET=all, MATERIAL=Steel
,
** Couplings: every node of the set weighted equally
*SURFACE, TYPE=NODE, NAME=tie-nodes
tip, 1.0
*COUPLING, CONSTRAINT NAME=tie, REF NODE=99999999, SURFACE=tie-nodes
*KINEMATIC
1, 6
** Initial state: boundary conditions active in every step
*BOUNDARY
** boundary condition clamp
root, ENCASTRE
** Step Twist
*STEP, NAME=Twist, NLGEOM=NO
*STATIC
1.0, 1.0
** boundary conditions: as in the base state
*CLOAD, OP=NEW
99999999, 4, 5000.0
*OUTPUT, FIELD, OP=NEW
*NODE OUTPUT
U, RF
*ELEMENT OUTPUT
S, E
*END STEP
** Step Modes
*STEP, NAME=Modes
*FREQUENCY, EIGENSOLVER=LANCZOS
6, 1.0
*BOUNDARY
** boundary condition lift
99999999, 3, 3, 0.5
*OUTPUT, FIELD, OP=NEW
*NODE OUTPUT
U
*END STEP
** Step Lift
*STEP, NAME=Lift, NLGEOM=NO
*STATIC
1.0, 1.0
*BOUNDARY
** boundary condition lift
99999999, 3, 3, 0.5
*CLOAD, OP=NEW
99999999, 4, 5000.0
*DLOAD, OP=NEW
all, BY, 0.001
*OUTPUT, FIELD, OP=NEW
*NODE OUTPUT
U, RF
*ELEMENT OUTPUT
S, E
*END STEP
** Step Release
*STEP, NAME=Release, NLGEOM=NO
*STATIC
1.0, 1.0
*BOUNDARY, OP=NEW
** boundary condition clamp
root, ENCASTRE
*CLOAD, OP=NEW
*DLOAD, OP=NEW
*OUTPUT, FIELD, OP=NEW
*NODE OUTPUT
U
*END STEP
+67
View File
@@ -0,0 +1,67 @@
*HEADING
ModelCraft model, units mm-t-s-N-MPa
** Written by ModelCraft. The numbers are in one consistent unit system and are not converted.
** Nodes
*NODE
1, 0.0, 0.0, 0.0
2, 100.0, 0.0, 0.0
3, 200.0, 0.0, 0.0
4, 0.0, 100.0, 0.0
5, 100.0, 100.0, 0.0
6, 200.0, 100.0, 0.0
7, 0.0, 200.0, 0.0
8, 100.0, 200.0, 0.0
9, 200.0, 200.0, 0.0
** Elements
*ELEMENT, TYPE=S4R
1, 1, 2, 5, 4
2, 2, 3, 6, 5
3, 4, 5, 8, 7
4, 5, 6, 9, 8
** Sets
*NSET, NSET=edge
1, 4, 7
*NSET, NSET=mid
2, 5, 8
*NSET, NSET=skin
1, 2, 3, 4, 5, 6, 7, 8, 9
*ELSET, ELSET=skin
1, 2, 3, 4
*NSET, NSET=top
1, 2, 3, 4, 5, 6, 7, 8, 9
*SURFACE, TYPE=ELEMENT, NAME=top
1, SPOS
2, SPOS
3, SPOS
4, SPOS
** Materials
*MATERIAL, NAME=Aluminium
*ELASTIC, TYPE=ISOTROPIC
70000.0, 0.33
*DENSITY
2.7E-9
** Sections
** section plate
*SHELL SECTION, ELSET=skin, MATERIAL=Aluminium, OFFSET=0.5
2.0, 5
** Initial state: boundary conditions active in every step
*BOUNDARY
** boundary condition clamp
edge, ENCASTRE
** boundary condition sym
mid, XSYMM
** Step Load
*STEP, NAME=Load, NLGEOM=NO
*STATIC
1.0, 1.0
** boundary conditions: as in the base state
*DSLOAD, OP=NEW
top, P, 0.01
*DLOAD, OP=NEW
skin, GRAV, 9810.0, 0.0, 0.0, -1.0
*OUTPUT, FIELD, OP=NEW
*NODE OUTPUT
U, RF
*ELEMENT OUTPUT
S, E
*END STEP