Documentation

LeanPool.NavierStokesAndEuler.Euler.OrdinaryEulerClassicalClass

The reverse bridge from ordinary scalar-pressure Euler to the projected equation. The only regularity inputs are the velocity and its actual strong time derivative in all spatial Sobolev orders. Neither a pressure-force regularity hypothesis nor a projected equation is assumed. The scalar pressure may be changed by an arbitrary function of time.

Characterization of the ordinary smooth Euler class by its actual velocity alone. Pressure regularity follows from the projected equation. Every solution has one continuous strong time derivative in every spatial Sobolev order.

Is smooth projected euler as an element of Prop.

Equations
  • One or more equations did not get rendered due to their size.
Instances For

    Evolution of projected equation, bundling velocity, pressureForce, velocity_continuous, pressure_continuous and the required compatibility proofs.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem EulerOrdinarySobolev.scalarEulerForce_continuous {T : } (A B : (Set.Icc 0 T)EulerLpTranslation.SmoothL2Field EulerSmoothLimit.Space) (hA : ∀ (n : ), Continuous fun (t : (Set.Icc 0 T)) => (A t).jetLp n) (hB : ∀ (n : ), Continuous fun (t : (Set.Icc 0 T)) => (B t).jetLp n) (n : ) :
      Continuous fun (t : (Set.Icc 0 T)) => (scalarEulerForce (A t) (B t)).jetLp n
      theorem EulerOrdinarySobolev.isSmoothProjectedEuler_of_scalarEuler {T : } {hT : 0 T} (A B : (Set.Icc 0 T)EulerLpTranslation.SmoothL2Field EulerSmoothLimit.Space) (hA : ∀ (n : ), Continuous fun (t : (Set.Icc 0 T)) => (A t).jetLp n) (hd : ∀ (t : ) (ht : t Set.Ioo 0 T), HasDerivAt (fun (r : ) => (A (Set.projIcc 0 T hT r)).toLp) (B t, ).toLp t) (p : EulerSmoothLimit.Space) (hdiv : ∀ (t : (Set.Icc 0 T)) (x : EulerSmoothLimit.Space), EulerSmoothLimit.divergence (A t).field x = 0) (hp : tSet.Ioo 0 T, Differentiable (p t)) (he : ∀ (t : ) (ht : t Set.Ioo 0 T) (x : EulerSmoothLimit.Space), (B t, ).field x + (fderiv (A t, ).field x) ((A t, ).field x) + gradient (p t) x = 0) :

      An ordinary scalar Euler equation implies the actual projected L² equation. Spatial differentiability of pressure is used only at interior times.

      noncomputable def EulerOrdinarySobolev.evolutionOfScalarEuler {T : } {hT : 0 T} (A B : (Set.Icc 0 T)EulerLpTranslation.SmoothL2Field EulerSmoothLimit.Space) (hA : ∀ (n : ), Continuous fun (t : (Set.Icc 0 T)) => (A t).jetLp n) (hd : ∀ (t : ) (ht : t Set.Ioo 0 T), HasDerivAt (fun (r : ) => (A (Set.projIcc 0 T hT r)).toLp) (B t, ).toLp t) (p : EulerSmoothLimit.Space) (hdiv : ∀ (t : (Set.Icc 0 T)) (x : EulerSmoothLimit.Space), EulerSmoothLimit.divergence (A t).field x = 0) (hp : tSet.Ioo 0 T, Differentiable (p t)) (he : ∀ (t : ) (ht : t Set.Ioo 0 T) (x : EulerSmoothLimit.Space), (B t, ).field x + (fderiv (A t, ).field x) ((A t, ).field x) + gradient (p t) x = 0) :

      Evolution of scalar euler, given by evolutionOfProjectedEquation A (isSmoothProjectedEuler_of_scalarEuler A B hA hd p hdiv hp he).

      Equations
      Instances For
        theorem EulerOrdinarySobolev.evolutionOfScalarEuler_velocity {T : } {hT : 0 T} (A B : (Set.Icc 0 T)EulerLpTranslation.SmoothL2Field EulerSmoothLimit.Space) (hA : ∀ (n : ), Continuous fun (t : (Set.Icc 0 T)) => (A t).jetLp n) (hd : ∀ (t : ) (ht : t Set.Ioo 0 T), HasDerivAt (fun (r : ) => (A (Set.projIcc 0 T hT r)).toLp) (B t, ).toLp t) (p : EulerSmoothLimit.Space) (hdiv : ∀ (t : (Set.Icc 0 T)) (x : EulerSmoothLimit.Space), EulerSmoothLimit.divergence (A t).field x = 0) (hp : tSet.Ioo 0 T, Differentiable (p t)) (he : ∀ (t : ) (ht : t Set.Ioo 0 T) (x : EulerSmoothLimit.Space), (B t, ).field x + (fderiv (A t, ).field x) ((A t, ).field x) + gradient (p t) x = 0) :
        (evolutionOfScalarEuler A B hA hd p hdiv hp he).velocity = A
        theorem EulerOrdinarySobolev.evolutionOfScalarEuler_derivative {T : } {hT : 0 T} (A B : (Set.Icc 0 T)EulerLpTranslation.SmoothL2Field EulerSmoothLimit.Space) (hA : ∀ (n : ), Continuous fun (t : (Set.Icc 0 T)) => (A t).jetLp n) (hB : ∀ (n : ), Continuous fun (t : (Set.Icc 0 T)) => (B t).jetLp n) (hd : ∀ (t : ) (ht : t Set.Ioo 0 T), HasDerivAt (fun (r : ) => (A (Set.projIcc 0 T hT r)).toLp) (B t, ).toLp t) (p : EulerSmoothLimit.Space) (hdiv : ∀ (t : (Set.Icc 0 T)) (x : EulerSmoothLimit.Space), EulerSmoothLimit.divergence (A t).field x = 0) (hp : tSet.Ioo 0 T, Differentiable (p t)) (he : ∀ (t : ) (ht : t Set.Ioo 0 T) (x : EulerSmoothLimit.Space), (B t, ).field x + (fderiv (A t, ).field x) ((A t, ).field x) + gradient (p t) x = 0) (hpos : 0 < T) (t : (Set.Icc 0 T)) :
        (evolutionOfScalarEuler A B hA hd p hdiv hp he).derivative t = B t
        theorem EulerOrdinarySobolev.evolutionOfScalarEuler_pressureForce {T : } {hT : 0 T} (A B : (Set.Icc 0 T)EulerLpTranslation.SmoothL2Field EulerSmoothLimit.Space) (hA : ∀ (n : ), Continuous fun (t : (Set.Icc 0 T)) => (A t).jetLp n) (hB : ∀ (n : ), Continuous fun (t : (Set.Icc 0 T)) => (B t).jetLp n) (hd : ∀ (t : ) (ht : t Set.Ioo 0 T), HasDerivAt (fun (r : ) => (A (Set.projIcc 0 T hT r)).toLp) (B t, ).toLp t) (p : EulerSmoothLimit.Space) (hdiv : ∀ (t : (Set.Icc 0 T)) (x : EulerSmoothLimit.Space), EulerSmoothLimit.divergence (A t).field x = 0) (hp : tSet.Ioo 0 T, Differentiable (p t)) (he : ∀ (t : ) (ht : t Set.Ioo 0 T) (x : EulerSmoothLimit.Space), (B t, ).field x + (fderiv (A t, ).field x) ((A t, ).field x) + gradient (p t) x = 0) (hpos : 0 < T) (t : (Set.Icc 0 T)) :
        (evolutionOfScalarEuler A B hA hd p hdiv hp he).pressureForce t = scalarEulerForce (A t) (B t)
        theorem EulerOrdinarySobolev.evolutionOfScalarEuler_scalarPressure {T : } {hT : 0 T} (A B : (Set.Icc 0 T)EulerLpTranslation.SmoothL2Field EulerSmoothLimit.Space) (hA : ∀ (n : ), Continuous fun (t : (Set.Icc 0 T)) => (A t).jetLp n) (hB : ∀ (n : ), Continuous fun (t : (Set.Icc 0 T)) => (B t).jetLp n) (hd : ∀ (t : ) (ht : t Set.Ioo 0 T), HasDerivAt (fun (r : ) => (A (Set.projIcc 0 T hT r)).toLp) (B t, ).toLp t) (p : EulerSmoothLimit.Space) (hdiv : ∀ (t : (Set.Icc 0 T)) (x : EulerSmoothLimit.Space), EulerSmoothLimit.divergence (A t).field x = 0) (hp : tSet.Ioo 0 T, Differentiable (p t)) (he : ∀ (t : ) (ht : t Set.Ioo 0 T) (x : EulerSmoothLimit.Space), (B t, ).field x + (fderiv (A t, ).field x) ((A t, ).field x) + gradient (p t) x = 0) (hpos : 0 < T) (t : ) (ht : t Set.Ioo 0 T) (x : EulerSmoothLimit.Space) :
        (evolutionOfScalarEuler A B hA hd p hdiv hp he).scalarPressure t, x = p t x - p t 0
        theorem EulerOrdinarySobolev.l2_timeDerivative_of_sobolev {T : } {hT : 0 T} (A B : (Set.Icc 0 T)EulerLpTranslation.SmoothL2Field EulerSmoothLimit.Space) (hA : ∀ (n : ), Continuous fun (t : (Set.Icc 0 T)) => (A t).jetLp n) (hB : ∀ (n : ), Continuous fun (t : (Set.Icc 0 T)) => (B t).jetLp n) (q : ) (hd : ∀ (t : ) (ht : t Set.Ioo 0 T), HasDerivAt (EulerVolterraConvolution.extendPath T hT (EulerSmoothFieldSobolevTime.sobolevPath A hA q)) ((EulerSmoothFieldSobolevTime.sobolevPath B hB q) t, ) t) (t : ) (ht : t Set.Ioo 0 T) :
        HasDerivAt (fun (r : ) => (A (Set.projIcc 0 T hT r)).toLp) (B t, ).toLp t

        A strong time derivative in any genuine spatial Sobolev order gives the L² derivative used above. In the source class one can take order two.

        The scalar-pressure form of the smooth ordinary Euler class. The all-order spatial paths represent C H^m for every finite m. A single strong L² time law and the continuous all-order derivative paths imply the strong time law in every Sobolev order by sobolev_derivative_of_l2. No norm, time regularity, or normalization is imposed on the scalar pressure.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem EulerOrdinarySobolev.isSmoothScalarEuler_of_sobolev {T : } {hT : 0 T} (A B : (Set.Icc 0 T)EulerLpTranslation.SmoothL2Field EulerSmoothLimit.Space) (hA : ∀ (n : ), Continuous fun (t : (Set.Icc 0 T)) => (A t).jetLp n) (hB : ∀ (n : ), Continuous fun (t : (Set.Icc 0 T)) => (B t).jetLp n) (q : ) (hd : ∀ (t : ) (ht : t Set.Ioo 0 T), HasDerivAt (EulerVolterraConvolution.extendPath T hT (EulerSmoothFieldSobolevTime.sobolevPath A hA q)) ((EulerSmoothFieldSobolevTime.sobolevPath B hB q) t, ) t) (p : EulerSmoothLimit.Space) (hdiv : ∀ (t : (Set.Icc 0 T)) (x : EulerSmoothLimit.Space), EulerSmoothLimit.divergence (A t).field x = 0) (hp : tSet.Ioo 0 T, Differentiable (p t)) (he : ∀ (t : ) (ht : t Set.Ioo 0 T) (x : EulerSmoothLimit.Space), (B t, ).field x + (fderiv (A t, ).field x) ((A t, ).field x) + gradient (p t) x = 0) :
          theorem EulerOrdinarySobolev.SobolevTower.isSmoothScalarEuler {T : } {hT : 0 T} (A B : SobolevTower T) (hd : ∀ (t : ) (ht : t Set.Ioo 0 T), HasDerivAt (EulerVolterraConvolution.extendPath T hT (A.realization 2)) ((B.realization 2) t, ) t) (p : EulerSmoothLimit.Space) (hdiv : ∀ (t : (Set.Icc 0 T)) (x : EulerSmoothLimit.Space), EulerSmoothLimit.divergence (A.smoothField t).field x = 0) (hp : tSet.Ioo 0 T, Differentiable (p t)) (he : ∀ (t : ) (ht : t Set.Ioo 0 T) (x : EulerSmoothLimit.Space), (B.smoothField t, ).field x + (fderiv (A.smoothField t, ).field x) ((A.smoothField t, ).field x) + gradient (p t) x = 0) :

          Starting from genuine continuous Sobolev realizations requires no preselected smooth representative or pressure-force path. The order-two time law is part of the source's C¹ H^(m-1) condition at m=3; the continuous realizations of the derivative come from its higher orders.