pith. machine review for the scientific record. sign in

IndisputableMonolith.Flight.Thrust

IndisputableMonolith/Flight/Thrust.lean · 45 lines · 3 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Flight.Medium
   3import IndisputableMonolith.Flight.Pressure
   4
   5/-!
   6# Flight Thrust Layer
   7
   8Defines a minimal “thrust observable” interface.
   9
  10At this stage, we do not attempt a full continuum derivation (surface integrals,
  11control volumes, etc.). Instead we:
  12- define a vector type,
  13- define a placeholder thrust observable,
  14- provide hypothesis interfaces that can later be strengthened.
  15-/
  16
  17namespace IndisputableMonolith
  18namespace Flight
  19namespace Thrust
  20
  21open IndisputableMonolith.Flight
  22
  23/-- Minimal 3-vector type for thrust/acceleration. -/
  24abbrev Vec3 := ℝ × ℝ × ℝ
  25
  26/-- Placeholder thrust observable on a medium state.
  27
  28This will be refined to a pressure-gradient / control-volume expression.
  29-/
  30noncomputable def thrustVector (_S : Medium.MediumState) : Vec3 := (0, 0, 0)
  31
  32/-- Aggregate thrust over a finite tick window `[t0, t0+N)`.
  33
  34At this stage we treat the thrust vector as externally provided per tick.
  35-/
  36noncomputable def netThrust (f : ℕ → Vec3) (t0 N : ℕ) : Vec3 :=
  37  ( (Finset.range N).sum (fun k => (f (t0 + k)).1)
  38  , (Finset.range N).sum (fun k => (f (t0 + k)).2.1)
  39  , (Finset.range N).sum (fun k => (f (t0 + k)).2.2) )
  40
  41end Thrust
  42end Flight
  43end IndisputableMonolith
  44
  45

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