Release Formulation¶
Member moment releases act about local Z, normal to the XY frame. End releases are independent: one member may hinge at a shared node while other members retain a rigid connection. Releasing both ends supports pin-jointed frames with nodal loads, but the member remains a beam and can still bend under transverse member loads; it is not a separate axial-only truss element. Axial DX and shear DY releases disconnect their corresponding member-end translations without changing joint supports or other members at that node. Released member ends can therefore move relative to the joint: node tables show joint displacement while member deflections show the member side of the release. Spatial frames also expose local DX/DY/DZ, RX/RY/RZ releases for linear frame-only analysis. Partial-stiffness connection releases are not implemented.
PyNite 3.0.0 condenses translational releases correctly for forces but its member deflection reconstruction otherwise uses joint translations at released ends. The linear-analysis adapter recovers the eliminated end displacements from PyNite's uncondensed stiffness and fixed-end vectors with zero released-end force, then uses PyNite's own deflection/extrema routines. It does not alter the global solve or nodal reactions. Analytical axial-release and fixed-guided bending benchmarks cover this behavior, including split members and result transport.
Spatial rotational releases (development after RC4). Each frame end has
local RX/RY/RZ flags. RZ retains the existing release_start/release_end names;
RX/RY use release_start_rx, release_start_ry, release_end_rx and
release_end_ry. Both RX ends cannot be released. Linear elastic analysis without
surface geometry is required; unsupported configurations fail before solving.
Supports and springs remain global and are not changed by member releases.
The adapter builds an orthonormal global basis G for joint rotations unused by all incident frame ends, rotational supports and springs. This handles oblique and rolled members without accidentally fixing a physical global component. It verifies K G = 0 and Gᵀ(P − FER) = 0 for each factored combination, then solves with the numerical coordinate gauge K + G S Gᵀ, equivalent to eliminating these unused coordinates. S is a positive numerical scale; it is not a physical spring and produces no physical reaction for compatible loads. Nearly dependent axes, unresisted moments and connected hinge mechanisms are rejected. Translations and connected rotational mechanisms never enter G.
Before accepting results, every free physical joint equation is checked against
the unaugmented engine stiffness, and all six whole-model force/moment balances
must pass for every combination. Member-side eliminated rotations are recovered
from PyNite's uncondensed stiffness and fixed-end vector, including member loads.
The gauge is only a coordinate reference for nonunique joint motion. Node data
uses None internally and n/a in numerical tables/CSV/MCP for any component
participating in an unused direction. MCP node results also expose paginated
inactive_rotation_directions as global unit vectors, with a rotation_note.
Recovered local member-end RY/RZ slopes are separate from those joint angles;
a free uniform RX twist must not be interpreted as a unique angle.
Independent benchmarks cover biaxial simply supported beams (closed-form moments, deflections and slopes), internal hinges, released free-tip bending, point torque, reversed/vertical/oblique axes, roll, signed/zero combinations, mixed connections, rotational springs and genuine mechanisms. Converted planar Gerber/arch examples retain their in-plane response. Released P-Delta, slab coupling and nonlinear connections remain unsupported.
Spatial translational releases (development after RC4). End DX/DY/DZ use
release_start_x/y/z and release_end_x/y/z. They share the same condensed
linear stiffness/load vectors and the recovered member-side displacement path.
Each axial/torsional channel requires at least one connected end. In each bending
plane, at most two of its four end translation/rotation components can be released,
and both transverse translations cannot be released. These conditions keep the
eliminated local stiffness block invertible; global stability is checked separately.
Every recovered released component must also satisfy its zero-force/moment equation.
Independent axial-field and Euler–Bernoulli flexibility benchmarks cover either
end, both bending planes, uniform/partial/varying/point loads, signed/zero factors,
reversal, vertical/oblique members, roll, springs/other incident members and splitting.
Only unused rotations enter the coordinate gauge above. Disconnected or otherwise
unstable joint translations remain rejected. Node results retain the joint motion;
Properties and member reports give member-end translations in rolled local axes.
MCP read_results(kind='members') adds a unit-labelled released_end_translations
table for the members present on that page, separate from global node results.
Changing display units preserves the snapshot and converts the reported lengths.
Released frames with P-Delta or surfaces remain unsupported.
The sliding-beam example uses a 204 in inclined member, roll 31 degrees and uniform local qx = +0.002, qy = -0.001, qz = -0.0006 kip/in. Both joints are fixed; end-j DX/DY/DZ are released while rotations remain connected. Its member-side end motion is dx = qx L²/(2EA), dy = qy L⁴/(24EIz), dz = qz L⁴/(24EIy), even though joint translations remain zero. Service gives dx = +0.000139324 in, dy = -0.00487912 in and dz = -0.0975823 in with the example's section/material. End-j axial/shear forces are zero; support moments remain. Reversed and Zero combinations show signed/zero superposition. This is an idealized connection, not a unilateral contact or partial-stiffness model.
Source: GUIDE.md. This manual follows the current repository; the published rc1 wheel has a smaller feature set.