Class VibrationAnalysis

java.lang.Object
neqsim.process.mechanicaldesign.heatexchanger.VibrationAnalysis

public final class VibrationAnalysis extends Object
Flow-induced vibration analysis for shell and tube heat exchangers.

Evaluates four vibration mechanisms per TEMA RCB-4.6 and industry practice:

  • Vortex shedding - Von Karman vortices at specific Strouhal frequencies
  • Fluid-elastic instability - Connors criterion for critical velocity
  • Acoustic resonance - Standing waves in shell cavity
  • Turbulent buffeting - Random excitation from turbulence

If any critical velocity ratio exceeds 1.0, the exchanger should be redesigned (wider pitch, shorter span, different baffle type).

Version:
1.0
Author:
NeqSim Development Team
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Results of vibration screening analysis.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final double
     
    private static final double
    Connors instability constant for various pitch patterns.
    private static final double
    Safety margin for fluid-elastic instability (TEMA recommendation).
    private static final double
    Strouhal number for tube banks (typical range 0.2-0.5).
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
    Private constructor to prevent instantiation.
  • Method Summary

    Modifier and Type
    Method
    Description
    static double
    calcAcousticFrequency(double shellID, double sonicVelocity, int mode)
    Calculates the acoustic resonance frequency of the shell cavity.
    static double
    calcCriticalVelocityConnors(double naturalFrequency, double tubeOD, double dampingRatio, double effectiveMassPerLength, double shellFluidDensity, boolean triangularPitch)
    Calculates the critical velocity for fluid-elastic instability using Connors' criterion.
    static double
    calcEffectiveAcousticVelocity(double fluidSonicVelocity, double tubeVolumeFraction)
    Estimates the speed of sound in the shell-side fluid considering the presence of tubes (effective acoustic velocity).
    static double
    calcNaturalFrequency(double tubeOD, double tubeID, double unsupportedSpan, double tubeMaterialE, double tubeDensity, double fluidDensityTube, double fluidDensityShell, String endCondition)
    Calculates the natural frequency of a straight tube span using beam vibration theory.
    static double
    calcVortexSheddingFrequency(double crossflowVelocity, double tubeOD, double tubePitch)
    Calculates the vortex shedding frequency for crossflow over a tube bank.
    performScreening(double tubeOD, double tubeID, double unsupportedSpan, double tubePitch, double tubeMaterialE, double tubeDensity, double crossflowVelocity, double shellFluidDensity, double tubeFluidDensity, double shellID, double sonicVelocity, double dampingRatio, boolean triangularPitch)
    Performs a complete vibration screening for a shell and tube exchanger.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • STROUHAL_DEFAULT

      private static final double STROUHAL_DEFAULT
      Strouhal number for tube banks (typical range 0.2-0.5).
      See Also:
    • CONNORS_TRIANGULAR

      private static final double CONNORS_TRIANGULAR
      Connors instability constant for various pitch patterns.
      See Also:
    • CONNORS_SQUARE

      private static final double CONNORS_SQUARE
      See Also:
    • FLUIDELASTIC_SAFETY_FACTOR

      private static final double FLUIDELASTIC_SAFETY_FACTOR
      Safety margin for fluid-elastic instability (TEMA recommendation).
      See Also:
  • Constructor Details

    • VibrationAnalysis

      private VibrationAnalysis()
      Private constructor to prevent instantiation.
  • Method Details

    • calcNaturalFrequency

      public static double calcNaturalFrequency(double tubeOD, double tubeID, double unsupportedSpan, double tubeMaterialE, double tubeDensity, double fluidDensityTube, double fluidDensityShell, String endCondition)
      Calculates the natural frequency of a straight tube span using beam vibration theory.

      f_n = C_n / (2 * pi) * sqrt(E * I / (rho_eff * A * L^4))

      • Simply supported (pinned-pinned): C_n = pi^2 = 9.87
      • Fixed-fixed: C_n = 22.37
      • Clamped-simply supported: C_n = 15.42
      Parameters:
      tubeOD - tube outer diameter (m)
      tubeID - tube inner diameter (m)
      unsupportedSpan - distance between supports (m)
      tubeMaterialE - Young's modulus of tube material (Pa)
      tubeDensity - tube material density (kg/m3)
      fluidDensityTube - density of fluid inside tube (kg/m3)
      fluidDensityShell - density of fluid on shell side (kg/m3)
      endCondition - boundary condition: "pinned", "fixed", or "clamped-pinned"
      Returns:
      natural frequency (Hz)
    • calcVortexSheddingFrequency

      public static double calcVortexSheddingFrequency(double crossflowVelocity, double tubeOD, double tubePitch)
      Calculates the vortex shedding frequency for crossflow over a tube bank.

      f_vs = St * V_crossflow / d_o

      Parameters:
      crossflowVelocity - shell-side crossflow velocity (m/s)
      tubeOD - tube outer diameter (m)
      tubePitch - tube pitch (m)
      Returns:
      vortex shedding frequency (Hz)
    • calcCriticalVelocityConnors

      public static double calcCriticalVelocityConnors(double naturalFrequency, double tubeOD, double dampingRatio, double effectiveMassPerLength, double shellFluidDensity, boolean triangularPitch)
      Calculates the critical velocity for fluid-elastic instability using Connors' criterion.

      V_crit = K * f_n * d_o * sqrt(2 * pi * zeta * m_eff / (rho * d_o^2))

      where K is Connors' constant (typically 3.3 for triangular, 3.4 for square pitch).

      Parameters:
      naturalFrequency - tube natural frequency (Hz)
      tubeOD - tube outer diameter (m)
      dampingRatio - logarithmic decrement of damping (typical 0.01-0.05)
      effectiveMassPerLength - effective tube mass per unit length (kg/m)
      shellFluidDensity - shell-side fluid density (kg/m3)
      triangularPitch - true for triangular layout, false for square
      Returns:
      critical velocity for instability (m/s)
    • calcAcousticFrequency

      public static double calcAcousticFrequency(double shellID, double sonicVelocity, int mode)
      Calculates the acoustic resonance frequency of the shell cavity.

      f_ac = n * c / (2 * W_eff) for standing waves across the shell

      Parameters:
      shellID - shell inside diameter (m)
      sonicVelocity - speed of sound in shell-side fluid (m/s)
      mode - acoustic mode number (1, 2, 3, ...)
      Returns:
      acoustic resonance frequency (Hz)
    • calcEffectiveAcousticVelocity

      public static double calcEffectiveAcousticVelocity(double fluidSonicVelocity, double tubeVolumeFraction)
      Estimates the speed of sound in the shell-side fluid considering the presence of tubes (effective acoustic velocity).

      c_eff = c_fluid / sqrt(1 + sigma * rho_fluid / rho_tube)

      where sigma is the tube volume fraction in the shell.

      Parameters:
      fluidSonicVelocity - speed of sound in the shell-side fluid (m/s)
      tubeVolumeFraction - fraction of shell volume occupied by tubes
      Returns:
      effective acoustic velocity in the bundle (m/s)
    • performScreening

      public static VibrationAnalysis.VibrationResult performScreening(double tubeOD, double tubeID, double unsupportedSpan, double tubePitch, double tubeMaterialE, double tubeDensity, double crossflowVelocity, double shellFluidDensity, double tubeFluidDensity, double shellID, double sonicVelocity, double dampingRatio, boolean triangularPitch)
      Performs a complete vibration screening for a shell and tube exchanger.

      Returns a result object with pass/fail status and individual mechanism assessments.

      Parameters:
      tubeOD - tube outer diameter (m)
      tubeID - tube inner diameter (m)
      unsupportedSpan - longest unsupported tube span (m)
      tubePitch - tube pitch (m)
      tubeMaterialE - tube material Young's modulus (Pa)
      tubeDensity - tube material density (kg/m3)
      crossflowVelocity - shell-side crossflow velocity (m/s)
      shellFluidDensity - shell-side fluid density (kg/m3)
      tubeFluidDensity - tube-side fluid density (kg/m3)
      shellID - shell inside diameter (m)
      sonicVelocity - speed of sound in shell fluid (m/s)
      dampingRatio - tube damping ratio (typical 0.03 in liquid, 0.01 in gas)
      triangularPitch - true for triangular layout
      Returns:
      vibration screening result