discretize.TreeMesh.edge_curl#

TreeMesh.edge_curl#

Edge curl operator (edges to faces)

This property constructs the 2nd order numerical curl operator that maps from edges to faces. The operator is a sparse matrix Ce that can be applied as a matrix-vector product to a discrete vector quantity u that lives on the edges; i.e.:

curl_u = Ce @ u

Once constructed, the operator is stored permanently as a property of the mesh.

Returns:
(n_faces, n_edges) scipy.sparse.csr_matrix

The numerical curl operator from edges to faces

Notes

In continuous space, the curl operator is defined as:

w=×u=|x^y^z^xyzuxuyuz|

Where u is the discrete representation of the continuous variable u on cell edges and w is the discrete representation of the curl on the faces, edge_curl constructs a discrete linear operator Ce such that:

w=Ceu

The computation of the curl on mesh faces can be expressed according to the integral form below. For face i bordered by a set of edges indexed by subset K:

wi=1AikKukk

where Ai is the surface area of face i, uk is the value of u on face k, and vec{ell}_k is the path along edge k.