peclet.voro 1.0.0
Device-native moving-particle Voronoi dynamics
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
peclet::voro::physics::ExplicitEuler< Real > Class Template Reference

#include <simulation.hpp>

Public Types

using DView = Kokkos::View< Real *, peclet::core::MemSpace >
 

Public Member Functions

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 DViewpositions () const
 
const DViewvelocities () const
 
const DViewforce () const
 
const TessellationView< Real > & view () const
 
int numParticles () const
 
Real time () const
 
void setRepair (bool on)
 
bool repair () const
 

Member Typedef Documentation

◆ DView

template<class Real >
using peclet::voro::physics::ExplicitEuler< Real >::DView = Kokkos::View<Real*, peclet::core::MemSpace>

Member Function Documentation

◆ force()

template<class Real >
const DView & peclet::voro::physics::ExplicitEuler< Real >::force ( ) const
inline

◆ init()

template<class Real >
void peclet::voro::physics::ExplicitEuler< Real >::init ( const DView posFlat,
const DView vel,
const DView invMass,
const std::array< Real, 3 > &  L,
Real  pressEq 
)
inline
Parameters
posFlat,vel3*N device arrays (x-fastest per particle), pos in [0,L).
invMass1/m per particle (N).
pressEqEOS constant.

◆ internalEnergy()

template<class Real >
Real peclet::voro::physics::ExplicitEuler< Real >::internalEnergy ( ) const
inline

◆ kineticEnergy()

template<class Real >
Real peclet::voro::physics::ExplicitEuler< Real >::kineticEnergy ( const DView mass) const
inline

◆ numParticles()

template<class Real >
int peclet::voro::physics::ExplicitEuler< Real >::numParticles ( ) const
inline

◆ positions()

template<class Real >
const DView & peclet::voro::physics::ExplicitEuler< Real >::positions ( ) const
inline

◆ repair()

template<class Real >
bool peclet::voro::physics::ExplicitEuler< Real >::repair ( ) const
inline

◆ setRepair()

template<class Real >
void peclet::voro::physics::ExplicitEuler< Real >::setRepair ( bool  on)
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.

◆ setViscous()

template<class Real >
void peclet::voro::physics::ExplicitEuler< Real >::setViscous ( const DView visc,
const DView bulkVisc 
)
inline

Enable the viscous term (NavierStokes); per-particle viscosities (size N).

◆ step()

template<class Real >
void peclet::voro::physics::ExplicitEuler< Real >::step ( int  nSteps,
Real  dt 
)
inline

◆ time()

template<class Real >
Real peclet::voro::physics::ExplicitEuler< Real >::time ( ) const
inline

◆ velocities()

template<class Real >
const DView & peclet::voro::physics::ExplicitEuler< Real >::velocities ( ) const
inline

◆ view()

template<class Real >
const TessellationView< Real > & peclet::voro::physics::ExplicitEuler< Real >::view ( ) const
inline

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