|
peclet.voro 1.0.4
Device-native moving-particle Voronoi dynamics
|
#include <simulation.hpp>
Public Types | |
| using | DView = Kokkos::View< Real *, peclet::core::MemSpace > |
Public Member Functions | |
| void | setSdf (const Sdf &s) |
| void | init (const DView &posFlat, const DView &vel, const DView &invMass, const std::array< Real, 3 > &L, Real pressEq) |
| void | setViscous (const DView &visc, const DView &bulkVisc) |
| Enable the viscous term (NavierStokes); per-particle viscosities (size N). | |
| void | step (int nSteps, Real dt) |
| Real | kineticEnergy (const DView &mass) const |
| Real | internalEnergy () const |
| const DView & | positions () const |
| const DView & | velocities () const |
| const DView & | force () const |
| const TessellationView< Real > & | view () const |
| int | numParticles () const |
| Real | time () const |
| void | setRepair (bool on) |
| bool | repair () const |
| void | setProfile (bool on) |
The cold build's timing / over-buffer report on stderr (buildTessellation's profile). | |
Sdf (rung A0): an SDF solid — the cells are clipped by it (wall facets carry kBoundaryFacet and the EOS pressure force's self term acts on them: the wall pushes back) on both the full-rebuild and the incremental-repair paths. Set it with setSdf() before init().
| using peclet::voro::physics::ExplicitEuler< Real, Sdf >::DView = Kokkos::View<Real*, peclet::core::MemSpace> |
|
inline |
|
inline |
| posFlat,vel | 3*N device arrays (x-fastest per particle), pos in [0,L). |
| invMass | 1/m per particle (N). |
| pressEq | EOS constant. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
The cold build's timing / over-buffer report on stderr (buildTessellation's profile).
|
inline |
Opt-in (E1 scaffolding, default off): use the incremental moving-point repair for the topology each step and reeval-publish the force geometry, instead of a full rebuild. Same physics contract; ~10× cheaper geometry per the repair benches. Set before init(). The physics wiring/tuning on top of this scaffolding is ongoing work.
|
inline |
|
inline |
Enable the viscous term (NavierStokes); per-particle viscosities (size N).
|
inline |
|
inline |
|
inline |
|
inline |