pub struct AmiCoupling {
pub target_face: usize,
pub target_cell: usize,
pub target_patch: usize,
pub source_patch: usize,
pub local: usize,
pub weights: Vec<AmiWeight>,
}Expand description
One target seam face of a
PatchKind::CyclicAmi
patch pair, together with the weighted set of source cells it couples to.
Mirrors the coupled-interface contribution of Foam::cyclicAMIFvPatchField
whose patchNeighbourField() supplies the interpolated partner value
Σ_k w_k · φ(source_cell_k).
The couplings are appended to the LDU face addressing after the internal
faces and the CyclicCouplings: one LDU face
per AmiWeight, laid out in ami_couplings order (see
FvMesh::ami_ldu_start and
FvMesh::n_ami_faces).
Fields§
§target_face: usizeGlobal face index of this target seam face.
target_cell: usizeOwner cell of the target face — the “owner” side of every partial seam
face in weights.
target_patch: usizePatch index of the target half of the AMI pair.
source_patch: usizePatch index of the source half of the AMI pair.
local: usizeLocal face index of the target face within its patch
(target_face - patches[target_patch].start).
weights: Vec<AmiWeight>Weighted source contributions; per-target weights sum to ≈ 1.
Implementations§
Source§impl AmiCoupling
impl AmiCoupling
Sourcepub fn weight_sum(&self) -> f64
pub fn weight_sum(&self) -> f64
Sum of this target’s overlap weights. Equals 1 (to rounding) when the
target face is fully covered by source faces — the conservation check.