Module typing
Description
Typing rules for residual expressions, generic over the identity type.
The rules deal with dimensions, scalar and tensor shape, and spatial support, and
know nothing about source spans, graph paths, syntax, or storage. Compilers and
semantic validators supply their own identity type and map a TypeViolation to
a diagnostic location in their own layer.
Structs§
- Expression
Type - Complete static type of one residual-expression value.
- Trace
Regularity Checker - Incremental boundary-regularity check over already typed expression nodes.
- Typed
Residual - A fully inferred residual DAG.
Enums§
- Root
Contract - Meaning of the roots of one typed expression DAG.
- Spatial
Support - Spatial support of an expression value.
- Type
Violation - Typing failure that keeps the identities involved; the caller chooses the diagnostic.
- Typed
Residual Error - A local failure while inferring a
TypedResidual.
Functions§
- additive
- Add or subtract two typed expressions.
- divergence
- Type a physical-space divergence.
- divide
- Divide by one typed scalar expression.
- gradient
- Type a physical-space gradient.
- isotropic_
lift - Type an isotropic lift; the tensor extent comes only from the volume support.
- multiply
- Multiply two typed expressions using scalar-times-tensor v0 semantics.
- normal
- Type a normal contraction: parent-outward on a boundary, or along the declared common normal on a physical interface.
- power
- Raise one scalar expression to an integer power.
- residual
- Check one residual root against its Relation scope.
- symmetric_
part - Type the symmetric part of a square Cartesian tensor.
- time_
derivative - Divide a dimension by the time power of a Field derivative’s order.
- trace
- Type a boundary trace.
- unary_
math - Type one supported unary mathematical application.