$
\newcommand{\Ua}{\mathrm{a}}
\newcommand{\Ub}{\mathrm{b}}
\newcommand{\Uc}{\mathrm{c}}
\newcommand{\Ud}{\mathrm{d}}
\newcommand{\Ue}{\mathrm{e}}
\newcommand{\Uf}{\mathrm{f}}
\newcommand{\Ug}{\mathrm{g}}
\newcommand{\Uh}{\mathrm{h}}
\newcommand{\Ui}{\mathrm{i}}
\newcommand{\Uj}{\mathrm{j}}
\newcommand{\Uk}{\mathrm{k}}
\newcommand{\Ul}{\mathrm{l}}
\newcommand{\Um}{\mathrm{m}}
\newcommand{\Un}{\mathrm{n}}
\newcommand{\Uo}{\mathrm{o}}
\newcommand{\Up}{\mathrm{p}}
\newcommand{\Uq}{\mathrm{q}}
\newcommand{\Ur}{\mathrm{r}}
\newcommand{\Us}{\mathrm{s}}
\newcommand{\Ut}{\mathrm{t}}
\newcommand{\Uu}{\mathrm{u}}
\newcommand{\Uv}{\mathrm{v}}
\newcommand{\Uw}{\mathrm{w}}
\newcommand{\Ux}{\mathrm{x}}
\newcommand{\Uy}{\mathrm{y}}
\newcommand{\Uz}{\mathrm{z}}
\newcommand{\UA}{\mathrm{A}}
\newcommand{\UB}{\mathrm{B}}
\newcommand{\UC}{\mathrm{C}}
\newcommand{\UD}{\mathrm{D}}
\newcommand{\UE}{\mathrm{E}}
\newcommand{\UF}{\mathrm{F}}
\newcommand{\UG}{\mathrm{G}}
\newcommand{\UH}{\mathrm{H}}
\newcommand{\UI}{\mathrm{I}}
\newcommand{\UJ}{\mathrm{J}}
\newcommand{\UK}{\mathrm{K}}
\newcommand{\UL}{\mathrm{L}}
\newcommand{\UM}{\mathrm{M}}
\newcommand{\UN}{\mathrm{N}}
\newcommand{\UO}{\mathrm{O}}
\newcommand{\UP}{\mathrm{P}}
\newcommand{\UQ}{\mathrm{Q}}
\newcommand{\UR}{\mathrm{R}}
\newcommand{\US}{\mathrm{S}}
\newcommand{\UT}{\mathrm{T}}
\newcommand{\UU}{\mathrm{U}}
\newcommand{\UV}{\mathrm{V}}
\newcommand{\UW}{\mathrm{W}}
\newcommand{\UX}{\mathrm{X}}
\newcommand{\UY}{\mathrm{Y}}
\newcommand{\UZ}{\mathrm{Z}}
%
\newcommand{\Uzero }{\mathrm{0}}
\newcommand{\Uone }{\mathrm{1}}
\newcommand{\Utwo }{\mathrm{2}}
\newcommand{\Uthree}{\mathrm{3}}
\newcommand{\Ufour }{\mathrm{4}}
\newcommand{\Ufive }{\mathrm{5}}
\newcommand{\Usix }{\mathrm{6}}
\newcommand{\Useven}{\mathrm{7}}
\newcommand{\Ueight}{\mathrm{8}}
\newcommand{\Unine }{\mathrm{9}}
%
\newcommand{\Ja}{\mathit{a}}
\newcommand{\Jb}{\mathit{b}}
\newcommand{\Jc}{\mathit{c}}
\newcommand{\Jd}{\mathit{d}}
\newcommand{\Je}{\mathit{e}}
\newcommand{\Jf}{\mathit{f}}
\newcommand{\Jg}{\mathit{g}}
\newcommand{\Jh}{\mathit{h}}
\newcommand{\Ji}{\mathit{i}}
\newcommand{\Jj}{\mathit{j}}
\newcommand{\Jk}{\mathit{k}}
\newcommand{\Jl}{\mathit{l}}
\newcommand{\Jm}{\mathit{m}}
\newcommand{\Jn}{\mathit{n}}
\newcommand{\Jo}{\mathit{o}}
\newcommand{\Jp}{\mathit{p}}
\newcommand{\Jq}{\mathit{q}}
\newcommand{\Jr}{\mathit{r}}
\newcommand{\Js}{\mathit{s}}
\newcommand{\Jt}{\mathit{t}}
\newcommand{\Ju}{\mathit{u}}
\newcommand{\Jv}{\mathit{v}}
\newcommand{\Jw}{\mathit{w}}
\newcommand{\Jx}{\mathit{x}}
\newcommand{\Jy}{\mathit{y}}
\newcommand{\Jz}{\mathit{z}}
\newcommand{\JA}{\mathit{A}}
\newcommand{\JB}{\mathit{B}}
\newcommand{\JC}{\mathit{C}}
\newcommand{\JD}{\mathit{D}}
\newcommand{\JE}{\mathit{E}}
\newcommand{\JF}{\mathit{F}}
\newcommand{\JG}{\mathit{G}}
\newcommand{\JH}{\mathit{H}}
\newcommand{\JI}{\mathit{I}}
\newcommand{\JJ}{\mathit{J}}
\newcommand{\JK}{\mathit{K}}
\newcommand{\JL}{\mathit{L}}
\newcommand{\JM}{\mathit{M}}
\newcommand{\JN}{\mathit{N}}
\newcommand{\JO}{\mathit{O}}
\newcommand{\JP}{\mathit{P}}
\newcommand{\JQ}{\mathit{Q}}
\newcommand{\JR}{\mathit{R}}
\newcommand{\JS}{\mathit{S}}
\newcommand{\JT}{\mathit{T}}
\newcommand{\JU}{\mathit{U}}
\newcommand{\JV}{\mathit{V}}
\newcommand{\JW}{\mathit{W}}
\newcommand{\JX}{\mathit{X}}
\newcommand{\JY}{\mathit{Y}}
\newcommand{\JZ}{\mathit{Z}}
%
\newcommand{\Jzero }{\mathit{0}}
\newcommand{\Jone }{\mathit{1}}
\newcommand{\Jtwo }{\mathit{2}}
\newcommand{\Jthree}{\mathit{3}}
\newcommand{\Jfour }{\mathit{4}}
\newcommand{\Jfive }{\mathit{5}}
\newcommand{\Jsix }{\mathit{6}}
\newcommand{\Jseven}{\mathit{7}}
\newcommand{\Jeight}{\mathit{8}}
\newcommand{\Jnine }{\mathit{9}}
%
\newcommand{\BA}{\boldsymbol{A}}
\newcommand{\BB}{\boldsymbol{B}}
\newcommand{\BC}{\boldsymbol{C}}
\newcommand{\BD}{\boldsymbol{D}}
\newcommand{\BE}{\boldsymbol{E}}
\newcommand{\BF}{\boldsymbol{F}}
\newcommand{\BG}{\boldsymbol{G}}
\newcommand{\BH}{\boldsymbol{H}}
\newcommand{\BI}{\boldsymbol{I}}
\newcommand{\BJ}{\boldsymbol{J}}
\newcommand{\BK}{\boldsymbol{K}}
\newcommand{\BL}{\boldsymbol{L}}
\newcommand{\BM}{\boldsymbol{M}}
\newcommand{\BN}{\boldsymbol{N}}
\newcommand{\BO}{\boldsymbol{O}}
\newcommand{\BP}{\boldsymbol{P}}
\newcommand{\BQ}{\boldsymbol{Q}}
\newcommand{\BR}{\boldsymbol{R}}
\newcommand{\BS}{\boldsymbol{S}}
\newcommand{\BT}{\boldsymbol{T}}
\newcommand{\BU}{\boldsymbol{U}}
\newcommand{\BV}{\boldsymbol{V}}
\newcommand{\BW}{\boldsymbol{W}}
\newcommand{\BX}{\boldsymbol{X}}
\newcommand{\BY}{\boldsymbol{Y}}
\newcommand{\BZ}{\boldsymbol{Z}}
\newcommand{\Ba}{\boldsymbol{a}}
\newcommand{\Bb}{\boldsymbol{b}}
\newcommand{\Bc}{\boldsymbol{c}}
\newcommand{\Bd}{\boldsymbol{d}}
\newcommand{\Be}{\boldsymbol{e}}
\newcommand{\Bf}{\boldsymbol{f}}
\newcommand{\Bg}{\boldsymbol{g}}
\newcommand{\Bh}{\boldsymbol{h}}
\newcommand{\Bi}{\boldsymbol{i}}
\newcommand{\Bj}{\boldsymbol{j}}
\newcommand{\Bk}{\boldsymbol{k}}
\newcommand{\Bl}{\boldsymbol{l}}
\newcommand{\Bm}{\boldsymbol{m}}
\newcommand{\Bn}{\boldsymbol{n}}
\newcommand{\Bo}{\boldsymbol{o}}
\newcommand{\Bp}{\boldsymbol{p}}
\newcommand{\Bq}{\boldsymbol{q}}
\newcommand{\Br}{\boldsymbol{r}}
\newcommand{\Bs}{\boldsymbol{s}}
\newcommand{\Bt}{\boldsymbol{t}}
\newcommand{\Bu}{\boldsymbol{u}}
\newcommand{\Bv}{\boldsymbol{v}}
\newcommand{\Bw}{\boldsymbol{w}}
\newcommand{\Bx}{\boldsymbol{x}}
\newcommand{\By}{\boldsymbol{y}}
\newcommand{\Bz}{\boldsymbol{z}}
%
\newcommand{\Bzero }{\boldsymbol{0}}
\newcommand{\Bone }{\boldsymbol{1}}
\newcommand{\Btwo }{\boldsymbol{2}}
\newcommand{\Bthree}{\boldsymbol{3}}
\newcommand{\Bfour }{\boldsymbol{4}}
\newcommand{\Bfive }{\boldsymbol{5}}
\newcommand{\Bsix }{\boldsymbol{6}}
\newcommand{\Bseven}{\boldsymbol{7}}
\newcommand{\Beight}{\boldsymbol{8}}
\newcommand{\Bnine }{\boldsymbol{9}}
%
\newcommand{\Balpha }{\boldsymbol{\alpha} }
\newcommand{\Bbeta }{\boldsymbol{\beta} }
\newcommand{\Bgamma }{\boldsymbol{\gamma} }
\newcommand{\Bdelta }{\boldsymbol{\delta} }
\newcommand{\Bepsilon}{\boldsymbol{\epsilon} }
\newcommand{\Bvareps }{\boldsymbol{\varepsilon} }
\newcommand{\Bvarepsilon}{\boldsymbol{\varepsilon}}
\newcommand{\Bzeta }{\boldsymbol{\zeta} }
\newcommand{\Beta }{\boldsymbol{\eta} }
\newcommand{\Btheta }{\boldsymbol{\theta} }
\newcommand{\Bvarthe }{\boldsymbol{\vartheta} }
\newcommand{\Biota }{\boldsymbol{\iota} }
\newcommand{\Bkappa }{\boldsymbol{\kappa} }
\newcommand{\Blambda }{\boldsymbol{\lambda} }
\newcommand{\Bmu }{\boldsymbol{\mu} }
\newcommand{\Bnu }{\boldsymbol{\nu} }
\newcommand{\Bxi }{\boldsymbol{\xi} }
\newcommand{\Bpi }{\boldsymbol{\pi} }
\newcommand{\Brho }{\boldsymbol{\rho} }
\newcommand{\Bvrho }{\boldsymbol{\varrho} }
\newcommand{\Bsigma }{\boldsymbol{\sigma} }
\newcommand{\Bvsigma }{\boldsymbol{\varsigma} }
\newcommand{\Btau }{\boldsymbol{\tau} }
\newcommand{\Bupsilon}{\boldsymbol{\upsilon} }
\newcommand{\Bphi }{\boldsymbol{\phi} }
\newcommand{\Bvarphi }{\boldsymbol{\varphi} }
\newcommand{\Bchi }{\boldsymbol{\chi} }
\newcommand{\Bpsi }{\boldsymbol{\psi} }
\newcommand{\Bomega }{\boldsymbol{\omega} }
\newcommand{\BGamma }{\boldsymbol{\Gamma} }
\newcommand{\BDelta }{\boldsymbol{\Delta} }
\newcommand{\BTheta }{\boldsymbol{\Theta} }
\newcommand{\BLambda }{\boldsymbol{\Lambda} }
\newcommand{\BXi }{\boldsymbol{\Xi} }
\newcommand{\BPi }{\boldsymbol{\Pi} }
\newcommand{\BSigma }{\boldsymbol{\Sigma} }
\newcommand{\BUpsilon}{\boldsymbol{\Upsilon} }
\newcommand{\BPhi }{\boldsymbol{\Phi} }
\newcommand{\BPsi }{\boldsymbol{\Psi} }
\newcommand{\BOmega }{\boldsymbol{\Omega} }
%
\newcommand{\IA}{\mathbb{A}}
\newcommand{\IB}{\mathbb{B}}
\newcommand{\IC}{\mathbb{C}}
\newcommand{\ID}{\mathbb{D}}
\newcommand{\IE}{\mathbb{E}}
\newcommand{\IF}{\mathbb{F}}
\newcommand{\IG}{\mathbb{G}}
\newcommand{\IH}{\mathbb{H}}
\newcommand{\II}{\mathbb{I}}
\renewcommand{\IJ}{\mathbb{J}}
\newcommand{\IK}{\mathbb{K}}
\newcommand{\IL}{\mathbb{L}}
\newcommand{\IM}{\mathbb{M}}
\newcommand{\IN}{\mathbb{N}}
\newcommand{\IO}{\mathbb{O}}
\newcommand{\IP}{\mathbb{P}}
\newcommand{\IQ}{\mathbb{Q}}
\newcommand{\IR}{\mathbb{R}}
\newcommand{\IS}{\mathbb{S}}
\newcommand{\IT}{\mathbb{T}}
\newcommand{\IU}{\mathbb{U}}
\newcommand{\IV}{\mathbb{V}}
\newcommand{\IW}{\mathbb{W}}
\newcommand{\IX}{\mathbb{X}}
\newcommand{\IY}{\mathbb{Y}}
\newcommand{\IZ}{\mathbb{Z}}
%
\newcommand{\FA}{\mathsf{A}}
\newcommand{\FB}{\mathsf{B}}
\newcommand{\FC}{\mathsf{C}}
\newcommand{\FD}{\mathsf{D}}
\newcommand{\FE}{\mathsf{E}}
\newcommand{\FF}{\mathsf{F}}
\newcommand{\FG}{\mathsf{G}}
\newcommand{\FH}{\mathsf{H}}
\newcommand{\FI}{\mathsf{I}}
\newcommand{\FJ}{\mathsf{J}}
\newcommand{\FK}{\mathsf{K}}
\newcommand{\FL}{\mathsf{L}}
\newcommand{\FM}{\mathsf{M}}
\newcommand{\FN}{\mathsf{N}}
\newcommand{\FO}{\mathsf{O}}
\newcommand{\FP}{\mathsf{P}}
\newcommand{\FQ}{\mathsf{Q}}
\newcommand{\FR}{\mathsf{R}}
\newcommand{\FS}{\mathsf{S}}
\newcommand{\FT}{\mathsf{T}}
\newcommand{\FU}{\mathsf{U}}
\newcommand{\FV}{\mathsf{V}}
\newcommand{\FW}{\mathsf{W}}
\newcommand{\FX}{\mathsf{X}}
\newcommand{\FY}{\mathsf{Y}}
\newcommand{\FZ}{\mathsf{Z}}
\newcommand{\Fa}{\mathsf{a}}
\newcommand{\Fb}{\mathsf{b}}
\newcommand{\Fc}{\mathsf{c}}
\newcommand{\Fd}{\mathsf{d}}
\newcommand{\Fe}{\mathsf{e}}
\newcommand{\Ff}{\mathsf{f}}
\newcommand{\Fg}{\mathsf{g}}
\newcommand{\Fh}{\mathsf{h}}
\newcommand{\Fi}{\mathsf{i}}
\newcommand{\Fj}{\mathsf{j}}
\newcommand{\Fk}{\mathsf{k}}
\newcommand{\Fl}{\mathsf{l}}
\newcommand{\Fm}{\mathsf{m}}
\newcommand{\Fn}{\mathsf{n}}
\newcommand{\Fo}{\mathsf{o}}
\newcommand{\Fp}{\mathsf{p}}
\newcommand{\Fq}{\mathsf{q}}
\newcommand{\Fr}{\mathsf{r}}
\newcommand{\Fs}{\mathsf{s}}
\newcommand{\Ft}{\mathsf{t}}
\newcommand{\Fu}{\mathsf{u}}
\newcommand{\Fv}{\mathsf{v}}
\newcommand{\Fw}{\mathsf{w}}
\newcommand{\Fx}{\mathsf{x}}
\newcommand{\Fy}{\mathsf{y}}
\newcommand{\Fz}{\mathsf{z}}
%
\newcommand{\Fzero }{\mathsf{0}}
\newcommand{\Fone }{\mathsf{1}}
\newcommand{\Ftwo }{\mathsf{2}}
\newcommand{\Fthree}{\mathsf{3}}
\newcommand{\Ffour }{\mathsf{4}}
\newcommand{\Ffive }{\mathsf{5}}
\newcommand{\Fsix }{\mathsf{6}}
\newcommand{\Fseven}{\mathsf{7}}
\newcommand{\Feight}{\mathsf{8}}
\newcommand{\Fnine }{\mathsf{9}}
%
\newcommand{\CA}{\mathcal{A}}
\newcommand{\CB}{\mathcal{B}}
\newcommand{\CC}{\mathcal{C}}
\newcommand{\CD}{\mathcal{D}}
\newcommand{\CE}{\mathcal{E}}
\newcommand{\CF}{\mathcal{F}}
\newcommand{\CG}{\mathcal{G}}
\newcommand{\CH}{\mathcal{H}}
\newcommand{\CI}{\mathcal{I}}
\newcommand{\CJ}{\mathcal{J}}
\newcommand{\CK}{\mathcal{K}}
\newcommand{\CL}{\mathcal{L}}
\newcommand{\CM}{\mathcal{M}}
\newcommand{\CN}{\mathcal{N}}
\newcommand{\CO}{\mathcal{O}}
\newcommand{\CP}{\mathcal{P}}
\newcommand{\CQ}{\mathcal{Q}}
\newcommand{\CR}{\mathcal{R}}
\newcommand{\CS}{\mathcal{S}}
\newcommand{\CT}{\mathcal{T}}
\newcommand{\CU}{\mathcal{U}}
\newcommand{\CV}{\mathcal{V}}
\newcommand{\CW}{\mathcal{W}}
\newcommand{\CX}{\mathcal{X}}
\newcommand{\CY}{\mathcal{Y}}
\newcommand{\CZ}{\mathcal{Z}}
%
\newcommand{\KA}{\mathfrak{A}}
\newcommand{\KB}{\mathfrak{B}}
\newcommand{\KC}{\mathfrak{C}}
\newcommand{\KD}{\mathfrak{D}}
\newcommand{\KE}{\mathfrak{E}}
\newcommand{\KF}{\mathfrak{F}}
\newcommand{\KG}{\mathfrak{G}}
\newcommand{\KH}{\mathfrak{H}}
\newcommand{\KI}{\mathfrak{I}}
\newcommand{\KJ}{\mathfrak{J}}
\newcommand{\KK}{\mathfrak{K}}
\newcommand{\KL}{\mathfrak{L}}
\newcommand{\KM}{\mathfrak{M}}
\newcommand{\KN}{\mathfrak{N}}
\newcommand{\KO}{\mathfrak{O}}
\newcommand{\KP}{\mathfrak{P}}
\newcommand{\KQ}{\mathfrak{Q}}
\newcommand{\KR}{\mathfrak{R}}
\newcommand{\KS}{\mathfrak{S}}
\newcommand{\KT}{\mathfrak{T}}
\newcommand{\KU}{\mathfrak{U}}
\newcommand{\KV}{\mathfrak{V}}
\newcommand{\KW}{\mathfrak{W}}
\newcommand{\KX}{\mathfrak{X}}
\newcommand{\KY}{\mathfrak{Y}}
\newcommand{\KZ}{\mathfrak{Z}}
\newcommand{\Ka}{\mathfrak{a}}
\newcommand{\Kb}{\mathfrak{b}}
\newcommand{\Kc}{\mathfrak{c}}
\newcommand{\Kd}{\mathfrak{d}}
\newcommand{\Ke}{\mathfrak{e}}
\newcommand{\Kf}{\mathfrak{f}}
\newcommand{\Kg}{\mathfrak{g}}
\newcommand{\Kh}{\mathfrak{h}}
\newcommand{\Ki}{\mathfrak{i}}
\newcommand{\Kj}{\mathfrak{j}}
\newcommand{\Kk}{\mathfrak{k}}
\newcommand{\Kl}{\mathfrak{l}}
\newcommand{\Km}{\mathfrak{m}}
\newcommand{\Kn}{\mathfrak{n}}
\newcommand{\Ko}{\mathfrak{o}}
\newcommand{\Kp}{\mathfrak{p}}
\newcommand{\Kq}{\mathfrak{q}}
\newcommand{\Kr}{\mathfrak{r}}
\newcommand{\Ks}{\mathfrak{s}}
\newcommand{\Kt}{\mathfrak{t}}
\newcommand{\Ku}{\mathfrak{u}}
\newcommand{\Kv}{\mathfrak{v}}
\newcommand{\Kw}{\mathfrak{w}}
\newcommand{\Kx}{\mathfrak{x}}
\newcommand{\Ky}{\mathfrak{y}}
\newcommand{\Kz}{\mathfrak{z}}
%
\newcommand{\Kzero }{\mathfrak{0}}
\newcommand{\Kone }{\mathfrak{1}}
\newcommand{\Ktwo }{\mathfrak{2}}
\newcommand{\Kthree}{\mathfrak{3}}
\newcommand{\Kfour }{\mathfrak{4}}
\newcommand{\Kfive }{\mathfrak{5}}
\newcommand{\Ksix }{\mathfrak{6}}
\newcommand{\Kseven}{\mathfrak{7}}
\newcommand{\Keight}{\mathfrak{8}}
\newcommand{\Knine }{\mathfrak{9}}
%
$
$
\newcommand{\Lin}{\mathop{\rm Lin}\nolimits}
\newcommand{\modop}{\mathop{\rm mod}\nolimits}
\renewcommand{\div}{\mathop{\rm div}\nolimits}
\newcommand{\Var}{\Delta}
\newcommand{\evat}{\bigg|}
\newcommand\varn[3]{D_{#2}#1\cdot #3}
\newcommand{\dtp}{\cdot}
\newcommand{\dyd}{\otimes}
\newcommand{\tra}{^T}
\newcommand{\del}{\partial}
\newcommand{\dif}{d}
\newcommand{\rbr}[1]{\left(#1\right)}
\newcommand{\sbr}[1]{\left[#1\right]}
\newcommand{\cbr}[1]{\left\{#1\right\}}
\newcommand{\cbrn}[1]{\{#1\}}
\newcommand{\abr}[1]{\left\langle #1 \right\rangle}
\newcommand{\abrn}[1]{\langle #1 \rangle}
\newcommand{\deriv}[2]{\frac{d #1}{d #2}}
\newcommand{\dderiv}[2]{\frac{d^2 #1}{d {#2}^2}}
\newcommand{\partd}[2]{\frac{\partial #1}{\partial #2}}
\newcommand{\nnode}{n_n}
\newcommand{\ndim}{n_d}
\newcommand{\suml}[2]{\sum\limits_{#1}^{#2}}
\newcommand{\Aelid}[2]{A^{#1}_{#2}}
\newcommand{\dv}{\, dv}
\newcommand{\dx}{\, dx}
\newcommand{\ds}{\, ds}
\newcommand{\da}{\, da}
\newcommand{\dV}{\, dV}
\newcommand{\dA}{\, dA}
\newcommand{\eqand}{\quad\text{and}\quad}
\newcommand{\eqor}{\quad\text{or}\quad}
\newcommand{\eqwith}{\quad\text{and}\quad}
\newcommand{\inv}{^{-1}}
\newcommand{\veci}[1]{#1_1,\ldots,#1_n}
\newcommand{\var}{\delta}
\newcommand{\Var}{\Delta}
\newcommand{\eps}{\epsilon}
\newcommand{\ddt}{\frac{d}{dt}}
\newcommand{\Norm}[1]{\left\lVert#1\right\rVert}
\newcommand{\Abs}[1]{\left|#1\right|}
\newcommand{\dabr}[1]{\left\langle\!\left\langle #1 \right\rangle\!\right\rangle}
\newcommand{\dabrn}[1]{\langle\!\langle #1 \rangle\!\rangle}
\newcommand{\idxsep}{\,}
$
Beginning with this post, I’ll be publishing about the basics of finite element
formulations, from personal notes that accumulated over the years. This one is
about linear and scalar problems which came to be the “Hello World” for FE.
Details regarding spaces and discretization are omitted for the sake of brevity.
For those who want to delve into theory, I recommend “The Finite Element Method:
Theory, Implementation, and Applications”
by Larson and Bengzon.
The weak formulation of a canonical linear problem reads
Find $u\in V$ such that
\[\begin{equation}
a(u, v) = b(v)
\label{eq:femlinear1}
\end{equation}\]
for all $v \in V$ where $a(\cdot, \cdot)$ is a bilinear form and $b(\cdot)$ is a linear form.
We define the discretization of $u$ as
\[\begin{equation}
u_h := \suml{J=1}{\nnode} u^J N^J
,\quad
u_h \in V_h
\quad\text{where}\quad
V_h\subset V
\end{equation}\]
The discretization $u_h$ is a linear combination of basis functions
$N^J$ and corresponding scalars $u^J$, $J=1,\dots,\nnode$ so that $V_h$ is a
subset of $V$.
The discretization of \eqref{eq:femlinear1} then reads
\[\begin{equation}
a(u_h, v_h) = b(v_h)
\quad
\forall v_h \in V_h
.
\end{equation}\]
We then have
\[\begin{equation}
a\rbr{\suml{J=1}{\nnode} u^J N^J, \suml{I=1}{\nnode} v^I N^I}
= b\rbr{\suml{I=1}{\nnode} v^I N^I}
\end{equation}\]
Using the linearity properties,
\[\begin{equation}
a(\alpha u, \beta v) = \alpha\beta\, a(u,v)
\eqand
b(\alpha v) = \alpha b(v)
\end{equation}\]
we obtain
\[\begin{equation}
\suml{I=1}{\nnode} \suml{J=1}{\nnode}
u^J v^I a(N^J, N^I)
= \suml{I=1}{\nnode} v^I b(N^I)
.
\label{eq:femlinear2}
\end{equation}\]
For arbitrary test function values $v^I$, we can express \eqref{eq:femlinear2}
as a system of $\nnode$ equations
\[\begin{equation}
\suml{J=1}{\nnode}
u^J a(N^J, N^I) = b(N^I)
\label{eq:femlinear3}
\end{equation}\]
for $I = 1,2,\dots,\nnode$. If we expand the summations as
\[\begin{alignat*}{6}
& a(N^1, N^1) u^1 &&+ a(N^2, N^1) u^2 &&+ \cdots &&+ a(N^{\nnode}, N^1) u^{\nnode} &&\quad=\quad b(N^1) \\
& a(N^1, N^2) u^1 &&+ a(N^2, N^2) u^2 &&+ \cdots &&+ a(N^{\nnode}, N^2) u^{\nnode} &&\quad=\quad b(N^2) \\
& \qquad\vdots && \qquad\quad\;\vdots && \quad\;\;\vdots && \qquad\qquad\vdots && \qquad\qquad\vdots \\
& a(N^1, N^{\nnode}) u^1 &&+ a(N^2, N^{\nnode}) u^2 &&+ \cdots &&+ a(N^{\nnode}, N^{\nnode}) u^{\nnode} &&\quad=\quad b(N^{\nnode})
\end{alignat*}\]
we can see that the terms with $a$ constitute a matrix $\BA$ and
the terms with $b$ constitute a vector $\Bb$, allowing us to write
\[\begin{equation}
\BA\Bu = \Bb
\label{eq:discrete9}
\end{equation}\]
where we chose to express the unknown coefficients $u^I$ as a vector
$\Bu = [u^1,u^2,\dots,u^{\nnode}]\tra$.
\It can be seen that the components of the $\BA$ and $\Bb$ are defined as
\[\begin{equation}
\boxed{
\Aelid{I\!J}{} = a(N^J,N^I)
\eqand
b^I = b(N^I),
}
\end{equation}\]
we can express the linear system as
\[\begin{alignat*}{6}
& \Aelid{11}{} u^1 &&+ \Aelid{12}{} u^2 &&+ \cdots &&+ \Aelid{1\nnode}{} u^{\nnode} &&\quad=\quad b^1 \\
& \Aelid{21}{} u^1 &&+ \Aelid{22}{} u^2 &&+ \cdots &&+ \Aelid{2\nnode}{} u^{\nnode} &&\quad=\quad b^2 \\
& \quad\vdots && \qquad\;\vdots && \quad\;\;\vdots && \qquad\;\vdots && \qquad\quad\;\;\vdots \\
& \Aelid{\nnode 1}{} u^1 &&+ \Aelid{\nnode 2}{} u^2 &&+ \cdots &&+ \Aelid{\nnode\nnode}{} u^{\nnode} &&\quad=\quad b^{\nnode}
\end{alignat*}\]
Note that with the given definitions, \eqref{eq:femlinear3} becomes
\[\begin{equation}
\boxed{
\suml{J=1}{\nnode}
\Aelid{I\!J}{} \,u^J = b^I
\quad\text{for}\quad
I=1,2,\dots\nnode.
}
\label{eq:discrete10}
\end{equation}\]
Example: Poisson’s Equation
In the weak form of Poisson’s equation
\[\begin{equation}
\begin{alignedat}{4}
- \Var u &= f \quad && \text{in} \quad && \Omega \\
u &= 0 \quad && \text{on} \quad && \del\Omega
\end{alignedat}
\end{equation}\]
The weak formulation reads
Find $u\in V$ such that
\[\begin{equation}
- \int_\Omega \Delta(u) v \dv= \int_\Omega f v \dv
\end{equation}\]
for all $v\in V$ where $V=H^1_0(\Omega)$.
Applying integration by parts and divergence theorem on the left-hand side
\[\begin{equation}
\begin{aligned}
\int_\Omega \Delta(u) v \dv
&= \int_\Omega \nabla \dtp (\nabla (u) v) \dv
- \int_\Omega \nabla u\dtp\nabla v \dv \\
&= \underbrace{\int_{\del\Omega} v (\nabla u\dtp\Bn) \da}_{v = 0
\text{ on } \del\Omega}
- \int_\Omega \nabla u\dtp\nabla v \dv \\
\end{aligned}
\end{equation}\]
We have the following variational forms:
\[\begin{equation}
\begin{aligned}
a(u,v) &= \int_{\Omega} \nabla u \dtp \nabla v \dv\\
b(v) &= \int_{\Omega} f \, v \dv\\
\end{aligned}
\end{equation}\]
Following \eqref{eq:femlinear3}, we can calculate the stiffness matrix
$\BA$ as
\[\begin{equation}
\begin{aligned}
\Aelid{I\!J}{} = a(N^J, N^I)
&= \int_{\Omega} \nabla N^J \dtp \nabla N^I \dv \\
&= \int_{\Omega} \BB^J \dtp \BB^I \dv
\end{aligned}
\end{equation}\]
where we have defined the gradient of the basis functions as
\[\begin{equation}
\BB^I := \nabla N^I\,.
\end{equation}\]
Similarly, we integrate the force term into a vector $\Bb$ as
\[\begin{equation}
\begin{aligned}
b^I &= \int_{\Omega} f N^I \dv
\end{aligned}
\end{equation}\]