← ALL STATEMENTS
AcceptedTheorem · Statement with omitted proof

Backward Euler–Galerkin heat error

Fully discrete heat error separates second-order spatial approximation from first-order time stepping.

Larsson & Thomée ↗
Theorem 10.5 · printed p. 156

Formal statement. The assumptions and conclusion are explicit; the theorem proof is omitted (sorry).

01 / MATHEMATICAL STATEMENT

Meaning & conditions

Mathematical summary

Fully discrete heat error separates second-order spatial approximation from first-order time stepping.

∥Un−u(tn)∥≤Ch2(∥v∥H2+∫0tn∥ut∥H2 ds)+Ck∫0tn∥utt∥ ds.\|U^n-u(t_n)\|\le Ch^2\Bigl(\|v\|_{H^2}+\int_0^{t_n}\|u_t\|_{H^2}\,ds\Bigr)+Ck\int_0^{t_n}\|u_{tt}\|\,ds.

Assumptions & context

  • A smooth convex planar domain, admissible triangular meshes, positive time step, a second-order accurate discrete initial value, and the backward Euler–Galerkin equations.

Source

Larsson & Thomée. Partial differential equations with numerical methods.

Theorem 10.5 · printed p. 156

02 / LEAN REPRESENTATION

Formal statement

Statement with omitted proof. Expand the complete file below to read imports, local definitions and surrounding context.

theorem thm_10_5 (Ω : Set (Euclidean 2)) (hopen : IsOpen Ω) (hconv : Convex ℝ Ω)
    (hbdd : Bornology.IsBounded Ω) (hne : Ω.Nonempty) (hsmooth : HasSmoothBoundary Ω)
    (θ₀ cw C₀ : ℝ) (hθ : 0 < θ₀) :
    ∃ C : ℝ, ∀ (T : Finset (Finset (Euclidean 2))) (h : ℝ), 0 < h → h < 1 →
      AdmissibleTriangulation Ω θ₀ cw h T →
      ∀ k : ℝ, 0 < k →
      ∀ (f u : ℝ → Euclidean 2 → ℝ) (v vh : Euclidean 2 → ℝ) (U : ℕ → Euclidean 2 → ℝ),
        IsHeatSolution Ω f u v →
        InSh T vh →
        eLpNorm (fun x => vh x - v x) 2 (domainMeasure Ω) ≤
          ENNReal.ofReal (C₀ * h ^ 2) * h2NormE Ω v →
        IsBackwardEulerGalerkin Ω T k f vh U →
        ∀ n : ℕ,
          eLpNorm (fun x => U n x - u ((n : ℝ) * k) x) 2 (domainMeasure Ω) ≤
            ENNReal.ofReal (C * h ^ 2) *
                (h2NormE Ω v + ∫⁻ s in Set.Ioc 0 ((n : ℝ) * k), h2NormE Ω (timeDeriv u s)) +
              ENNReal.ofReal (C * k) * uttIntegralE Ω u ((n : ℝ) * k) := by
  sorry
Complete Lean file and local definitions
import PDETextbook.Base

open MeasureTheory
open scoped BigOperators ENNReal

noncomputable section

namespace PDETextbook.LarssonThomee.Thm10_5

open Classical

/-- Smooth boundary Γ of Ω, realized by a smooth defining function with nonvanishing gradient on Γ. -/
def HasSmoothBoundary (Ω : Set (Euclidean 2)) : Prop :=
  ∃ ρ : Euclidean 2 → ℝ, ContDiff ℝ (⊤ : ℕ∞) ρ ∧ Ω = {x | ρ x < 0} ∧
    ∀ x ∈ frontier Ω, fderiv ℝ ρ x ≠ 0

/-- Ω_h: union of the closed triangles (convex hulls of vertex triples). -/
def meshDomain (T : Finset (Finset (Euclidean 2))) : Set (Euclidean 2) :=
  ⋃ K ∈ T, convexHull ℝ (K : Set (Euclidean 2))

/-- Triangulation T_h of Ω with mesh size h (Sects. 5.2, 5.3, 10.1): conforming triangles,
angles bounded below by θ₀, triangles in Ω̄, boundary vertices of Ω_h on Γ, and
Ω \ Ω_h of width at most cw·h². -/
structure AdmissibleTriangulation (Ω : Set (Euclidean 2)) (θ₀ cw h : ℝ)
    (T : Finset (Finset (Euclidean 2))) : Prop where
  nonempty : T.Nonempty
  tri : ∀ K ∈ T, K.card = 3 ∧ AffineIndependent ℝ ((↑) : K → Euclidean 2)
  conforming : ∀ K ∈ T, ∀ K' ∈ T, K ≠ K' →
    convexHull ℝ (K : Set (Euclidean 2)) ∩ convexHull ℝ (K' : Set (Euclidean 2)) =
      convexHull ℝ ((K ∩ K' : Finset (Euclidean 2)) : Set (Euclidean 2))
  angle : ∀ K ∈ T, ∀ a ∈ K, ∀ b ∈ K, ∀ c ∈ K, a ≠ b → a ≠ c → b ≠ c →
    θ₀ ≤ EuclideanGeometry.angle b a c
  mesh_le : ∀ K ∈ T, Metric.diam (K : Set (Euclidean 2)) ≤ h
  mesh_eq : ∃ K ∈ T, Metric.diam (K : Set (Euclidean 2)) = h
  inside : ∀ K ∈ T, convexHull ℝ (K : Set (Euclidean 2)) ⊆ closure Ω
  bdry_nodes : ∀ K ∈ T, ∀ p ∈ K, p ∈ frontier (meshDomain T) → p ∈ frontier Ω
  width : ∀ x ∈ Ω, Metric.infDist x (meshDomain T) ≤ cw * h ^ 2

/-- S_h: continuous piecewise linear functions on T_h, vanishing outside Ω_h (hence on ∂Ω_h). -/
def InSh (T : Finset (Finset (Euclidean 2))) (χ : Euclidean 2 → ℝ) : Prop :=
  Continuous χ ∧ (∀ x ∉ meshDomain T, χ x = 0) ∧
    ∀ K ∈ T, ∃ A : Euclidean 2 →ᵃ[ℝ] ℝ, Set.EqOn χ A (convexHull ℝ (K : Set (Euclidean 2)))

/-- (v,w) = ∫_Ω v w dx. -/
def l2Pair (Ω : Set (Euclidean 2)) (w z : Euclidean 2 → ℝ) : ℝ := ∫ x in Ω, w x * z x

/-- a(v,w) = ∫_Ω ∇v·∇w dx. -/
def aForm (Ω : Set (Euclidean 2)) (w z : Euclidean 2 → ℝ) : ℝ :=
  ∫ x in Ω, ∑ i, partialDeriv w i x * partialDeriv z i x

/-- ‖v‖_2 = (Σ_{|α|≤2} ‖D^α v‖²)^{1/2} with weak derivatives; ⊤ if v ∉ H². Mixed α=(1,1) counted once. -/
def h2NormE (Ω : Set (Euclidean 2)) (w : Euclidean 2 → ℝ) : ℝ≥0∞ :=
  ⨅ (G : Fin 2 → Euclidean 2 → ℝ) (H : Fin 2 → Fin 2 → Euclidean 2 → ℝ)
    (_ : HasH1Gradient Ω w G ∧ ∀ i, HasH1Gradient Ω (G i) (H i)),
    (eLpNorm w 2 (domainMeasure Ω) ^ 2 + ∑ i, eLpNorm (G i) 2 (domainMeasure Ω) ^ 2 +
      ∑ i, ∑ j, (if i ≤ j then eLpNorm (H i j) 2 (domainMeasure Ω) ^ 2 else 0)) ^ (1 / 2 : ℝ)

/-- u_t (pointwise time derivative); used only where IsHeatSolution guarantees it exists (t>0, x∈Ω). -/
def timeDeriv (u : ℝ → Euclidean 2 → ℝ) : ℝ → Euclidean 2 → ℝ :=
  fun t x => deriv (fun s => u s x) t

/-- ∫_0^T ‖u_tt‖ ds as an extended value: infimum over genuine witnesses W with
W(s,x) = ∂_t u_t(s,x) for every s∈(0,T), x∈Ω. With no such witness the infimum is empty and
the value is ⊤, so no junk derivative value is ever used. Witnesses agree on (0,T)×Ω, so when
one exists this is exactly ∫_0^T ‖u_tt(s)‖ ds. -/
def uttIntegralE (Ω : Set (Euclidean 2)) (u : ℝ → Euclidean 2 → ℝ) (T : ℝ) : ℝ≥0∞ :=
  ⨅ (W : ℝ → Euclidean 2 → ℝ)
    (_ : ∀ s ∈ Set.Ioo 0 T, ∀ x ∈ Ω, HasDerivAt (fun r => timeDeriv u r x) (W s x) s),
    ∫⁻ s in Set.Ioo 0 T, eLpNorm (W s) 2 (domainMeasure Ω)

/-- Δ = ∂²/∂x₁² + ∂²/∂x₂². -/
def laplacian2 (w : Euclidean 2 → ℝ) (x : Euclidean 2) : ℝ :=
  ∑ i, partialDeriv (fun y => partialDeriv w i y) i x

/-- u solves (10.1) classically: u_t - Δu = f in Ω×R₊, u = 0 on Γ×R₊, u(·,0) = v in Ω. -/
def IsHeatSolution (Ω : Set (Euclidean 2)) (f u : ℝ → Euclidean 2 → ℝ) (v : Euclidean 2 → ℝ) : Prop :=
  ContinuousOn (fun p : ℝ × Euclidean 2 => u p.1 p.2) (Set.Ioi 0 ×ˢ closure Ω) ∧
  ContinuousOn (fun p : ℝ × Euclidean 2 => u p.1 p.2) (Set.Ici 0 ×ˢ Ω) ∧
  (∀ t > (0 : ℝ), ∀ x ∈ Ω, ContDiffAt ℝ 2 (u t) x ∧ DifferentiableAt ℝ (fun s => u s x) t ∧
      timeDeriv u t x - laplacian2 (u t) x = f t x) ∧
  (∀ t > (0 : ℝ), ∀ x ∈ frontier Ω, u t x = 0) ∧
  ∀ x ∈ Ω, u 0 x = v x

/-- Backward Euler–Galerkin scheme (10.20), t_n = n k. -/
def IsBackwardEulerGalerkin (Ω : Set (Euclidean 2)) (T : Finset (Finset (Euclidean 2))) (k : ℝ)
    (f : ℝ → Euclidean 2 → ℝ) (vh : Euclidean 2 → ℝ) (U : ℕ → Euclidean 2 → ℝ) : Prop :=
  (∀ n, InSh T (U n)) ∧ U 0 = vh ∧
  ∀ n : ℕ, 1 ≤ n → InL2 Ω (f ((n : ℝ) * k)) ∧
    ∀ χ, InSh T χ →
      l2Pair Ω (fun x => (U n x - U (n - 1) x) / k) χ + aForm Ω (U n) χ =
        l2Pair Ω (f ((n : ℝ) * k)) χ

/-- Theorem 10.5 (Larsson–Thomée). C depends on Ω, the angle bound θ₀, the width constant cw and
the constant C₀ of (10.10), but not on h, k, n, f, u, v. Norms of u_t, u_tt are extended-valued
(⊤ when the object does not exist), so the bound is trivial in that case as in the source.
No source warnings were listed. -/
theorem thm_10_5 (Ω : Set (Euclidean 2)) (hopen : IsOpen Ω) (hconv : Convex ℝ Ω)
    (hbdd : Bornology.IsBounded Ω) (hne : Ω.Nonempty) (hsmooth : HasSmoothBoundary Ω)
    (θ₀ cw C₀ : ℝ) (hθ : 0 < θ₀) :
    ∃ C : ℝ, ∀ (T : Finset (Finset (Euclidean 2))) (h : ℝ), 0 < h → h < 1 →
      AdmissibleTriangulation Ω θ₀ cw h T →
      ∀ k : ℝ, 0 < k →
      ∀ (f u : ℝ → Euclidean 2 → ℝ) (v vh : Euclidean 2 → ℝ) (U : ℕ → Euclidean 2 → ℝ),
        IsHeatSolution Ω f u v →
        InSh T vh →
        eLpNorm (fun x => vh x - v x) 2 (domainMeasure Ω) ≤
          ENNReal.ofReal (C₀ * h ^ 2) * h2NormE Ω v →
        IsBackwardEulerGalerkin Ω T k f vh U →
        ∀ n : ℕ,
          eLpNorm (fun x => U n x - u ((n : ℝ) * k) x) 2 (domainMeasure Ω) ≤
            ENNReal.ofReal (C * h ^ 2) *
                (h2NormE Ω v + ∫⁻ s in Set.Ioc 0 ((n : ℝ) * k), h2NormE Ω (timeDeriv u s)) +
              ENNReal.ofReal (C * k) * uttIntegralE Ω u ((n : ℝ) * k) := by
  sorry

end PDETextbook.LarssonThomee.Thm10_5

How to read the formalization

  • The temporal contribution integrates the L2 norm of the second time derivative; the spatial contribution uses H2 norms.
← Back to all statements