Class FluidMechanics

java.lang.Object
org.episteme.natural.physics.classical.matter.fluids.FluidMechanics

public class FluidMechanics extends Object
Fluid mechanics - Navier-Stokes, Bernoulli, Reynolds number, viscosity.

Implements classical and modern computational fluid dynamics equations.

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static Real
    bernoulliPressure(Real P1, Real rho, Real v1, Real v2, Real h1, Real h2, Real g)
    Bernoulli's equation (incompressible flow): P + ½ρv² + ρgh = constant Returns pressure at point 2 given conditions at point 1
    static Real
    continuityVelocity(Real area1, Real vel1, Real area2)
    Continuity equation (mass conservation): A₁v₁ = A₂v₂ Returns velocity at point 2
    static Real
    dragCoefficient(Real dragForce, Real density, Real velocity, Real area)
    Drag coefficient: C_d = 2F_d/(ρv²A)
    static Real
    froudeNumber(Real velocity, Real g, Real charLength)
    Froude number: Fr = v/√(gL) Ratio of inertial to gravitational forces
    static Real
    liftCoefficient(Real liftForce, Real density, Real velocity, Real area)
    Lift coefficient: C_l = 2F_l/(ρv²A)
    static Real
    machNumber(Real velocity, Real soundSpeed)
    Mach number: M = v/c (velocity / speed of sound)
    static Real
    poiseuilleFlow(Real pressureDrop, Real radius, Real viscosity, Real length)
    Hagen-Poiseuille equation (laminar pipe flow): Q = πΔPr⁴/(8μL) Returns volumetric flow rate
    static Real
    reynoldsNumber(Real density, Real velocity, Real charLength, Real dynamicViscosity)
    Reynolds number: Re = ρvL/μ = vL/ν Determines laminar (Re invalid input: '<' 2300) vs turbulent (Re > 4000) flow
    static Real
    reynoldsNumberKinematic(Real velocity, Real charLength, Real kinematicViscosity)
    Reynolds number (kinematic viscosity version): Re = vL/ν
    static Real
    stokesDrag(Real viscosity, Real radius, Real velocity)
    Stokes' law (drag on sphere): F_drag = 6πμrv
    static Real
    terminalVelocity(Real radius, Real g, Real sphereDensity, Real fluidDensity, Real viscosity)
    Terminal velocity (sphere falling): v_t = (2r²g(ρ_s - ρ_f))/(9μ)
    static Real
    weberNumber(Real density, Real velocity, Real charLength, Real surfaceTension)
    Weber number: We = ρv²L/σ Ratio of inertial to surface tension forces

    Methods inherited from class Object

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

    • FluidMechanics

      public FluidMechanics()
  • Method Details

    • bernoulliPressure

      public static Real bernoulliPressure(Real P1, Real rho, Real v1, Real v2, Real h1, Real h2, Real g)
      Bernoulli's equation (incompressible flow): P + ½ρv² + ρgh = constant Returns pressure at point 2 given conditions at point 1
    • reynoldsNumber

      public static Real reynoldsNumber(Real density, Real velocity, Real charLength, Real dynamicViscosity)
      Reynolds number: Re = ρvL/μ = vL/ν Determines laminar (Re invalid input: '<' 2300) vs turbulent (Re > 4000) flow
    • reynoldsNumberKinematic

      public static Real reynoldsNumberKinematic(Real velocity, Real charLength, Real kinematicViscosity)
      Reynolds number (kinematic viscosity version): Re = vL/ν
    • continuityVelocity

      public static Real continuityVelocity(Real area1, Real vel1, Real area2)
      Continuity equation (mass conservation): A₁v₁ = A₂v₂ Returns velocity at point 2
    • poiseuilleFlow

      public static Real poiseuilleFlow(Real pressureDrop, Real radius, Real viscosity, Real length)
      Hagen-Poiseuille equation (laminar pipe flow): Q = πΔPr⁴/(8μL) Returns volumetric flow rate
    • stokesDrag

      public static Real stokesDrag(Real viscosity, Real radius, Real velocity)
      Stokes' law (drag on sphere): F_drag = 6πμrv
    • terminalVelocity

      public static Real terminalVelocity(Real radius, Real g, Real sphereDensity, Real fluidDensity, Real viscosity)
      Terminal velocity (sphere falling): v_t = (2r²g(ρ_s - ρ_f))/(9μ)
    • dragCoefficient

      public static Real dragCoefficient(Real dragForce, Real density, Real velocity, Real area)
      Drag coefficient: C_d = 2F_d/(ρv²A)
    • liftCoefficient

      public static Real liftCoefficient(Real liftForce, Real density, Real velocity, Real area)
      Lift coefficient: C_l = 2F_l/(ρv²A)
    • machNumber

      public static Real machNumber(Real velocity, Real soundSpeed)
      Mach number: M = v/c (velocity / speed of sound)
    • froudeNumber

      public static Real froudeNumber(Real velocity, Real g, Real charLength)
      Froude number: Fr = v/√(gL) Ratio of inertial to gravitational forces
    • weberNumber

      public static Real weberNumber(Real density, Real velocity, Real charLength, Real surfaceTension)
      Weber number: We = ρv²L/σ Ratio of inertial to surface tension forces