24 template <
typename Particle>
27 template <
typename Particle>
30 const Particle& localParticle
32 return ::exaparty::kernels::localParticleCanBeUpdatedInVertexKernel(
38 template <
typename Particle>
41 Particle& localParticle
55 template <
typename Particle>
58 template <
typename Particle>
61 const Particle& localParticle
63 return ::exaparty::kernels::localParticleCanBeUpdatedInVertexKernel(
69 template <
typename Particle>
72 Particle& localParticle
91 template <
typename Particle>
94 template <
typename Particle>
97 const Particle& localParticle
99 return ::exaparty::kernels::localParticleCanBeUpdatedInVertexKernel(
105 template <
typename Particle>
108 Particle& localParticle
206 template <
typename ParticleA,
typename ParticleB = ParticleA>
208 ParticleA& localParticle,
213 template <
typename Particle>
216 const bool& localParticleIsContainedInCell,
217 const Particle& localParticle
220 template <
typename ParticleA,
typename ParticleB = ParticleA>
223 const ParticleA& localParticle,
235 template <
typename ParticleA,
typename ParticleB = ParticleA>
238 ParticleA& localParticle,
250 template <
typename Particle>
253 const Particle& localParticle
255 return ::exaparty::kernels::localParticleCanBeUpdatedInVertexKernel(
262 template <
typename Particle>
265 Particle& localParticle
282 template <
typename Particle>
284 Particle* __restrict__ localParticle,
292#include "HydroForce.cpph"
void hydro_reset_acceleration(Particle &localParticle)
Reset acceleration fields of a particle.
bool forceKernelDistanceCheck(Particle *__restrict__ localParticle, const Particle *__restrict__ activeParticle)
Check distance between two particles.
void predict_hyrdro(Particle *particle)
Predict hydro terms (SWIFT) Relevant for inactive particles when using local-timestepping,...
bool forceKernelUpdateParticlePredicate(const peano4::datamanagement::CellMarker &marker, const bool &localParticleIsContainedInCell, const Particle &localParticle)
bool endHydroForceCalculationUpdateParticlePredicate(const peano4::datamanagement::VertexMarker &marker, const Particle &localParticle)
void __attribute__((always_inline)) force_kernel(ParticleA &localParticle
The actual force kernel, which interacts a local particle and an active particle, and updates the loc...
void predictHydro(const peano4::datamanagement::VertexMarker &marker, Particle &localParticle)
bool prepareHydroForceUpdateParticlePredicate(const peano4::datamanagement::VertexMarker &marker, const Particle &localParticle)
void resetAcceleration(const peano4::datamanagement::VertexMarker &marker, Particle &localParticle)
void endHydroForceCalculation(const peano4::datamanagement::VertexMarker &marker, Particle &localParticle)
void prepareHydroForce(const peano4::datamanagement::VertexMarker &marker, Particle &localParticle)
bool forceKernelEvaluatePairInteractionPredicate(const peano4::datamanagement::CellMarker &marker, const ParticleA &localParticle, const ParticleB &activeParticle)
bool predictHydroUpdateParticlePredicate(const peano4::datamanagement::VertexMarker &marker, const Particle &localParticle)
void hydro_prepare_force(Particle &localParticle)
Prepare a particle for the force calculation.
InlineMethod void forceKernel(const peano4::datamanagement::CellMarker &marker, ParticleA &localParticle, const ParticleB &activeParticle)
Generic force kernel implementation.
bool resetAccelerationUpdateParticlePredicate(const peano4::datamanagement::VertexMarker &marker, const Particle &localParticle)
void const ParticleB & activeParticle
void hydro_end_force(Particle &localParticle)
Finishes the force calculation.
This file is part of the ExaParty project.
Vertex marker to provide information about selected vertex.
#define InlineMethod
Generic identifier for inlined functions.