$ \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}\]