FEEC overview (lowest order)
FrontIntrinsicOps.jl now exposes a lowest-order FEEC-compatible layer on top of the existing DEC core.
This layer is additive:
- DEC operators (
d0,d1, diagonal Hodge stars, existing PDE solvers) remain unchanged. - FEEC adds Whitney spaces, canonical interpolation, and consistent variational assembly.
Discrete de Rham sequence
On triangulated surfaces:
0 -> Λh0 --d0--> Λh1 --d1--> Λh2 -> 0
with DOFs:
Λh0: vertex values,Λh1: oriented edge integrals,Λh2: oriented face integrals.
Public entry points
build_whitney_complex(mesh, geom)build_de_rham_sequence(mesh, geom)de_rham_report(complex)verify_subcomplex(complex)
Storage conventions
- 0-form cochains:
VectorlengthnV. - 1-form cochains:
VectorlengthnEin canonical oriented-edge order (i<j). - 2-form cochains:
VectorlengthnFin face order.
Minimal example
using FrontIntrinsicOps
mesh = generate_icosphere(1.0, 2)
geom = compute_geometry(mesh)
W = build_whitney_complex(mesh, geom)
rpt = de_rham_report(W)
println(rpt.ndofs0, " ", rpt.ndofs1, " ", rpt.ndofs2)
println("d1*d0 residual = ", rpt.exactness_residuals.d1_d0)Limitations and non-goals
- Lowest-order only (
Whitney0/1/2). - Simplicial meshes only (curves/surfaces).
- Canonical FEEC interpolators only (no smoothed bounded projectors yet).
- No higher-order
P_r/P_r^-families in this round.