core 1.5.0
Shared MPI block decomposition, asynchronous ghost-layer exchange, SDF geometry, load balancing (header-only C++20)
Loading...
Searching...
No Matches
peclet::core::geom::Instance< Real > Struct Template Reference

One placed copy of a shape tree (contract 7). More...

#include <scene.hpp>

Public Attributes

int shapeRoot = 0
 index of the root ShapeNode of this instance's tree
 
int materialId = -1
 consumer-defined; -1 = unset
 
Transform< Real > transform {}
 
Vec3< Real > linVel {0, 0, 0}
 
Vec3< Real > angVel {0, 0, 0}
 
Vec3< Real > center {0, 0, 0}
 reference point of the rotation, in world coordinates
 
bool centerPinned
 true: center is an explicit world point (the origin included); false: the centre follows the body (consumers use the translation)
 

Detailed Description

template<class Real>
struct peclet::core::geom::Instance< Real >

One placed copy of a shape tree (contract 7).

This is what a DEM particle, a stirrer, a drum or a static container all reduce to, which is why resolved CFD-DEM needs no new representation: dem's per-particle (pos, quat, scale, shapeId) maps onto {transform, shapeRoot} directly.

The rigid-body velocity field v(x) = linVel + angVel x (x - center) generalises dem's WallSdf surface velocity to EVERY object; Layer 3's moving-wall BC and Layer 4's resolved coupling both read it. A static instance simply leaves linVel/angVel zero.

Definition at line 199 of file scene.hpp.

Member Data Documentation

◆ shapeRoot

template<class Real >
int peclet::core::geom::Instance< Real >::shapeRoot = 0

index of the root ShapeNode of this instance's tree

Definition at line 200 of file scene.hpp.

Referenced by peclet::core::geom::decodeInstance(), and peclet::core::geom::encodeInstance().

◆ materialId

template<class Real >
int peclet::core::geom::Instance< Real >::materialId = -1

consumer-defined; -1 = unset

Definition at line 201 of file scene.hpp.

Referenced by peclet::core::geom::decodeInstance(), and peclet::core::geom::encodeInstance().

◆ transform

◆ linVel

template<class Real >
Vec3<Real> peclet::core::geom::Instance< Real >::linVel {0, 0, 0}

◆ angVel

template<class Real >
Vec3<Real> peclet::core::geom::Instance< Real >::angVel {0, 0, 0}

◆ center

template<class Real >
Vec3<Real> peclet::core::geom::Instance< Real >::center {0, 0, 0}

reference point of the rotation, in world coordinates

Definition at line 205 of file scene.hpp.

Referenced by peclet::core::geom::decodeInstance(), and peclet::core::geom::encodeInstance().

◆ centerPinned

template<class Real >
bool peclet::core::geom::Instance< Real >::centerPinned
Initial value:
=
false

true: center is an explicit world point (the origin included); false: the centre follows the body (consumers use the translation)

Definition at line 206 of file scene.hpp.

Referenced by peclet::core::geom::decodeInstance(), peclet::core::geom::encodeInstance(), and peclet::core::geom::instanceCentre().


The documentation for this struct was generated from the following file: