Peano
Loading...
Searching...
No Matches
ParticleUpdatePredicates.h File Reference
Include dependency graph for ParticleUpdatePredicates.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  exaparty
 This file is part of the ExaParty project.
 
namespace  exaparty::kernels
 

Typedefs

template<typename Particle >
using exaparty::kernels::UpdateParticlePairWithinCellPredicate = std::function< bool(const peano4::datamanagement::CellMarker &marker, const Particle &localParticle, const Particle &activeParticle)>
 
template<typename Particle >
using exaparty::kernels::UpdateParticleAssignedToCellPredicate = std::function< bool(const peano4::datamanagement::CellMarker &marker, const bool &localParticleIsContainedInCell, const Particle &localParticle)>
 
template<typename Particle >
using exaparty::kernels::UpdateParticleAssignedToVertexPredicate = std::function< bool(const peano4::datamanagement::VertexMarker &marker, const Particle &localParticle)>
 

Functions

template<typename Particle >
bool exaparty::kernels::alwaysUpdateInVertexKernel (const peano4::datamanagement::VertexMarker &marker, const Particle &localParticle)
 Degenerated predicate which always allows for an update.
 
template<typename Particle >
bool exaparty::kernels::alwaysUpdateInCellKernel (const peano4::datamanagement::CellMarker &marker, const bool &localParticleIsContainedInCell, const Particle &localParticle)
 Degenerated update in cell predicate.
 
template<typename ParticleA , typename ParticleB = ParticleA>
bool exaparty::kernels::alwaysUpdateParticlePairs (const peano4::datamanagement::CellMarker &marker, const ParticleA &localParticle, const ParticleB &activeParticle)
 Degenerated update in cell predicate.
 
template<typename Particle >
bool exaparty::kernels::particleIsLocal (const peano4::datamanagement::VertexMarker &marker, const Particle &localParticle)
 Is a particle local.
 
template<typename Particle >
bool exaparty::kernels::localParticleCanBeUpdatedAndMovedInVertexKernel (const peano4::datamanagement::VertexMarker &marker, const Particle &localParticle)
 Can we move (drift) this particle?
 
template<typename ParticleA , typename ParticleB = ParticleA>
bool exaparty::kernels::localParticleCanBeUpdatedInCellKernelFromAnyOtherParticle (const peano4::datamanagement::CellMarker &marker, const ParticleA &localParticle, const ParticleB &activeParticle)
 Can we do work on this particle during a cell kernel sweep stage?
 
template<typename ParticleA , typename ParticleB = ParticleA>
bool exaparty::kernels::updateFromAnyOtherParticle (const peano4::datamanagement::CellMarker &marker, const ParticleA &localParticle, const ParticleB &activeParticle)
 
template<typename ParticleA , typename ParticleB = ParticleA>
bool exaparty::kernels::localParticleCanBeUpdatedInCellKernelFromAnyOtherParticleWithinIterationRange (const peano4::datamanagement::CellMarker &marker, const ParticleA &localParticle, const ParticleB &activeParticle)
 
template<typename Particle >
bool exaparty::kernels::localParticleCanBeUpdatedInCellKernel (const peano4::datamanagement::CellMarker &marker, const bool &localParticleIsContainedInCell, const Particle &localParticle)
 
template<typename Particle >
bool exaparty::kernels::localParticleCanBeUpdatedInVertexKernel (const peano4::datamanagement::VertexMarker &marker, const Particle &localParticle)
 Can we do work on this particle during a vertex kernel sweep stage?