Skip to main content

Element Formulation & Architecture

The Pipe Stress FEA engine is built on a robust 3D structural solver. The core architecture utilizes a three-phase solving sequence:

  1. Matrix Assembly & Preprocessing: Discretizing curves, generating soil-spring meshes, and building the global stiffness and mass matrices.
  2. State Resolution: Applying loads and solving for displacements (utilizing an iterative penalty method for non-linear boundary conditions like friction and gaps).
  3. Code Compliance: Extracting localized forces to evaluate ASME B31 stress ratios and flange leakage.

1.1 The 12-DOF Beam Element

The fundamental building block of the pipeline model is a 2-node, 12-Degree-of-Freedom (DOF) 3D Euler-Bernoulli beam element. Each node possesses 6 DOFs: three translational (x,y,zx, y, z) and three rotational (θx,θy,θz\theta_x, \theta_y, \theta_z).

The local element stiffness matrix [k][k] is a 12×1212 \times 12 matrix formulated using the pipe's cross-sectional properties:

  • AA: Cross-sectional area
  • EE: Elastic Modulus
  • GG: Shear Modulus
  • II: Moment of Inertia
  • JJ: Polar Moment of Inertia
  • LL: Element Length

ASME B31J Flexibility Integration

A distinct feature of this engine is the direct integration of ASME B31J Flexibility Factors (kk) into the displacement solution. Rather than treating bends and tees as standard rigid pipes and applying stress multipliers post-solution, the engine inherently softens the stiffness matrix for these components.

The effective inertia and torsional constants are modified prior to matrix assembly:

Iin,eff=IkinI_{in, eff} = \frac{I}{k_{in}} Iout,eff=IkoutI_{out, eff} = \frac{I}{k_{out}} Jeff=JktorJ_{eff} = \frac{J}{k_{tor}}

This ensures that the global displacement geometry accurately reflects the localized ovalization and flexibility of piping fittings.

1.2 Coordinate Transformation

Because the local stiffness matrix [k][k] is aligned with the element's longitudinal axis, it must be rotated to align with the Global (X,Y,Z)(X, Y, Z) coordinate system before assembly.

The engine calculates a 3×33 \times 3 direction cosine matrix based on the element's spatial vector. A 12×1212 \times 12 transformation matrix [T][T] is then constructed to rotate both translations and rotations.

The global stiffness matrix for the element [Ke][K_e] is obtained via:

[Ke]=[T]T[k][T][K_e] = [T]^T [k] [T]

The Vertical Axis

The engine dynamically adjusts the local transverse and vertical axes based on the user's Global Settings. If the user defines Z as the vertical elevation axis, the horizontal plane is evaluated as X-Y, and the transformation matrix is rotated accordingly.

1.3 The Consistent Mass Matrix

For dynamic load cases (such as Modal Analysis or Seismic Occasional loads), the engine eschews simplified lumped-mass models in favor of a Consistent Mass Matrix [M][M].

This 12×1212 \times 12 matrix distributes the mass of the steel pipe, internal fluid, external coating, and inline valves continuously along the beam's shape functions. It accounts for both translational mass (μ\mu) and rotational inertia (JρJ_{\rho}):

Jρ=μ(ro2+ri22)J_{\rho} = \mu \left( \frac{r_o^2 + r_i^2}{2} \right)

This continuous mass distribution guarantees highly accurate fundamental frequency extraction during eigenvalue modal analysis, avoiding the "stair-stepping" inaccuracies common in lumped-mass models.