Back to Eqiora docs Skip to main content

GeometryMap

Trait GeometryMap 

pub trait GeometryMap {
    // Required methods
    fn reference_cell(&self) -> ReferenceCell;
    fn physical_dimension(&self) -> usize;
    fn map_point(
        &self,
        reference: &[f64],
        physical: &mut [f64],
    ) -> Result<(), Diagnostic>;
    fn jacobian_at(
        &self,
        reference: &[f64],
        jacobian: &mut [f64],
    ) -> Result<(), Diagnostic>;
}
Description

Runtime-dimensional physical map for one mesh entity.

Jacobians are row-major with shape physical_dimension x reference_dimension. Callers provide output storage so the contract does not require heap allocation in local kernels.

Required Methods§

fn reference_cell(&self) -> ReferenceCell

Reference-cell topology and dimension.

fn physical_dimension(&self) -> usize

Dimension of embedding physical coordinates.

fn map_point( &self, reference: &[f64], physical: &mut [f64], ) -> Result<(), Diagnostic>

Map one reference point to physical coordinates.

§Errors

Returns EQ0803 for incompatible buffer dimensions or a point outside the reference cell.

fn jacobian_at( &self, reference: &[f64], jacobian: &mut [f64], ) -> Result<(), Diagnostic>

Evaluate the row-major geometry Jacobian.

§Errors

Returns EQ0803 for incompatible buffer dimensions or a point outside the reference cell.

Implementors§