meshing.HermiteData

meshing.HermiteData()

Surface crossings on grid edges with field gradients.

All arrays are JAX values and differentiate with respect to any design parameters the field closes over.

Attributes

Name Type Description
points Array World position of each crossing, shaped (edge_count, 3).
gradients Array Raw spatial field gradient at each crossing, shaped (edge_count, 3). Not normalized; see :meth:unit_normals.
t Array Crossing parameter along each edge, 0 at the start vertex and 1 at the end vertex, shaped (edge_count,).
values Array Field residual at each returned point, shaped (edge_count,). Near zero for a converged root.

Methods

Name Description
unit_normals Safely normalized gradients; zero gradients stay zero.

unit_normals

meshing.HermiteData.unit_normals(epsilon=1e-12)

Safely normalized gradients; zero gradients stay zero.

Safe in reverse mode too: the zero branch is constant, so a degenerate row cannot NaN the gradients of healthy rows.