Notation

Explanation of the notation used throughout the documentation.

Most of the notation follows the same principles as that of [5].

Notation regarding geometry

Please see the table below for a description of the symbols used for geometric objects:

NotationDescription
$ \Omega $ Denotes a domain with Lipschitz boundary.
$ \partial \Omega $ Denotes the Lipschitz boundary of the domain $ \Omega $ .
$ \Gamma_D $ The Dirichlet part of the boundary where essential conditions are imposed.
$ \Gamma_N $ The Neumann part of the boundary where natural conditions are imposed.
$ \mathcal{T}_h $ Denotes a polyhedral complex (mesh) which discretizes the domain $ \Omega $ . The subscript $ h $ refers to the mesh size parameter.
$ \mathcal{F}_h $ Represents the set of all faces in the mesh $ \mathcal{T}_h $ .
$ \mathcal{B}_h $ Represents the boundary faces of the mesh $ \mathcal{T}_h $ .
$ \mathcal{I}_h $ Represents the interior faces (interfaces) of the mesh $ \mathcal{T}_h $ .
$ K $ A single cell (element) of the mesh $ \mathcal{T}_h $ .
$ h $ Mesh size parameter: the maximum diameter over all cells $ K \in \mathcal{T}_h $ .
$ d $ The spatial dimension (typically 2 or 3).
$ \mathbf{n} $ The outward unit normal vector on $ \partial \Omega $ or on a face.

Notation regarding function spaces

NotationDescription
$ L^2(\Omega) $ The space of square-integrable functions on $ \Omega $ .
$ H^1(\Omega) $ The Sobolev space of functions in $ L^2(\Omega) $ whose gradient is also in $ L^2(\Omega) $ .
$ H^1_0(\Omega) $ The subspace of $ H^1(\Omega) $ with zero trace on $ \partial \Omega $ (homogeneous Dirichlet).
$ V_h $ A finite element space built on the mesh $ \mathcal{T}_h $ . Subscript $ h $ indicates discrete.
$ \mathbb{P}_k $ The space of polynomials of total degree at most $ k $ .
$ P_0 $ Piecewise constant functions on each cell (P0 in Rodin).
$ P_1 $ Piecewise linear, globally continuous functions (P1 in Rodin).

Notation regarding variational methods

NotationDescription
$ u $ The trial function (unknown, sought solution). Corresponds to TrialFunction in Rodin.
$ v $ The test function (weighting function). Corresponds to TestFunction in Rodin.
$ a(u, v) $ A bilinear form: linear in both $ u $ and $ v $ . Assembled by the BilinearForm class.
$ \ell(v) $ A linear form: linear in $ v $ only. Assembled by the LinearForm class.
$ f $ A source term or right-hand-side function.
$ g $ A boundary data function (Dirichlet or Neumann data).

Notation regarding differential operators

NotationRodin codeDescription
$ \nabla u $ Grad(u)Gradient of a scalar field. Returns a vector.
$ \nabla \cdot \mathbf{u} $ Div(u)Divergence of a vector field. Returns a scalar.
$ \Delta u $ Laplacian. Not used directly; appears via integration by parts as Integral(Grad(u), Grad(v)).
$ \nabla \mathbf{u} $ Jacobian(u)Jacobian (gradient) of a vector field. Returns a matrix.
$ \nabla \mathbf{u}^T $ Jacobian(u).T()Transpose of the Jacobian.
$ e(\mathbf{u}) $ 0.5 * (Jacobian(u) + Jacobian(u).T())Symmetric gradient (linearized strain tensor).
$ \mathrm{tr}(A) $ Trace(A)Trace of a matrix.
$ A : B $ Dot(A, B)Frobenius (double-contraction) inner product of two matrices.

Notation regarding integrals

NotationRodin codeDescription
$ \int_\Omega f \, v \, dx $ Integral(f, v)Domain integral of $ f \cdot v $ .
$ \int_\Omega \nabla u \cdot \nabla v \, dx $ Integral(Grad(u), Grad(v))Stiffness integral.
$ \int_\Omega u \, v \, dx $ Integral(u, v)Mass integral.
$ \int_{\Gamma_N} g \, v \, ds $ BoundaryIntegral(g, v).over(GammaN)Boundary integral on $ \Gamma_N $ .
$ \int_\Gamma h \, v \, ds $ FaceIntegral(h, v).over(Gamma)Face integral on an internal interface $ \Gamma $ .