pith. machine review for the scientific record. sign in

IndisputableMonolith.Flight.Pressure

IndisputableMonolith/Flight/Pressure.lean · 67 lines · 5 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Flight.Medium
   3import IndisputableMonolith.ILG.PressureForm
   4
   5/-!
   6# Flight Pressure Layer
   7
   8This file defines a *pressure proxy* and an explicit hypothesis interface
   9connecting vorticity to pressure drop.
  10
  11This is where we intentionally separate:
  12- a **mathematical** proxy definition (always available), from
  13- a **physical hypothesis** that the proxy matches measured/operational pressure.
  14-/
  15
  16namespace IndisputableMonolith
  17namespace Flight
  18namespace Pressure
  19
  20open scoped Real
  21
  22open IndisputableMonolith.Flight.Medium
  23
  24/-- Convert the log-vorticity proxy into a positive magnitude proxy.
  25
  26If `logVorticity ≈ log |ω|`, then `omegaMag ≈ |ω|`.
  27-/
  28noncomputable def omegaMag (S : MediumState) : ℝ :=
  29  Real.exp (absLogVorticity S)
  30
  31/-- Parameters for a Bernoulli-like pressure drop proxy.
  32
  33`p0` is a baseline (ambient) pressure in the chosen display units.
  34`cω` is a coupling coefficient (nonnegative).
  35-/
  36structure PressureParams where
  37  p0  : ℝ
  38  cω  : ℝ
  39  hcω : 0 ≤ cω
  40
  41/-- Pressure proxy (display model): `p = p0 - cω · |ω|^2`.
  42
  43This is *not* asserted to equal physical pressure until we supply a
  44`PressureDropFromVorticity` instance.
  45-/
  46noncomputable def pressureProxy (P : PressureParams) (S : MediumState) : ℝ :=
  47  P.p0 - P.cω * (omegaMag S) ^ 2
  48
  49/-- Hypothesis interface: the operational pressure equals the proxy.
  50
  51This should eventually be replaced by a stronger bridge theorem under a
  52chosen fluid model.
  53-/
  54class PressureDropFromVorticity (P : PressureParams) where
  55  pressure : MediumState → ℝ
  56  pressure_eq : ∀ S, pressure S = pressureProxy P S
  57
  58/-- Convenience lemma: once the hypothesis holds, we can rewrite pressure to the proxy. -/
  59lemma pressure_eq_proxy (P : PressureParams) [H : PressureDropFromVorticity P] (S : MediumState) :
  60    H.pressure S = pressureProxy P S :=
  61  H.pressure_eq S
  62
  63end Pressure
  64end Flight
  65end IndisputableMonolith
  66
  67

source mirrored from github.com/jonwashburn/shape-of-logic