Skip to content

TenNodeTetrahedron: correct -doInitDisp, document responses/parameters, add verification example - #203

Merged
fmckenna merged 7 commits into
OpenSees:masterfrom
jaabell:fix/tet10-integration
Oct 16, 2026
Merged

fmckenna merged 7 commits into
OpenSees:masterfrom
jaabell:fix/tet10-integration

Conversation

@jaabell

@jaabell jaabell commented Oct 10, 2026 •

Copy link
Copy Markdown
Member

Branch: jaabell:fix/tet10-integration → OpenSees/OpenSeesDocumentation:master
Code PR: OpenSees/OpenSees#1833

Updates the TenNodeTetrahedron page for the code PR above:

  • -doInitDisp $value: enabled by a non-zero value (the page said 0), shown with its dash consistently, and
    usable right after $matTag or after any of the optional body forces.
  • Replaces the undefined |bool| substitution with |integer|.
  • Documents the stresses/strains response layout (4 Gauss points × 6 components) and per-point
    material $gp parameters.
  • A short note on the fixed bugs: volume integrated 6× too small, a heap overflow in stresses/strains, the
    -doInitDisp parsing, the element being unusable in OpenSeesSP/OpenSeesMP, and stray shape-function output
    from the initial stiffness. It now also covers the later fixes: wrong UniformExcitation inertia loads, wrong
    strains in curved elements, inverted elements accepted silently, the eleResponse ... material crash, the
    unreachable setDispInit parameter, initial stiffness from deactivated elements, and the print -JSON node list.
  • The new command TenNodeTetrahedronStd: the same element with mid-edge nodes 9 and 10 in standard order (9 on
    edge 2-4, 10 on edge 3-4, as in VTK). TenNodeTetrahedron keeps the gmsh order (9 on edge 3-4, 10 on edge 2-4).
    • Command syntax, Tcl and Python examples, and a node-numbering table for both commands.
    • A note that the existing figure has always shown the standard positions, so models built from it should use
      TenNodeTetrahedronStd (or swap nodes 9 and 10). The figure itself is unchanged; its caption says which
      command it shows.
  • A downloadable verification script, example_tet10_patch.tcl, with its expected output:
    • body-force reactions = b·V on a distorted tet;
    • a uniform-strain patch test exact at all 4 points;
    • per-point parameter updates.
  • A second script, example_tet10_numbering.tcl, with its expected output. On a curved element it checks that
    TenNodeTetrahedronStd matches TenNodeTetrahedron with nodes 9/10 swapped (to 2e-16), that the wrong order is
    detected, and repeats the patch tests with the new command.
  • A third script, example_tet10_curved_patch.tcl, with its expected output: the uniform-strain patch test on
    straight and curved elements (mid-edge nodes moved off the edges), exact to ~3.5e-11 for both commands.

Builds with Sphinx with no warnings from the changed files.

🤖 Generated with Claude Code

https://claude.ai/code/session_01K524skQQ24A6JCFWNnb7G1

jaabell and others added 3 commits October 2, 2026 07:01
…erification

- -doInitDisp is enabled by a non-zero value (the page said 0); show the
  dash consistently; it may follow $matTag or the optional body forces.
- Replace the undefined |bool| substitution with |integer|.
- Document stresses/strains layout (4 GPs x 6) and per-point
  `material $gp` parameters.
- Note the fixed volume-scaling, response-buffer and parser bugs, and add
  a downloadable verification script (body-force and uniform-strain patch
  tests, per-point parameter update) with expected output.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K524skQQ24A6JCFWNnb7G1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K524skQQ24A6JCFWNnb7G1
jaabell and others added 4 commits October 12, 2026 22:16
Add the node-numbering table (gmsh default vs Abaqus C3D10 for mid-edge
nodes 9/10), note that the figure shows the Abaqus positions, and add
a verified example comparing both orders on a curved element.

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

The node-order option is now a second command, TenNodeTetrahedronStd
(standard edge order), instead of a -numbering flag. Update the command
syntax, numbering table, verified example and the fixes note (parallel
support, debug output).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K524skQQ24A6JCFWNnb7G1
Add a verified curved-element patch test, update the numbering example's
expected output (its element is curved, so the numbers changed with the
fix), and extend the fixes note.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K524skQQ24A6JCFWNnb7G1
@fmckenna
fmckenna merged commit 8ec2d8e into OpenSees:master Oct 16, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants