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

+10
View File
@@ -40,6 +40,8 @@ pub enum EngineError {
Mesh(#[from] modelcraft_mesh::Error),
#[error(transparent)]
File(#[from] modelcraft_io::Error),
#[error(transparent)]
Deck(#[from] modelcraft_decks::Error),
/// A command panicked; the model is unchanged.
#[error("internal error in {command}: {message}")]
Internal { command: String, message: String },
@@ -229,6 +231,14 @@ mod tests {
json!({"path": "/dev/zero"}),
json!({"path": "/no/such/design.solidcraft"}),
json!({"path": "x".repeat(100_000)}),
json!({"format": "abaqus"}),
json!({"format": "abaqus", "path": ""}),
json!({"format": "abaqus", "path": "/"}),
json!({"format": "abaqus", "path": "/no/such/dir/part.inp"}),
json!({"format": "abaqus", "path": format!("/no/such/{}", "x".repeat(100_000))}),
json!({"format": "abaqus", "path": 7}),
json!({"format": "x".repeat(100_000), "path": "/no/such/part.inp"}),
json!({"format": null, "path": "/no/such/part.inp"}),
json!({"path": 7}),
json!({"body": "Body1", "tolerance": 0.05}),
json!({"body": null, "tolerance": "fine"}),