pub fn triangle_geometric_coupling(
src0: [f64; 3],
src1: [f64; 3],
src2: [f64; 3],
tgt0: [f64; 3],
tgt1: [f64; 3],
tgt2: [f64; 3],
quad_kind: QuadratureKind,
) -> f64Expand description
Double-surface geometric coupling using the exact source-triangle potential and fixed D5 target integration at subdivision depth 2 for self and near pairs. Well-separated pairs use reciprocal nested quadrature; this keeps the exact source potential focused on interactions that need near-singular treatment.
Near and self evaluations are directed from the supplied source to target. Reversing a direct pair call can therefore change the approximation within the 0.25% validation tolerance established for the representative near-pair test suite. This is a validation bound, not a runtime error estimate. Mesh assembly remains exactly symmetric because each computed upper-triangular block is scattered with its transpose.
References:
- [8], Eqs. (5)-(9), (15), and (19)-(21), for the exact source-triangle potential and its limiting cases.
Args:
src0: Source triangle vertex 0 [x, y, z] (m).
src1: Source triangle vertex 1 [x, y, z] (m).
src2: Source triangle vertex 2 [x, y, z] (m).
tgt0: Target triangle vertex 0 [x, y, z] (m).
tgt1: Target triangle vertex 1 [x, y, z] (m).
tgt2: Target triangle vertex 2 [x, y, z] (m).
quad_kind: Quadrature rule for well-separated pairs; self and near pairs
always use fixed D5 integration (dimensionless).
Returns: Directed geometric coupling in cubic metres.