Skip to main content

triangle_geometric_coupling

Function triangle_geometric_coupling 

Source
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,
) -> f64
Expand 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.