discretize.CurvilinearMesh.nodal_laplacian#

property CurvilinearMesh.nodal_laplacian#

Nodal scalar Laplacian operator (nodes to nodes).

This property constructs the 2nd order scalar Laplacian operator that maps from nodes to nodes. The operator is a sparse matrix \(\mathbf{L_n}\) that can be applied as a matrix-vector product to a discrete scalar quantity \(\boldsymbol{\phi}\) that lives on the nodes, i.e.:

laplace_phi = Ln @ phi

The operator * assumes a zero Neumann boundary condition for the discrete scalar quantity. Once constructed, the operator is stored permanently as a property of the mesh.

Returns:
(n_nodes, n_nodes) scipy.sparse.csr_matrix

The numerical Laplacian operator from nodes to nodes

Notes

In continuous space, the scalar Laplacian operator is defined as:

\[\psi = \nabla^2 \phi = \frac{\partial^2 \phi}{\partial x^2} + \frac{\partial^2 \phi}{\partial y^2} + \frac{\partial^2 \phi}{\partial z^2}\]

Where \(\boldsymbol{\phi}\) is the discrete representation of the continuous variable \(\phi\) on the nodes, and \(\boldsymbol{\psi}\) is the discrete representation of its scalar Laplacian on the nodes, nodal_laplacian constructs a discrete linear operator \(\mathbf{L_n}\) such that:

\[\boldsymbol{\psi} = \mathbf{L_n} \, \boldsymbol{\phi}\]