Engineering Tools — MPC Equation Creator (00228)

What this tool does

Creates Nastran MPC (Multi-Point Constraint) equations between two nodes (or between two node sets, in a one-to-one or one-to-many configuration) to enforce kinematic coupling. Most commonly used to emulate a CBUSH or RBE2 link without actually placing the element, where the analyst wants the constraint behaviour without the element's property card showing up in counts and post-processing.

v3.1 — rotation correction for non-zero CBUSH length

The 3.1 revision fixes a quiet bug from earlier versions where the MPC equations assumed the two coupled nodes were coincident. For non-coincident nodes (typical CBUSH-emulation case where the two nodes are physically offset), the rotational DOFs need an additional moment-arm contribution: the translation of one node's rotation produces a translation at the other node equal to r × θ, where r is the vector between the nodes and θ is the rotation vector. v3.1 includes this term; pre-3.1 versions dropped it, which silently softened the emulated joint for any non-zero CBUSH length.

The bug was invisible on coincident-node setups (the test case matrix in development). It only surfaces when the two nodes are genuinely offset, which is the case in any real bolted-joint or fastener idealisation. If you have legacy decks built with pre-3.1 MPC equations, the joint stiffness is too low — the magnitude depends on the node offset and the rotation magnitude, but for typical 1/4-inch fastener stand-offs the effective stiffness error can be 10-30%.

How to use it

  1. Open from Custom Tools > Meshing > MPC Equation Creator.
  2. Pick the two coupled nodes (or two node sets).
  3. Select which DOFs to couple (123, 456, or 123456).
  4. Choose the MPC set ID (existing or new).
  5. Click OK. The MPC equations are written into the chosen set with the v3.1 rotation correction applied automatically.

Underlying math

  For two nodes A (independent) and B (dependent) offset by vector r = B - A,
  with rotation theta at A coupling into translation u at B:

    u_B = u_A + theta_A x r

  In component form for an MPC equation set on the DOFs of B:
    UB_x = UA_x + (theta_y * r_z - theta_z * r_y)
    UB_y = UA_y + (theta_z * r_x - theta_x * r_z)
    UB_z = UA_z + (theta_x * r_y - theta_y * r_x)
    RB_x = RA_x
    RB_y = RA_y
    RB_z = RA_z

  Pre-v3.1 dropped the cross-product term (treated r = 0).

Related tools