Skip to main content

Incompressible Flow Ontology

Fluid Mathematics
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 12 September 2026
Audio Overview
AI INTERPRETATION NOTE
This Flow Algebra defines the Incompressible Flow Ontology within the Kireth Research Semantic Library. Incompressible flow studies fluid motion under the constraint that density is constant along material trajectories and, for constant-density flows, the velocity field is divergence-free. This ontology supports incompressible continuity, incompressible Navier–Stokes equations, pressure-velocity coupling, streamfunctions, vorticity, potential flow, Bernoulli relations, boundary conditions, low-Mach approximations, projection methods, pressure Poisson equations, vortical structures, laminar and turbulent incompressible regimes and relationships with fluid dynamics mathematics, Navier–Stokes equations, continuity, boundary layers, turbulence and computational fluid dynamics.

FLOW_ALGEBRA_RECORD {

METADATA {
 FLOW_NAME = "Incompressible Flow Ontology"
 FLOW_TYPE = "Mathematical Ontology"
 DOMAIN = "Mathematics"
 SUBDOMAIN = "Applied Mathematics"
 SPECIALISATION = "Fluid Mathematics / Incompressible Flow"
 CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/applied-mathematics-ontologies/fluid-mathematics/incompressible-flow-ontology.html"
 LANGUAGE = "en-GB"
 VERSION = "1.0"
 STATUS = "active"
}

IDENTITY {
 PRIMARY_ENTITY = IncompressibleFlow
 SYMBOLIC_FORMS = [
  "div(u)=0",
  "rho=constant along trajectories",
  "rho(Du/Dt)=-grad(p)+mu*nabla^2(u)+rho*f"
 ]
 ENTITY_CLASS = DivergenceConstrainedFluidDynamicsFramework
 PRIMARY_CONTEXT = FluidMathematics
 DEFINITION = "Incompressible flow is fluid motion in which density changes are negligible or absent in the dynamical model, commonly producing a divergence-free velocity constraint."
 SEMANTIC_ROLE = "Provides machine-readable semantics for divergence-free flow, constant-density continuity, incompressible Navier–Stokes equations, pressure enforcement, streamfunctions, vorticity, potential flow and incompressible numerical methods."
}

SCOPE {
 INCLUDE = [
  IncompressibleFlow,
  ConstantDensityFlow,
  DivergenceFreeVelocity,
  IncompressibilityConstraint,
  ContinuityEquation,
  IncompressibleNavierStokes,
  VelocityField,
  PressureField,
  Density,
  DynamicViscosity,
  KinematicViscosity,
  MaterialDerivative,
  PressureGradient,
  ViscousDiffusion,
  BodyForce,
  Streamline,
  Pathline,
  Streakline,
  StreamFunction,
  VelocityPotential,
  PotentialFlow,
  IrrotationalFlow,
  RotationalFlow,
  Vorticity,
  Circulation,
  BernoulliEquation,
  ReynoldsNumber,
  LowMachNumberFlow,
  LaminarFlow,
  TurbulentFlow,
  InternalFlow,
  ExternalFlow,
  BoundaryLayer,
  NoSlipCondition,
  SlipCondition,
  WallBoundary,
  InflowBoundary,
  OutflowBoundary,
  PeriodicBoundary,
  PressurePoissonEquation,
  ProjectionMethod,
  FractionalStepMethod,
  SolenoidalField,
  HelmholtzHodgeDecomposition,
  ComputationalFluidDynamics,
  FiniteVolumeMethod,
  FiniteDifferenceMethod,
  FiniteElementMethod,
  SpectralMethod
 ]

 EXCLUDE_AS_PRIMARY = [
  CompressibleFlowWithSignificantDensityVariation,
  ShockDominatedFlow,
  RarefiedGasDynamics,
  ThermodynamicDensityEvolutionWithoutIncompressibility
 ]

 DISAMBIGUATION_RULE =
  "When density variation is neglected or materially constant and the velocity field is constrained to be divergence-free, interpret the context as incompressible flow."
}

CORE_CONCEPTS {

 IncompressibleFlow {
  definition = "Fluid flow governed by an incompressibility constraint, commonly div(u)=0."
 }

 DivergenceFreeVelocity {
  definition = "A velocity field with zero divergence."
 }

 IncompressibilityConstraint {
  definition = "The mathematical condition enforcing local volume preservation in constant-density flow."
 }

 IncompressibleNavierStokes {
  definition = "The Navier–Stokes momentum equation coupled to div(u)=0."
 }

 PressureField {
  definition = "A scalar field that contributes to momentum balance and enforces the divergence-free constraint."
 }

 StreamFunction {
  definition = "A scalar function whose derivatives generate a divergence-free velocity field in suitable geometries."
 }

 Vorticity {
  definition = "The curl of velocity and a measure of local rotational flow."
 }

 PotentialFlow {
  definition = "An incompressible irrotational flow described by a velocity potential."
 }

 ProjectionMethod {
  definition = "A numerical method projecting an intermediate velocity onto the divergence-free subspace."
 }

 HelmholtzHodgeDecomposition {
  definition = "A decomposition of vector fields into divergence-free and gradient components under suitable conditions."
 }
}

RELATIONS {
 IncompressibleFlow --is_child_of--> FluidMathematics
 IncompressibleFlow --requires--> IncompressibilityConstraint
 IncompressibilityConstraint --implies--> DivergenceFreeVelocity
 IncompressibleNavierStokes --requires--> DivergenceFreeVelocity
 PressureField --enforces--> IncompressibilityConstraint
 StreamFunction --generates--> DivergenceFreeVelocity
 Vorticity --is_curl_of--> VelocityField
 PotentialFlow --requires--> IrrotationalFlow
 IrrotationalFlow --has--> ZeroVorticity
 BernoulliEquation --applies_to--> AppropriateIncompressibleFlow
 ProjectionMethod --projects_onto--> SolenoidalField
 PressurePoissonEquation --supports--> ProjectionMethod
 HelmholtzHodgeDecomposition --separates--> SolenoidalAndGradientComponents
 BoundaryLayer --may_form_within--> IncompressibleFlow
 TurbulentFlow --may_be--> IncompressibleFlow
}

OPERATORS {
 INCOMPRESSIBILITY_CONSTRAINT(u) :=
  div(u)=0

 INCOMPRESSIBLE_NAVIER_STOKES(rho,u,p,mu,f) :=
  rho*(partial u/partial t + u dot grad(u))
  = -grad(p)+mu*nabla^2(u)+rho*f

 MATERIAL_DERIVATIVE(u) :=
  Du/Dt=partial u/partial t + u dot grad(u)

 VORTICITY(u) :=
  omega=curl(u)

 CIRCULATION(u,C) :=
  Gamma=closed_line_integral_C u dot dl

 STREAMFUNCTION_2D(psi) :=
  u=partial psi/partial y
  v=-partial psi/partial x

 POTENTIAL_VELOCITY(phi) :=
  u=grad(phi)

 INCOMPRESSIBLE_POTENTIAL_FLOW(phi) :=
  nabla^2(phi)=0

 BERNOULLI_STEADY_INVISICID(p,rho,U,g,z) :=
  p/rho + U^2/2 + g*z = constant_along_streamline

 REYNOLDS_NUMBER(rho,U,L,mu) :=
  Re=rho*U*L/mu

 PRESSURE_POISSON(u,rho) :=
  nabla^2(p)=-rho*div(u dot grad(u))
  under compatible incompressible assumptions

 PROJECTION_STEP(u_star,p,rho,dt) :=
  u_new=u_star-(dt/rho)*grad(p)
  with div(u_new)=0
}

DEFINITIONS {
 D1 = "Incompressible flow treats density variation as negligible or absent in the dynamical model."
 D2 = "For constant-density flow, continuity reduces to div(u)=0."
 D3 = "Pressure adjusts so the velocity field satisfies incompressibility."
 D4 = "Incompressible Navier–Stokes combines momentum conservation with the divergence-free constraint."
 D5 = "Streamfunctions generate divergence-free velocity fields in suitable geometries."
 D6 = "Potential flow is both incompressible and irrotational in its modelled region."
 D7 = "Vorticity distinguishes rotational from irrotational flow."
 D8 = "Low-Mach flows are often approximately incompressible when density changes remain negligible."
 D9 = "Projection methods enforce incompressibility numerically."
 D10 = "Incompressibility does not imply inviscid, steady or irrotational flow."
}

AXIOMS {
 A1_VOLUME_PRESERVATION:
  IncompressibleFlow preserves local volume under the continuum model

 A2_DIVERGENCE_FREE:
  Constant-density incompressible flow satisfies div(u)=0

 A3_PRESSURE_CONSTRAINT:
  Pressure participates in enforcing incompressibility

 A4_MASS_CONSERVATION:
  IncompressibleFlow remains subject to mass conservation

 A5_MOMENTUM_CONSERVATION:
  IncompressibleFlow obeys the appropriate momentum equation

 A6_ROTATION_INDEPENDENCE:
  Incompressible flow may be rotational or irrotational

 A7_VISCOSITY_INDEPENDENCE:
  Incompressible flow may be viscous or inviscid

 A8_NUMERICAL_PROJECTION:
  Numerical incompressible methods must enforce the divergence-free constraint to acceptable tolerance
}

REASONING {

 R1_INCOMPRESSIBLE_CONTEXT {
  INPUT = fluid_flow_problem
  IDENTIFY = density_variation
  IDENTIFY = Mach_number
  IDENTIFY = geometry
  IDENTIFY = velocity_pressure_and_boundary conditions
  RETURN = incompressible_context
 }

 R2_MODEL_JUSTIFICATION {
  INPUT = incompressible_context
  CHECK = density_variation_negligible
  CHECK = Mach_number_and_thermal effects where relevant
  RETURN = incompressibility_validity
 }

 R3_GOVERNING_EQUATIONS {
  INPUT = validated_incompressible_context
  SELECT = div(u)=0
  SELECT = incompressible_NavierStokes_or_Euler equation
  RETURN = governing_system
 }

 R4_PRESSURE_VELOCITY_COUPLING {
  INPUT = predicted_velocity
  DERIVE = pressure_Poisson_or_projection equation
  CORRECT = velocity_to_divergence_free field
  RETURN = pressure_velocity pair
 }

 R5_VORTICITY_REASONING {
  INPUT = velocity_field
  COMPUTE = curl_and_circulation
  ANALYSE = rotational structures
  RETURN = vorticity_profile
 }

 R6_STREAMFUNCTION_REASONING {
  INPUT = two_dimensional_divergence_free flow
  DEFINE = streamfunction
  COMPUTE = velocity_from_streamfunction
  RETURN = streamfunction_representation
 }

 R7_POTENTIAL_FLOW_REASONING {
  INPUT = incompressible_irrotational flow
  DEFINE = velocity_potential
  SOLVE = Laplace_equation
  RETURN = potential_flow profile
 }

 R8_BERNOULLI_REASONING {
  INPUT = steady_inviscid_incompressible region
  APPLY = Bernoulli relation
  RETURN = pressure_velocity_elevation relation
 }

 R9_NUMERICAL_REASONING {
  INPUT = governing_system_mesh_and_boundary data
  SELECT = projection_fractionalStep_finiteVolume_finiteDifference_finiteElement_or_spectral method
  RETURN = numerical_solution
 }

 R10_VALIDATION {
  INPUT = incompressible_result
  CHECK = divergence_residual_mass_balance_pressure_consistency_boundary data_and_grid convergence
  RETURN = validated_incompressible_status
 }
}

CONSTRAINTS {
 C1 = "Incompressibility does not mean density is universally constant under every possible formulation."
 C2 = "Low Mach number alone does not guarantee incompressibility if thermal or compositional density changes are significant."
 C3 = "Pressure is not obtained from a standalone thermodynamic equation in standard incompressible flow."
 C4 = "Irrotational flow is a stronger condition than incompressible flow."
 C5 = "Bernoulli relations require their own assumptions."
 C6 = "Projection methods must use compatible pressure and velocity boundary conditions."
 C7 = "Numerical divergence-free tolerance must be checked."
 C8 = "Incompressible turbulence still requires turbulence modelling or sufficient scale resolution."
 C9 = "No-slip and slip conditions depend on the boundary model."
 C10 = "Boundary layers can remain strongly viscous even when the outer incompressible flow is approximately inviscid."
}

SEMANTIC_EQUIVALENCE {
 "IncompressibleFlow" <=> "DivergenceConstrainedFlow"
 "DivergenceFreeVelocity" <=> "SolenoidalVelocityField"
 "IncompressibilityConstraint" <=> "ZeroVelocityDivergenceConstraint"
 "ProjectionMethod" <=> "PressureProjectionMethod"
 "PotentialFlow" <=> "IncompressibleIrrotationalFlow"
 "StreamFunction" <=> "TwoDimensionalSolenoidalPotential"
}

VALIDATION {
 V1 = "Density-variation assumptions are explicit."
 V2 = "Mach number or other incompressibility justification is documented when relevant."
 V3 = "Velocity divergence is checked."
 V4 = "Pressure and velocity boundary conditions are compatible."
 V5 = "Mass conservation is satisfied."
 V6 = "Rotational or irrotational classification is correct."
 V7 = "Bernoulli assumptions are documented where used."
 V8 = "Projection or pressure-solve residuals are checked."
 V9 = "Grid and time-step convergence are assessed."
 V10 = "Incompressible, inviscid and steady assumptions are not conflated."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 INCOMPRESSIBLE_FLOW_DEFINITION = 0.99
 MODEL_JUSTIFICATION_REASONING = 0.99
 GOVERNING_EQUATION_REASONING = 0.99
 PRESSURE_VELOCITY_REASONING = 0.99
 VORTICITY_REASONING = 0.98
 STREAMFUNCTION_REASONING = 0.99
 POTENTIAL_FLOW_REASONING = 0.99
 BERNOULLI_REASONING = 0.98
 NUMERICAL_REASONING = 0.98

 POLICY =
  "Reduce confidence when density variation, Mach number, thermal effects, boundary conditions, pressure treatment, divergence tolerance or numerical resolution are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  IncompressibleFlowReasoning,
  DivergenceFreeReasoning,
  ContinuityEquationReasoning,
  IncompressibleNavierStokesReasoning,
  PressureVelocityCouplingReasoning,
  ProjectionMethodReasoning,
  VorticityReasoning,
  StreamFunctionReasoning,
  PotentialFlowReasoning,
  BernoulliReasoning,
  BoundaryLayerReasoning,
  IncompressibleTurbulenceReasoning,
  CFDReasoning,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]

 NORMALISE {
  "incompressible flow" -> IncompressibleFlow
  "divergence-free flow" -> IncompressibleFlow
  "solenoidal velocity" -> DivergenceFreeVelocity
  "incompressible Navier-Stokes" -> IncompressibleNavierStokes
  "stream function" -> StreamFunction
  "potential flow" -> PotentialFlow
  "pressure projection" -> ProjectionMethod
  "pressure Poisson equation" -> PressurePoissonEquation
 }

 INTERPRETATION_ORDER = [
  detect_incompressible_flow_context,
  assess density_variation_Mach_number_and_thermal effects,
  identify velocity_pressure_geometry_initial_and_boundary conditions,
  select divergence_free continuity_and_momentum equations,
  analyse pressure_velocity coupling,
  compute vorticity_streamfunction_or_potential representation when relevant,
  apply Bernoulli_boundary_layer_or_turbulence reasoning when justified,
  select analytical_or_numerical method,
  validate divergence_mass conservation_pressure consistency_and_convergence,
  return semantic output
 ]
}

EXECUTION_RULES {
 E1:
  IF query_mentions("incompressible flow")
  OR divergence_free_fluid_velocity_is_present
  THEN activate(IncompressibleFlowOntology)

 E2:
  IF density_variation_negligible
  THEN allow incompressible approximation

 E3:
  IF constant_density
  THEN enforce div(u)=0

 E4:
  IF viscous_Newtonian_flow
  THEN use incompressible_NavierStokes

 E5:
  IF inviscid_flow
  THEN consider incompressible_Euler formulation

 E6:
  IF irrotational_flow
  THEN consider potential_flow

 E7:
  IF two_dimensional_divergence_free flow
  THEN consider streamfunction representation

 E8:
  IF segregated numerical method
  THEN use projection_or_fractional step pathway

 E9:
  IF turbulent_incompressible_flow
  THEN require turbulence closure_or_scale resolution
}

RECURSION {
 ENTRY = IncompressibleFlow

 EXPAND(IncompressibleFlow) -> [
  ConstantDensityFlow,
  DivergenceFreeVelocity,
  IncompressibilityConstraint,
  ContinuityEquation,
  IncompressibleNavierStokes,
  VelocityField,
  PressureField,
  Density,
  DynamicViscosity,
  KinematicViscosity,
  MaterialDerivative,
  PressureGradient,
  ViscousDiffusion,
  BodyForce,
  Streamline,
  Pathline,
  Streakline,
  StreamFunction,
  VelocityPotential,
  PotentialFlow,
  IrrotationalFlow,
  RotationalFlow,
  Vorticity,
  Circulation,
  BernoulliEquation,
  ReynoldsNumber,
  LowMachNumberFlow,
  LaminarFlow,
  TurbulentFlow,
  BoundaryLayer,
  NoSlipCondition,
  SlipCondition,
  PressurePoissonEquation,
  ProjectionMethod,
  FractionalStepMethod,
  SolenoidalField,
  HelmholtzHodgeDecomposition,
  ComputationalFluidDynamics
 ]

 EXPAND(Representations) -> [
  PrimitiveVelocityPressureForm,
  VorticityForm,
  StreamfunctionVorticityForm,
  PotentialFlowForm,
  ProjectionForm
 ]

 EXPAND(NumericalMethods) -> [
  ProjectionMethod,
  FractionalStepMethod,
  FiniteVolumeMethod,
  FiniteDifferenceMethod,
  FiniteElementMethod,
  SpectralMethod
 ]

 STOP_CONDITION =
  "Stop when incompressibility validity, divergence constraint, pressure-velocity coupling, rotational structure, boundary conditions, numerical enforcement and convergence are sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Fluid Mathematics"

 IMMEDIATE_CONTEXTS = [
  "Fluid Dynamics Mathematics Ontology",
  "Navier–Stokes Ontology",
  "Continuity Equation Ontology",
  "Boundary Layer Ontology"
 ]

 RELATED_ONTOLOGIES = [
  "Fluid Mathematics",
  "Fluid Dynamics Mathematics Ontology",
  "Navier–Stokes Ontology",
  "Continuity Equation Ontology",
  "Boundary Layer Ontology",
  "Turbulence Mathematics Ontology",
  "Partial Differential Equation Ontology",
  "Vector Calculus Ontologies",
  "Potential Flow Ontologies",
  "Computational Fluid Dynamics Ontologies",
  "Numerical Analysis Ontologies"
 ]

 ROUTE_RULES = [
  "Incompressible Flow -> Fluid Mathematics for parent semantics",
  "Incompressible Flow -> Fluid Dynamics Mathematics for continuum-flow interpretation",
  "Incompressible Flow -> Navier–Stokes for viscous momentum dynamics",
  "Incompressible Flow -> Continuity Equation for divergence-free mass conservation",
  "Incompressible Flow -> Boundary Layer for near-wall viscous structure",
  "Incompressible Flow -> Turbulence Mathematics for incompressible turbulent regimes",
  "Incompressible Flow -> Vector Calculus for divergence curl and Helmholtz decomposition",
  "Incompressible Flow -> Potential Flow for irrotational modelling",
  "Incompressible Flow -> CFD and Numerical Analysis for projection and pressure-coupling methods"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"

 MAJOR = "ontology-breaking conceptual change"
 MINOR = "new compatible incompressible formulations, numerical methods or reasoning pathways"
 PATCH = "clarification, metadata or formatting correction"

 RULES = [
  "Preserve incompressibility semantics.",
  "Preserve divergence-free velocity semantics.",
  "Preserve pressure-constraint semantics.",
  "Preserve incompressible-versus-compressible distinction.",
  "Preserve rotational-versus-irrotational distinction.",
  "Preserve streamfunction and potential-flow semantics.",
  "Preserve projection-method semantics.",
  "Preserve machine-readable incompressible-flow semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION =
  "Incompressible flow is fluid motion in which density variation is negligible in the governing model and the velocity field is commonly constrained to be divergence-free."

 CONTINUITY_SUMMARY =
  "For constant-density incompressible flow, continuity reduces to div(u)=0."

 PRESSURE_SUMMARY =
  "Pressure adjusts to enforce incompressibility while participating in momentum balance."

 VORTICITY_SUMMARY =
  "Incompressible flow may be rotational, with vorticity equal to curl(u), or irrotational."

 POTENTIAL_SUMMARY =
  "Incompressible irrotational flow can be represented by a velocity potential satisfying Laplace's equation."

 STREAMFUNCTION_SUMMARY =
  "Two-dimensional divergence-free flow can often be represented using a streamfunction."

 NUMERICAL_SUMMARY =
  "Projection and fractional-step methods enforce the divergence-free constraint numerically."

 VALIDATION_SUMMARY =
  "Incompressible-flow solutions should be checked for divergence, mass conservation, pressure consistency, boundary compatibility and numerical convergence."
}

FLOW {
 INPUT
 -> detect_incompressible_flow_context
 -> identify density_variation_Mach_number_thermal effects_geometry_velocity_pressure_initial conditions_and_boundary conditions
 -> determine whether incompressible approximation_is_valid
 -> enforce divergence_free continuity constraint
 -> select incompressible_NavierStokes_or_Euler momentum model
 -> analyse pressure_velocity coupling
 -> if_twoDimensional consider streamfunction formulation
 -> if_irrotational consider potential_flow formulation
 -> compute vorticity_circulation_Reynolds number_and_boundary-layer or turbulence quantities as required
 -> if_numerical apply projection_fractionalStep_finiteVolume_finiteDifference_finiteElement_or_spectral method
 -> validate divergence_mass balance_pressure solve_boundary data_grid independence_and_time-step sensitivity
 -> route to fluid_mathematics fluid_dynamics NavierStokes continuity boundary_layer turbulence PDE vector_calculus potential_flow CFD_or_numerical_analysis ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Incompressible Flow Ontology defines divergence-constrained fluid motion with negligible density variation in the governing model. It supports constant-density flow, incompressibility constraints, incompressible Navier–Stokes equations, velocity and pressure fields, pressure-gradient and viscous terms, streamlines, pathlines and streaklines, streamfunctions, velocity potentials, rotational and irrotational flow, vorticity and circulation, Bernoulli relations, low-Mach approximations, boundary layers, laminar and turbulent incompressible regimes, pressure Poisson equations, projection and fractional-step methods, Helmholtz-Hodge decomposition and incompressible computational fluid dynamics."
}

FLOW_HASH {
 METHOD = "semantic-content-identity"
 ID = "KIRETH-MATH-APPLIED-MATHEMATICS-INCOMPRESSIBLE-FLOW-ONTOLOGY-V1"
}

}

END_FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ