HomeDocs-Technical WhitePaper02-EFT.WP.Core.Equations v1.1

Chapter 7 — Variational and Weak Forms


I. Aims and Scope


II. Variational Notation and Function Spaces (S70-1)

S70-1 (spaces and inner products)

III. Generic Template from Strong to Weak (S70-2)

  1. Strong mother form (placeholder)
    ∂_t q + div( J_q ) = S_q on Ω,其中 J_q 与 S_q 可依具体物理定义(见第4/5章)。
  2. S70-2 (weak template)
    • For any w ∈ V,
    • weak= inner_Ω[w, ∂t q] + ( ∫{Ω} grad[w] • J_q d V ) - ( ∫_{∂Ω} w * ( J_q • nu ) d A ) = inner_Ω[w, S_q]。
    • On ∂Ω_N or ∂Ω_R, use the flux expressions from Chapter 6 in place of J_q • nu; on ∂Ω_D we have w = 0.

IV. Postulates and Symbol Isolation (P70-1 ~ P70-2)


V. Weak Form for the Tension Field (building on Chapter 4, S70-3)

  1. Strong example (see Chapter 4)
    ∂_t T_fil + div( J_T ) = S_T on Ω,其中 J_T def= - K_T * grad[T_fil] + U_T * T_fil。
  2. S70-3 (weak form)
    • For w ∈ V:
    • weak= inner_Ω[w, ∂t T_fil] + ( ∫{Ω} grad[w] • ( - K_T * grad[T_fil] + U_T * T_fil ) d V ) = inner_Ω[w, S_T] + ( ∫{∂Ω_N} w * g_N^{T} d A ) + ( ∫{∂Ω_R} w * ( - h_T * ( T_fil - T_env ) ) d A )。
    • Here g_N^{T} def= ( J_T • nu ) on ∂Ω_N, with h_T ≥ 0 (see Chapter 6).

VI. Weak Form for Continuity and Transport (building on Chapter 5, S70-4)

  1. Strong example (see Chapter 5)
    ∂_t rho + div( J_rho ) = S_rho,J_rho def= - D_rho * grad[rho] + V_rho * rho。
  2. S70-4 (weak form)
    • For w ∈ V:
    • weak= inner_Ω[w, ∂t rho] + ( ∫{Ω} grad[w] • ( - D_rho * grad[rho] + V_rho * rho ) d V ) = inner_Ω[w, S_rho] + ( ∫{∂Ω_N} w * g_N^{rho} d A ) + ( ∫{∂Ω_R} w * ( - h_rho * ( rho - rho_env ) ) d A )。

VII. Obtaining Weak Forms from a Stationary Principle (S70-5)

  1. Energy-type functional (self-adjoint case; coefficients may vary in time but remain fixed over a time slab):
    Lagr[q] def= ( 1/2 ) * ( ∫{Ω} ( grad[q] • K * grad[q] + c_q * q * q ) d V ) - ( ∫{Ω} f_q * q d V ) - ( ∫_{∂Ω_N} g_N^q * q d A )。
  2. S70-5 (Euler–Lagrange weak form)
    • deltaLagr; q = 0 for all w ∈ V is equivalent to
    • weak= ( ∫{Ω} grad[w] • ( K * grad[q] ) d V ) + inner_Ω[w, c_q * q] = inner_Ω[w, f_q] + ( ∫{∂Ω_N} w * g_N^q d A )。
    • If a time term ∂_t q is needed, approximate on a time slab via inner_Ω[w, ( q^{n+1} - q^{n} ) / Δt ] and incorporate it in the discretized Lagr.

VIII. Path Constraint and Arrival-Time Coupling (S70-6)

  1. Path-constraint functional
    • For a path gamma(ell) and a target arrival time T_arr^*, introduce a multiplier λ:
    • Lagr_path[q, λ] def= Lagr[q] + λ * ( ( ∫_{gamma(ell)} ( n_eff(q) / c_ref ) d ell ) - T_arr^* )。
  2. S70-6 (constrained stationarity)
    • delta[Lagr_path; q, λ](w, μ) = 0 yields
    • deltaLagr; q + λ * ( ∫_{gamma} ( ( ∂ n_eff / ∂ q ) * w / c_ref ) d ell ) = 0;
    • ( ∫_{gamma} ( n_eff(q) / c_ref ) d ell ) - T_arr^* = 0。
    • Here ( ∂ n_eff / ∂ q ) follows from the differentiability of n_eff def= F_map(T_fil, ...) (see Chapter 3).

IX. Dimensional and Non-Dimensional Weak Forms (S70-7)


X. Numerical Discretization and Assembly Binding (I20-2)

  1. Mass and stiffness-type operators:
    M[w,q] def= inner_Ω[w, q];A[w,q] def= ( ∫_{Ω} grad[w] • K * grad[q] d V );C[w,q] def= inner_Ω[w, c_q * q]。
  2. Implementation mapping:
    • assemble_operator("mass", grid, coeffs={"ρ":1}) -> LinOp for M;
    • assemble_operator("stiffness", grid, coeffs={"K":K}) -> LinOp for A;
    • bc_dirichlet / bc_neumann match Chapter 6 boundary terms; Robin enters via an equivalent flux.
  3. Sequence suggestion:
    Discretize the path gamma(ell) to obtain ( n_eff_path, ds ) → propagate_time(n_eff_path, ds, c_ref), for constraints or a posteriori evaluation of T_arr.

XI. Lint Rules and Forbidden Items


XII. Registrable Entries and Implementation Binding (I20-aligned)*

  1. Typical registrations:
    • register_equation("S70-2", "weak= inner_Ω[w, ∂_t q] + ∫Ω grad[w] • J_q d V - ∫∂Ω w*(J_q•nu) d A = inner_Ω[w, S_q]", "weak", anchors=["§III"], depends=["S60-1"])
    • register_equation("S70-3", "weak form of T_fil", "weak", anchors=["§V"], depends=["S40-","S60-"])
    • register_equation("S70-6", "delta[Lagr_path]=0 with arrival-time constraint", "weak", anchors=["§VIII"], depends=["S20-","S30-"])
  2. Dimensional check:
    check_dim_equation("inner_Ω[w, ∂_t q] = inner_Ω[w, S_q] - ∫_Ω grad[w] • J_q d V") -> "[w]*[q]/[t]"(与右端一致)。

XIII. Minimal Working Example (Strong → Weak → Assembly)

  1. Strong form: ∂_t q - div( K * grad[q] ) = f_q on Ω,q = g_D^q on ∂Ω_D,- K * grad[q] • nu = g_N^q on ∂Ω_N。
  2. Weak form:
    weak= inner_Ω[w, ∂t q] + ( ∫{Ω} grad[w] • K * grad[q] d V ) = inner_Ω[w, f_q] + ( ∫_{∂Ω_N} w * g_N^q d A )。
  3. Assembly recipe:
    • Mass operator M and stiffness operator A; load vector b built from f_q and boundary fluxes.
    • Apply bc_dirichlet on ∂Ω_D; time stepping with solve_linear / solve_nonlinear.
  4. Arrival-time a posteriori (e.g., n_eff = F_map(T_fil, ...)):
    Update n_eff(x,t) → sample along gamma(ell) → compute T_arr = propagate_time(n_eff_path, ds, c_ref), compare with targets or feed into the S70-6 constraint loop.

Copyright & License (CC BY 4.0)

Copyright: Unless otherwise noted, the copyright of “Energy Filament Theory” (text, charts, illustrations, symbols, and formulas) belongs to the author “Guanglin Tu”.
License: This work is licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0). You may copy, redistribute, excerpt, adapt, and share for commercial or non‑commercial purposes with proper attribution.
Suggested attribution: Author: “Guanglin Tu”; Work: “Energy Filament Theory”; Source: energyfilament.org; License: CC BY 4.0.

First published: 2025-11-11|Current version:v5.1
License link:https://creativecommons.org/licenses/by/4.0/