$$ \gdef\pd#1#2{\frac{\partial #1}{\partial #2}}
\gdef\d#1{\, \mathrm{d}#1}
\gdef\dx{\d{x}}
\gdef\tr#1{\operatorname{tr} (#1)}
$$
$$
\gdef\norm#1{\left \lVert #1 \right\rVert}
\gdef\seminorm#1{| #1 |}
$$
$$
\gdef\vec#1{\mathbf{\boldsymbol{#1}}}
\gdef\dvec#1{\bar{\vec #1}}
$$
A general quadrature table that avoids duplication of identical rules.
A wrapper type for a number that represents a density.
TODO: The builder here is pretty complex. Is it possible to simplify without losing too
much type safety?
An element assembler for source functions.
A quadrature table that keeps a separate quadrature rule per element.
Lookup table mapping elements to quadrature rules.
Trait alias for a one-dimensional quadrature table.
Trait alias for a two-dimensional quadrature table.
Trait alias for a three-dimensional quadrature table.
Assembles the element (derivative) matrix associated with the given elliptic operator.
Assemble the element vector associated with the elliptic operator.
Assembles the element mass matrix using the provided quadrature.
Assemble the local source term vector associated with a particular finite element and source.
Numerically integrate the elliptic energy over the given element.