← ALL STATEMENTS
AcceptedTheorem · Statement with omitted proof

H1 error of semidiscrete heat finite elements

The gradient error of the semidiscrete heat approximation is first order in the spatial mesh width.

Larsson & Thomée ↗
Theorem 10.2 · printed p. 154

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

01 / MATHEMATICAL STATEMENT

Meaning & conditions

Mathematical summary

The gradient error of the semidiscrete heat approximation is first order in the spatial mesh width.

∣uh(t)−u(t)∣1≤∣vh−v∣1+Ch(∥v∥H2+∥u(t)∥H2+(∫0t∥ut(s)∥H12 ds)1/2).|u_h(t)-u(t)|_1\le|v_h-v|_1+Ch\Bigl(\|v\|_{H^2}+\|u(t)\|_{H^2}+\bigl(\int_0^t\|u_t(s)\|_{H^1}^2\,ds\bigr)^{1/2}\Bigr).

Assumptions & context

  • A smooth bounded convex planar domain and a mesh family with a fixed minimum angle and the stated second-order boundary approximation property.

Source

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

Theorem 10.2 · printed p. 154

02 / LEAN REPRESENTATION

Formal statement

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

theorem semidiscrete_H1_error (Ω : Set E2) (hΩ : SmoothBoundedConvexDomain Ω)
    (𝒯 : Set Triangulation) (θ₀ c₀ : ℝ) (hθ₀ : 0 < θ₀)
    (hfam : ∀ T ∈ 𝒯, IsTriangulationOf Ω T ∧ 0 < T.meshsize ∧ T.meshsize < 1 ∧
      MinAngleAtLeast T θ₀ ∧ ∀ x ∈ Ω, Metric.infDist x T.region ≤ c₀ * T.meshsize ^ 2) :
    ∃ C : ℝ, 0 < C ∧ ∀ T ∈ 𝒯, ∀ (f : ℝ → E2 → ℝ) (v vh : E2 → ℝ) (u uh : ℝ → E2 → ℝ),
      IsHeatSolution Ω f v u → IsSemidiscreteSolution Ω T f vh uh → ∀ t : ℝ, 0 ≤ t →
      h1SeminormE Ω (fun x => uh t x - u t x) ≤
        h1SeminormE Ω (fun x => vh x - v x) + ENNReal.ofReal (C * T.meshsize) *
          (h2NormE Ω v + h2NormE Ω (u t) +
            (∫⁻ s in Set.Ioc 0 t, h1NormE Ω (fun x => deriv (fun τ => u τ x) s) ^ 2) ^ (1/2 : ℝ)) := by
  sorry
Complete Lean file and local definitions
import PDETextbook.Base

open MeasureTheory
open scoped BigOperators ENNReal

noncomputable section

namespace PDETextbook.LarssonThomee.Thm10_2

abbrev E2 := Euclidean 2

/-- Ch. 10 setting: Ω ⊂ ℝ² a bounded convex domain with smooth (C^∞) boundary (level-set realization). -/
def SmoothBoundedConvexDomain (Ω : Set E2) : Prop :=
  Ω.Nonempty ∧ Bornology.IsBounded Ω ∧ Convex ℝ Ω ∧
  ∃ ρ : E2 → ℝ, ContDiff ℝ (⊤ : ℕ∞) ρ ∧ Ω = {x | ρ x < 0} ∧
    ∀ x, ρ x = 0 → fderiv ℝ ρ x ≠ 0

/-- A triangulation: finitely many vertex triples. -/
structure Triangulation where
  tri : Finset (Fin 3 → E2)

/-- The closed triangle K with vertices p. -/
def triK (p : Fin 3 → E2) : Set E2 := convexHull ℝ (Set.range p)

/-- Ω_h, the union of the triangles. -/
def Triangulation.region (T : Triangulation) : Set E2 := ⋃ p ∈ T.tri, triK p

/-- h = max_K h_K, h_K = diam K. -/
def Triangulation.meshsize (T : Triangulation) : ℝ := ⨆ p ∈ T.tri, Metric.diam (triK p)

/-- Sect. 5.2-type triangulation of Ω: nondegenerate, conforming (two triangles meet in a
common face), vertices in Ω̄, boundary vertices of Ω_h on Γ. -/
def IsTriangulationOf (Ω : Set E2) (T : Triangulation) : Prop :=
  (∀ p ∈ T.tri, AffineIndependent ℝ p) ∧
  (∀ p ∈ T.tri, ∀ q ∈ T.tri, triK p ∩ triK q = convexHull ℝ (Set.range p ∩ Set.range q)) ∧
  (∀ p ∈ T.tri, ∀ i, p i ∈ closure Ω) ∧
  (∀ p ∈ T.tri, ∀ i, p i ∈ frontier T.region → p i ∈ frontier Ω)

/-- All angles of all triangles are at least θ₀. -/
def MinAngleAtLeast (T : Triangulation) (θ₀ : ℝ) : Prop :=
  ∀ p ∈ T.tri, ∀ i j k : Fin 3, i ≠ j → j ≠ k → i ≠ k →
    θ₀ ≤ EuclideanGeometry.angle (p i) (p j) (p k)

/-- S_h: continuous, linear on each K, vanishing on Ω \ Ω_h and on ∂Ω. -/
def Sh (T : Triangulation) (Ω : Set E2) : Set (E2 → ℝ) :=
  {χ | Continuous χ ∧ (∀ p ∈ T.tri, ∃ A : E2 →ᵃ[ℝ] ℝ, Set.EqOn χ A (triK p)) ∧
    (∀ x, x ∉ T.region → χ x = 0) ∧ ∀ x ∈ frontier Ω, χ x = 0}

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

def laplacian (w : E2 → ℝ) (x : E2) : ℝ :=
  ∑ i, partialDeriv (fun y => partialDeriv w i y) i x

/-- Classical solution of (10.1). -/
def IsHeatSolution (Ω : Set E2) (f : ℝ → E2 → ℝ) (v : E2 → ℝ) (u : ℝ → E2 → ℝ) : Prop :=
  ContinuousOn (fun p : ℝ × E2 => u p.1 p.2) (Set.Ici (0:ℝ) ×ˢ closure Ω) ∧
  (∀ t : ℝ, 0 < t → ContDiffOn ℝ 2 (u t) Ω) ∧
  (∀ t : ℝ, 0 < t → ∀ x ∈ Ω, HasDerivAt (fun τ => u τ x) (laplacian (u t) x + f t x) t) ∧
  (∀ t : ℝ, 0 < t → ∀ x ∈ frontier Ω, u t x = 0) ∧
  (∀ x ∈ Ω, u 0 x = v x)

/-- Solution of the semidiscrete problem (10.3). -/
def IsSemidiscreteSolution (Ω : Set E2) (T : Triangulation) (f : ℝ → E2 → ℝ)
    (vh : E2 → ℝ) (uh : ℝ → E2 → ℝ) : Prop :=
  (∀ t : ℝ, 0 ≤ t → uh t ∈ Sh T Ω) ∧
  (∀ x, ContinuousOn (fun τ => uh τ x) (Set.Ici 0)) ∧
  (∀ t : ℝ, 0 < t → ∀ x, DifferentiableAt ℝ (fun τ => uh τ x) t) ∧
  (∀ t : ℝ, 0 < t → ∀ χ ∈ Sh T Ω,
    (∫ x in Ω, deriv (fun τ => uh τ x) t * χ x) + aForm Ω (uh t) χ = ∫ x in Ω, f t x * χ x) ∧
  uh 0 = vh

/-- |w|_1 (⊤ if w ∉ H¹). -/
def h1SeminormE {d : ℕ} (Ω : Set (Euclidean d)) (w : Euclidean d → ℝ) : ℝ≥0∞ :=
  ⨅ (G : Fin d → Euclidean d → ℝ) (_ : HasH1Gradient Ω w G),
    (∑ i, eLpNorm (G i) 2 (domainMeasure Ω) ^ 2) ^ (1/2 : ℝ)

/-- ‖w‖_1 (⊤ if w ∉ H¹). -/
def h1NormE {d : ℕ} (Ω : Set (Euclidean d)) (w : Euclidean d → ℝ) : ℝ≥0∞ :=
  ⨅ (G : Fin d → Euclidean d → ℝ) (_ : HasH1Gradient Ω w G),
    (eLpNorm w 2 (domainMeasure Ω) ^ 2 + ∑ i, eLpNorm (G i) 2 (domainMeasure Ω) ^ 2) ^ (1/2 : ℝ)

/-- ‖w‖_2 = (Σ_{|α|≤2} ‖D^α w‖²)^{1/2}, each second-order multi-index once (i ≤ j). -/
def h2NormE {d : ℕ} (Ω : Set (Euclidean d)) (w : Euclidean d → ℝ) : ℝ≥0∞ :=
  ⨅ (G : Fin d → Euclidean d → ℝ) (H : Fin d → Fin d → Euclidean d → ℝ)
    (_ : 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 : ℝ)

/-- Theorem 10.2 (H¹ error of the semidiscrete piecewise-linear method). -/
theorem semidiscrete_H1_error (Ω : Set E2) (hΩ : SmoothBoundedConvexDomain Ω)
    (𝒯 : Set Triangulation) (θ₀ c₀ : ℝ) (hθ₀ : 0 < θ₀)
    (hfam : ∀ T ∈ 𝒯, IsTriangulationOf Ω T ∧ 0 < T.meshsize ∧ T.meshsize < 1 ∧
      MinAngleAtLeast T θ₀ ∧ ∀ x ∈ Ω, Metric.infDist x T.region ≤ c₀ * T.meshsize ^ 2) :
    ∃ C : ℝ, 0 < C ∧ ∀ T ∈ 𝒯, ∀ (f : ℝ → E2 → ℝ) (v vh : E2 → ℝ) (u uh : ℝ → E2 → ℝ),
      IsHeatSolution Ω f v u → IsSemidiscreteSolution Ω T f vh uh → ∀ t : ℝ, 0 ≤ t →
      h1SeminormE Ω (fun x => uh t x - u t x) ≤
        h1SeminormE Ω (fun x => vh x - v x) + ENNReal.ofReal (C * T.meshsize) *
          (h2NormE Ω v + h2NormE Ω (u t) +
            (∫⁻ s in Set.Ioc 0 t, h1NormE Ω (fun x => deriv (fun τ => u τ x) s) ^ 2) ^ (1/2 : ℝ)) := by
  sorry

end PDETextbook.LarssonThomee.Thm10_2

How to read the formalization

  • The time-derivative contribution uses the square root of an integral of squared H1 norms.
← Back to all statements