Class VibrationAnalysis
java.lang.Object
neqsim.process.mechanicaldesign.heatexchanger.VibrationAnalysis
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 ClassesModifier and TypeClassDescriptionstatic classResults of vibration screening analysis. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final doubleprivate static final doubleConnors instability constant for various pitch patterns.private static final doubleSafety margin for fluid-elastic instability (TEMA recommendation).private static final doubleStrouhal number for tube banks (typical range 0.2-0.5). -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivatePrivate constructor to prevent instantiation. -
Method Summary
Modifier and TypeMethodDescriptionstatic doublecalcAcousticFrequency(double shellID, double sonicVelocity, int mode) Calculates the acoustic resonance frequency of the shell cavity.static doublecalcCriticalVelocityConnors(double naturalFrequency, double tubeOD, double dampingRatio, double effectiveMassPerLength, double shellFluidDensity, boolean triangularPitch) Calculates the critical velocity for fluid-elastic instability using Connors' criterion.static doublecalcEffectiveAcousticVelocity(double fluidSonicVelocity, double tubeVolumeFraction) Estimates the speed of sound in the shell-side fluid considering the presence of tubes (effective acoustic velocity).static doublecalcNaturalFrequency(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 doublecalcVortexSheddingFrequency(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.
-
Field Details
-
STROUHAL_DEFAULT
private static final double STROUHAL_DEFAULTStrouhal number for tube banks (typical range 0.2-0.5).- See Also:
-
CONNORS_TRIANGULAR
private static final double CONNORS_TRIANGULARConnors 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_FACTORSafety 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
-