Back to module page · Back to alphabetical overview
Signature¶
ParticleIBMInfo()
Summary¶
Side-car information produced by construct_ibm_particles.
Documentation¶
Attributes¶
owner(ndarray of int) Per spatial cell, index of the owning particle (deepest level function) or-1for fluid. Shaped like the spatial grid.crossing_particle(ndarray of int, shape (n_crossings,)) Owning particle of the solid (in) side of each crossing.contact(ndarray of bool, shape (n_crossings,)) True for contact crossings (solid–solid faces between two particles under the"no_flux"policy). For these,crossing_particleis thein-side particle andcontact_partnertheout-side one.contact_partner(ndarray of int, shape (n_crossings,)) Theout-side particle of a contact crossing,-1elsewhere.normals(ndarray, shape (n_crossings, ndim)) Exact outward (solid→fluid) unit normals from the owning particle — pass toconstruct_ibm_normal_derivative(..., normals=...). For contact crossings: thein-side particle’s outward normal.pseudo_sdf(ndarray) Sign-correct union level field on the spatial grid (positive filler far from every particle) for region classification in the reconstruction.segmentation(Segmentation) Per-particle labels (owner + 1) — valid even at exact contact, wherepymrm.segment_domainwould merge the bodies.
Source¶
class ParticleIBMInfo:
"""Side-car information produced by :func:`construct_ibm_particles`.
Attributes
----------
owner : ndarray of int
Per spatial cell, index of the owning particle (deepest level
function) or ``-1`` for fluid. Shaped like the spatial grid.
crossing_particle : ndarray of int, shape (n_crossings,)
Owning particle of the solid (``in``) side of each crossing.
contact : ndarray of bool, shape (n_crossings,)
True for contact crossings (solid–solid faces between two particles
under the ``"no_flux"`` policy). For these,
``crossing_particle`` is the ``in``-side particle and
``contact_partner`` the ``out``-side one.
contact_partner : ndarray of int, shape (n_crossings,)
The ``out``-side particle of a contact crossing, ``-1`` elsewhere.
normals : ndarray, shape (n_crossings, ndim)
Exact outward (solid→fluid) unit normals from the owning particle —
pass to ``construct_ibm_normal_derivative(..., normals=...)``. For
contact crossings: the ``in``-side particle's outward normal.
pseudo_sdf : ndarray
Sign-correct union level field on the spatial grid (positive filler
far from every particle) for region classification in the
reconstruction.
segmentation : Segmentation
Per-particle labels (``owner + 1``) — valid even at exact contact,
where :func:`pymrm.segment_domain` would merge the bodies.
"""
owner: np.ndarray
crossing_particle: np.ndarray
contact: np.ndarray
contact_partner: np.ndarray
normals: np.ndarray
pseudo_sdf: np.ndarray
segmentation: Segmentation