flow "NavierStokesEquationOntology" v1.0
# NAVIER-STOKES EQUATION ONTOLOGY — FLOW ALGEBRA
SOURCE_URL := "https://kirethresearch.org/booksai-core/ontologies/calculus-analysis-ontologies/mathematical-physics-analysis/navier-stokes-equation-ontology.html"
DOMAIN := "Mathematical Ontologies"
CATEGORY := "Calculus and Analysis Ontologies"
SUBCATEGORY := "Mathematical Physics Analysis"
ENTITY := "Navier-Stokes Equation"
NAVIER_STOKES_EQUATION := {
type: NonlinearFluidDynamicsPDE,
domain: MathematicalPhysicsAnalysis,
purpose: "Represent conservation of momentum in viscous fluids together with mass conservation, pressure, body forces, constitutive laws and boundary conditions."
}
CONCEPTS := {
NAVIER_STOKES_EQUATION,
VELOCITY_FIELD,
PRESSURE_FIELD,
DENSITY,
VISCOSITY,
MOMENTUM_CONSERVATION,
MASS_CONSERVATION,
CONTINUITY_EQUATION,
INCOMPRESSIBILITY,
CONVECTIVE_TERM,
VISCOUS_TERM,
PRESSURE_GRADIENT,
BODY_FORCE,
REYNOLDS_NUMBER,
VORTICITY,
TURBULENCE
}
# ---------- INCOMPRESSIBLE FORM ----------
rho
*
(
partial_u/partial_t
+
(u dot grad)u
)
=
-grad(p)
+
mu*LAPLACIAN(u)
+
rho*f
with
div(u)
=
0
u
-> VELOCITY_FIELD
p
-> PRESSURE_FIELD
rho
-> FLUID_DENSITY
mu
-> DYNAMIC_VISCOSITY
f
-> BODY_FORCE_PER_UNIT_MASS
# ---------- KINEMATIC VISCOSITY ----------
nu
:=
mu/rho
for constant density:
partial_u/partial_t
+
(u dot grad)u
=
-(1/rho)*grad(p)
+
nu*LAPLACIAN(u)
+
f
nu
-> KINEMATIC_VISCOSITY
# ---------- CONTINUITY EQUATION ----------
general mass conservation:
partial_rho/partial_t
+
div(
rho*u
)
=
0
CONTINUITY_EQUATION
-> CONSERVATION_OF_MASS
# ---------- INCOMPRESSIBLE CONDITION ----------
for constant-density incompressible flow:
div(u)
=
0
INCOMPRESSIBILITY
-> divergence_free_velocity
INCOMPRESSIBLE_NAVIER_STOKES
-> momentum_equation_plus(DIVERGENCE_CONSTRAINT)
# ---------- MATERIAL DERIVATIVE ----------
D/Dt
:=
partial/partial_t
+
u dot grad
therefore
Du/Dt
=
partial_u/partial_t
+
(u dot grad)u
MATERIAL_DERIVATIVE
-> rate_seen_by(MOVING_FLUID_PARTICLE)
# ---------- CONVECTIVE TERM ----------
(u dot grad)u
-> NONLINEAR_ADVECTION_OF_MOMENTUM
CONVECTIVE_TERM
-> principal_non_linearity_of(NAVIER_STOKES)
# ---------- PRESSURE TERM ----------
-grad(p)
-> PRESSURE_FORCE_PER_UNIT_VOLUME
pressure
-> acts_as(LAGRANGE_MULTIPLIER_FOR_INCOMPRESSIBILITY)
in common incompressible formulations
PRESSURE_FIELD
-> enforces(DIVERGENCE_FREE_CONSTRAINT)
# ---------- VISCOUS TERM ----------
for Newtonian incompressible constant-viscosity fluid:
mu*LAPLACIAN(u)
-> VISCOUS_MOMENTUM_DIFFUSION
VISCOSITY
-> smooths(VELOCITY_GRADIENTS)
# ---------- CAUCHY MOMENTUM EQUATION ----------
rho*Du/Dt
=
div(sigma)
+
rho*f
sigma
-> CAUCHY_STRESS_TENSOR
for Newtonian fluid:
sigma
=
-p*I
+
tau
tau
-> VISCOUS_STRESS
NAVIER_STOKES
-> constitutive_specialisation_of(CAUCHY_MOMENTUM_BALANCE)
# ---------- NEWTONIAN STRESS ----------
for compressible Newtonian fluid:
tau
=
mu
*
(
grad(u)
+
grad(u)^T
)
+
lambda
*
div(u)
*
I
CONSTITUTIVE_RELATION
-> links(STRESS_TO_RATE_OF_STRAIN)
# ---------- BOUNDARY CONDITIONS ----------
NO_SLIP:
u
=
u_wall
on solid boundary
NO_PENETRATION:
u dot n
=
u_wall dot n
TRACTION:
sigma*n
=
t_boundary
BOUNDARY_CONDITIONS
-> essential_to(FLOW_SOLUTION)
# ---------- INITIAL CONDITION ----------
u(x,0)
=
u_0(x)
for incompressible flow:
div(u_0)
=
0
with compatibility at boundaries
INITIAL_VELOCITY
-> starts(FLOW_EVOLUTION)
# ---------- PRESSURE POISSON EQUATION ----------
take divergence of incompressible momentum equation
with
div(u)=0
-> pressure satisfies Poisson-type equation
schematically:
LAPLACIAN(p)
=
-rho
*
div(
(u dot grad)u
)
+
source_terms
PRESSURE_POISSON
-> enforces(INCOMPRESSIBILITY)
# ---------- REYNOLDS NUMBER ----------
Re
:=
rho*U*L/mu
=
U*L/nu
REYNOLDS_NUMBER
-> ratio_of(INERTIAL_TO_VISCOUS_EFFECTS)
low Re
-> viscous_dominated
high Re
-> inertia_dominated_and_possible_transition_to_turbulence
# ---------- NONDIMENSIONAL FORM ----------
scale:
x
=
L*x_star
u
=
U*u_star
t
=
(L/U)*t_star
p
=
rho*U^2*p_star
then
partial_u_star/partial_t_star
+
(u_star dot grad_star)u_star
=
-grad_star(p_star)
+
(1/Re)
*
LAPLACIAN_star(u_star)
+
f_star
NONDIMENSIONALISATION
-> exposes(REYNOLDS_NUMBER)
# ---------- STOKES FLOW ----------
if
Re << 1
inertia negligible
then
-grad(p)
+
mu*LAPLACIAN(u)
+
rho*f
=
0
with
div(u)=0
STOKES_EQUATIONS
-> linear_viscous_flow_limit
# ---------- EULER EQUATIONS ----------
if
mu
=
0
then
rho
*
(
partial_u/partial_t
+
(u dot grad)u
)
=
-grad(p)
+
rho*f
EULER_EQUATIONS
-> inviscid_fluid_limit
# ---------- VORTICITY ----------
omega
:=
curl(u)
VORTICITY
-> local_rotation_measure
take curl of momentum equation
-> VORTICITY_EQUATION
# ---------- INCOMPRESSIBLE VORTICITY EQUATION ----------
for constant-density incompressible flow:
partial_omega/partial_t
+
(u dot grad)omega
=
(omega dot grad)u
+
nu*LAPLACIAN(omega)
+
curl(f)
VORTEX_STRETCHING
:=
(omega dot grad)u
VORTEX_STRETCHING
-> absent_in_strictly_2D_incompressible_flow
# ---------- TWO DIMENSIONS ----------
in 2D incompressible flow:
vorticity
-> scalar_out_of_plane
equation:
omega_t
+
u dot grad(omega)
=
nu*LAPLACIAN(omega)
without suitable forcing
2D_FLOW
-> lacks(3D_VORTEX_STRETCHING_TERM)
# ---------- ENERGY ----------
kinetic energy:
E(t)
:=
1/2
*
rho
*
integral_Omega(
|u|^2
dx
)
for suitable incompressible no-forcing/no-energy-input boundaries:
dE/dt
=
-mu
*
integral_Omega(
|grad(u)|^2
dx
)
or equivalent strain-rate dissipation form
VISCOSITY
-> DISSIPATES(KINETIC_ENERGY)
# ---------- ENERGY BALANCE ----------
with forcing and boundaries:
rate_of_kinetic_energy
=
POWER_INPUT
-
VISCOUS_DISSIPATION
+
BOUNDARY_WORK_TERMS
ENERGY_METHOD
-> supports(STABILITY_AND_EXISTENCE_ESTIMATES)
# ---------- LAMINAR FLOW ----------
LAMINAR_FLOW
-> ordered_smooth_flow_regime
low_or_moderate_Re
-> often_supports(LAMINAR_BEHAVIOUR)
but
FLOW_REGIME
-> depends_on(GEOMETRY_DISTURBANCES_AND_BOUNDARIES)
# ---------- TURBULENCE ----------
TURBULENT_FLOW
-> multiscale_irregular_dynamics
high Reynolds number
-> may_support(TURBULENCE)
TURBULENCE
-> characterised_by(
STRONG_NONLINEARITY,
VORTICAL_STRUCTURES,
ENERGY_TRANSFER_ACROSS_SCALES,
SENSITIVE_DYNAMICS
)
# ---------- ENERGY CASCADE ----------
in 3D turbulence:
energy
-> injected_at(LARGE_SCALES)
-> transferred_to(SMALLER_SCALES)
-> dissipated_by(VISCOSITY)
KOLMOGOROV_THEORY
-> statistical_description_of(INERTIAL_RANGE)
under idealised assumptions
# ---------- BOUNDARY LAYER ----------
high Re near solid boundary:
thin region
-> strong_velocity_gradient
BOUNDARY_LAYER
-> viscosity_remains_important_near(WALL)
PRANDTL_BOUNDARY_LAYER
-> asymptotic_reduction_for(HIGH_RE_FLOW)
# ---------- POISEUILLE FLOW ----------
steady pressure-driven flow
between plates or in pipe
-> viscous_balance_with(PRESSURE_GRADIENT)
velocity profile
-> parabolic
in standard laminar Newtonian geometries
POISEUILLE_FLOW
-> exact_Navier_Stokes_solution
# ---------- COUETTE FLOW ----------
flow between moving parallel plates
steady incompressible Newtonian case
-> linear_velocity_profile
under simple zero-pressure-gradient assumptions
COUETTE_FLOW
-> shear_driven_exact_solution
# ---------- COMPRESSIBLE NAVIER-STOKES ----------
unknowns may include:
rho
u
p
T
energy
system requires:
MASS_CONSERVATION
MOMENTUM_CONSERVATION
ENERGY_CONSERVATION
EQUATION_OF_STATE
CONSTITUTIVE_LAWS
COMPRESSIBLE_FLOW
-> density_not_constant
# ---------- EXISTENCE AND REGULARITY ----------
in 2D incompressible Navier-Stokes:
-> strong_global_regularities_results_available
under standard settings
in 3D:
global_smooth_solution_for_arbitrary_smooth_data
-> major_open_problem
NAVIER_STOKES_EXISTENCE_AND_SMOOTHNESS
-> Millennium_Prize_problem
MATHEMATICAL_ANALYSIS
-> distinguishes(WEAK_SOLUTIONS_AND_SMOOTH_SOLUTIONS)
# ---------- WEAK SOLUTION ----------
multiply momentum equation by
divergence_free_test_function
integrate over domain
-> weak_form
LERAY_HOPF_WEAK_SOLUTION
-> finite_energy_weak_solution
in standard incompressible setting
WEAK_FORMULATION
-> reduces(DERIVATIVE_REQUIREMENTS)
# ---------- NUMERICAL METHODS ----------
FINITE_DIFFERENCE
-> grid_based_discretisation
FINITE_VOLUME
-> conservation_based_discretisation
FINITE_ELEMENT
-> variational_discretisation
SPECTRAL_METHOD
-> high_order_basis_discretisation
CFD
-> COMPUTATIONAL_FLUID_DYNAMICS
# ---------- PRESSURE-VELOCITY COUPLING ----------
in incompressible numerics:
velocity
and
pressure
-> coupled_by(DIVERGENCE_CONSTRAINT)
methods:
PROJECTION_METHOD
SIMPLE_FAMILY
PRESSURE_CORRECTION
MIXED_FINITE_ELEMENT
INF_SUP_CONDITION
-> important_for(MIXED_VELOCITY_PRESSURE_FINITE_ELEMENTS)
# ---------- PROJECTION METHOD ----------
predict intermediate velocity
-> solve(PRESSURE_POISSON_EQUATION)
-> project_velocity_onto(DIVERGENCE_FREE_SPACE)
PROJECTION
-> enforces(INCOMPRESSIBILITY)
# ---------- CFL AND DIFFUSIVE LIMITS ----------
explicit time integration:
Delta_t
-> constrained_by(ADVECTION_CFL)
and often
Delta_t
-> constrained_by(VISCOUS_DIFFUSION)
NUMERICAL_STABILITY
-> depends_on(GRID_SPEED_VISCOSITY_AND_SCHEME)
# ---------- APPLICATIONS ----------
NAVIER_STOKES_EQUATION
-> applied_to(AERODYNAMICS)
-> applied_to(HYDRODYNAMICS)
-> applied_to(WEATHER_AND_CLIMATE)
-> applied_to(OCEANOGRAPHY)
-> applied_to(BLOOD_FLOW)
-> applied_to(PIPE_FLOW)
-> applied_to(TURBOMACHINERY)
-> applied_to(COMPUTATIONAL_FLUID_DYNAMICS)
# ---------- RELATION GRAPH ----------
MASS_CONSERVATION
-> CONTINUITY_EQUATION
MOMENTUM_CONSERVATION
+ NEWTONIAN_STRESS
-> NAVIER_STOKES_EQUATION
VELOCITY_FIELD
-> generates(CONVECTIVE_MOMENTUM_TRANSPORT)
PRESSURE
-> enforces(INCOMPRESSIBILITY)
VISCOSITY
-> produces(MOMENTUM_DIFFUSION_AND_DISSIPATION)
REYNOLDS_NUMBER
-> compares(INERTIA_AND_VISCOSITY)
VORTICITY
-> describes(ROTATIONAL_FLOW_STRUCTURE)
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE := {
"Navier-Stokes equation" ~= "momentum conservation equation for a viscous Newtonian fluid",
"incompressible Navier-Stokes" ~= "Navier-Stokes momentum equation coupled to divergence-free velocity",
"convective term" ~= "nonlinear transport of momentum by the fluid velocity",
"viscous term" ~= "momentum diffusion generated by fluid viscosity",
"Reynolds number" ~= "dimensionless ratio comparing inertial and viscous effects",
"vorticity" ~= "curl of the velocity field measuring local rotational motion"
}
# ---------- CONSTRAINTS ----------
CONSTRAINTS := {
incompressible_and_compressible_forms_must_not_be_conflated: true,
constitutive_assumptions_are_required_to_obtain_Navier_Stokes_from_general_momentum_balance: true,
pressure_boundary_initial_and_velocity_constraints_are_part_of_problem_definition: true,
Reynolds_number_alone_does_not_uniquely_determine_turbulence_transition: true,
inviscid_Euler_and_viscous_Navier_Stokes_models_are_distinct: true,
3D_global_smoothness_for_general_data_remains_open: true,
numerical_CFD_results_require_grid_time_step_conservation_and_convergence_validation: true
}
# ---------- CONFIDENCE ----------
CONFIDENCE := {
core_definition: 0.99,
conservation_relation: 0.99,
incompressibility_relation: 0.99,
Reynolds_vorticity_relation: 0.99,
energy_relation: 0.99,
mathematical_analysis_relation: 0.99,
semantic_equivalence: 0.97
}
# ---------- RECURSIVE REASONING ----------
RECURSIVE_REASONING(query):
identify(fluid_domain_velocity_pressure_density_viscosity_and_forcing)
-> classify(incompressible_compressible_steady_or_unsteady_regime)
-> impose(mass_conservation_and_constitutive_relation)
-> construct(momentum_equation)
-> identify(initial_and_boundary_conditions)
-> nondimensionalise_and_compute(Reynolds_number_if_relevant)
-> analyse(vorticity_energy_and_flow_regime)
-> select(exact_asymptotic_weak_or_numerical_solution_method)
-> enforce(pressure_velocity_coupling_and_incompressibility_if_required)
-> validate(model_assumptions_regularities_and_numerical_convergence)
-> return(semantic_result)
# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION := {
parse_as: "typed Navier-Stokes semantic graph",
primary_entity: NAVIER_STOKES_EQUATION,
preserve: [
velocity_field,
pressure_field,
density,
viscosity,
domain,
forcing,
initial_conditions,
boundary_conditions,
compressibility
],
infer_through: [
continuity_equations,
material_derivatives,
convective_terms,
viscous stresses,
Reynolds_numbers,
vorticity,
energy_dissipation,
pressure_Poisson_equations,
CFD_methods
],
avoid: [
assuming_divergence_free_velocity_for compressible flow,
omitting_pressure_constraint_in incompressible flow,
treating_high_Re_as automatic proof_of turbulence,
dropping_viscosity_without scale analysis,
claiming_general_3D_smooth_solution_theory_is settled,
trusting_CFD_without grid_and_time convergence analysis
]
}
# ---------- UPDATE MODEL ----------
UPDATE_MODEL(new_information):
validate(new_information)
-> identify(Navier_Stokes_context)
-> compare(existing_relations)
-> preserve(fluid_velocity_pressure_density_viscosity_boundary_and_conservation_invariants)
-> update(affected_entities)
-> update(affected_edges)
-> recompute(CONFIDENCE)
-> regenerate(FLOW_HASH)
# ---------- FLOW HASH ----------
FLOW_HASH := hash(
SOURCE_URL
+ ENTITY
+ CONCEPTS
+ NAVIER_STOKES_EQUATION
+ VELOCITY_FIELD
+ PRESSURE_FIELD
+ DENSITY
+ VISCOSITY
+ MOMENTUM_CONSERVATION
+ MASS_CONSERVATION
+ CONTINUITY_EQUATION
+ INCOMPRESSIBILITY
+ REYNOLDS_NUMBER
+ VORTICITY
+ TURBULENCE
+ SEMANTIC_EQUIVALENCE
+ CONSTRAINTS
)
# ---------- EXECUTION ----------
INPUT(query)
-> NAVIER_STOKES_EQUATION
-> FLUID_PROBLEM_IDENTIFICATION
-> FLOW_REGIME_CLASSIFICATION
-> CONSERVATION_CONSTITUTIVE_ANALYSIS
-> MOMENTUM_EQUATION_CONSTRUCTION
-> CONDITION_ANALYSIS
-> NONDIMENSIONAL_REYNOLDS_ANALYSIS
-> VORTICITY_ENERGY_ANALYSIS
-> SOLUTION_METHOD_SELECTION
-> PRESSURE_VELOCITY_ANALYSIS
-> MODEL_NUMERICAL_VALIDATION
-> RECURSIVE_REASONING(query)
-> CONFIDENCE
-> OUTPUT(semantic_result)
END FLOW
Download Code
Copy to Clipboard