Inertia relief#
A structure without supports, e.g. an aircraft or a launch vehicle in
flight, a spacecraft, or any free-free model, can move as a rigid body: its
stiffness matrix KC0 is singular, with the rigid-body modes in its null
space, and the linear static system of Linear static analyses cannot be
solved as it stands. A static solution exists only for balanced loads,
without a resultant force or moment. Under unbalanced loads, e.g. the
aerodynamic loads and the weights of an aircraft that is not trimmed, or
the thrust of a launch vehicle, the free structure accelerates; under
steady loads it deforms elastically while it accelerates as a rigid body.
Inertia relief balances the loads with the d’Alembert forces of this
rigid-body acceleration and computes the displacements relative to a
reference support. In pyfe3d this is done by
apply_inertia_relief(), whose Notes give the equations and the
references.
Workflow#
Assemble
KC0as for a linear static analysis, see Overview and workflow, without any support.Assemble the mass matrix
Mwith theupdate_Mmethods of the elements, consistent (mtype=0) or lumped (mtype=1), see Choosing an element, and add the point masses on the diagonal. The mass matrix must give every rigid-body mode a mass, e.g. a beam needs a rotary inertia about its axis,intrhoy2 + intrhoz2ofBeamProp.Build the load vector
fext. A gravity field isM @ a_g, witha_gthe uniform acceleration field of the gravity at the translational dofs.Choose the reference support, the Boolean array
bref, and, when the model itself is constrained, e.g. by a plane of symmetry or by the dofs that a model in one or two dimensions does not use, the Boolean arraybfixof these constraints.Solve:
from pyfe3d.solver import apply_inertia_relief u, acc, Phi, R = apply_inertia_relief(KC0, M, fext, bref, bfix, return_reactions=True)
uare the displacements relative to the reference support,accthe rigid-body accelerations of the reference dofs,Phithe rigid-body modes, with whichPhi @ accis the acceleration of every dof and-M @ Phi @ accthe d’Alembert forces, andRthe residual, whose values atbrefare the reactions of the reference support, zero up to the round-off.Post-process
uas in a linear static analysis, e.g. withupdate_probe_ueandupdate_probe_finteof the elements. The element forces of a distributed inertia load contain the element’s own share of it, as for any distributed load.
The reference support#
The reference support sets to zero as many dofs as there are rigid-body
modes, six for a free structure in 3D, fewer with bfix, e.g. two, heave
and pitch, for the half model of the airplane of
Tutorial: inertia relief of a stick aircraft model, MSC Nastran example HA144A, whose plane of symmetry and
fore-aft translation are constrained by bfix. It must be
statically determinate: it suppresses every rigid-body mode without
restraining any deformation, i.e. the rows of the rigid-body modes at the
reference dofs form a non-singular square matrix. Typical choices are the
six dofs of one node, or three translations of one node, two of a second
node and one of a third node that are not aligned.
apply_inertia_relief() checks the choice:
with too few dofs, or dofs that leave a rigid-body mode free, e.g. two translations along the line joining their nodes, the stiffness matrix of the free dofs, \(\boldsymbol{K}_{{C0}_{uu}}\), is singular, which raises a
numpy.linalg.LinAlgError, as for insufficient boundary conditions inlinear_static();with more dofs than the rigid-body modes, the support is statically indeterminate: it would restrain the deformation and carry reactions, which raises a
numpy.linalg.LinAlgErrortoo.
With a statically determinate support, the reactions are zero and the support does not change the solution: another choice changes the displacements by a rigid-body motion only, while the strains, the stresses and the internal forces are the same. The displacements are thus always relative to the chosen support, which moves with the rigid-body acceleration; a support at a point of interest, e.g. the centre of gravity or a payload interface, makes them easier to read.
Balanced and unbalanced loads#
For balanced loads, e.g. a structure under its own weight balanced by other loads, or self-equilibrated loads, the rigid-body accelerations are zero up to the round-off and inertia relief reduces to a fictitious support of the singular static problem: the displacements are those of the structure supported by the reference support, which carries no reaction.
For unbalanced loads, the plain linear static solution with the same support would carry the resultant of the loads at the support, with unrealistic reactions and internal forces near it. Inertia relief replaces these reactions by the d’Alembert forces of the rigid-body acceleration, distributed as the mass. The result is a quasi-static state, valid when the loads are steady and the transient response has been damped out; it is not a dynamic response.
Relation to the prescribed displacements#
The reference support is a set of prescribed null displacements, the known
set \(k\) of the partition of Linear static analyses, with bk = bref |
bfix and uk = 0, and the reactions are computed as there, with the
d’Alembert forces added to the external forces. The difference is the
choice of these dofs: a support of a linear static analysis restrains the
structure and carries the loads, whereas the reference support of inertia
relief only fixes the rigid-body motion and carries no load.
Worked examples#
Tutorial: static analysis with inertia relief: springs and point masses, with the closed-form solutions, a free beam under a balanced load set, and a free beam and bar under an end force, against closed-form solutions;
Tutorial: inertia relief of a stick aircraft model, MSC Nastran example HA144A: the stick model of an airplane in trimmed level flight, the MSC Nastran example HA144A, against the published results. The published aerodynamic box forces, transferred to the beams with Nastran’s linear splines (SPLINE2), which carry the moments of the forces through their rigid arms, reproduce the published bar forces and displacements to the printed digits; an inverse-distance load transfer and the loads of a vortex lattice method are compared as well (see the references of the tutorial).
References#
Barnett, A. R., Widrick, T. W. and Ludwiczak, D. R., Closed-Form Static Analysis with Inertia Relief and Displacement-Dependent Loads Using a MSC/NASTRAN DMAP Alter, NASA TM-106836, NASA Lewis Research Center, Cleveland, OH, 1995. https://ntrs.nasa.gov/citations/19950013233
Bathe, K. J., Finite Element Procedures, 2nd ed., K. J. Bathe, Watertown, MA, 2014.