9 template <
typename Particle>
12 template <
typename Particle>
15 template <
typename Particle>
28 template <
typename Particle>
40 template <
typename Particle>
52 template <
typename Particle>
67 template <
typename Particle>
69 return localParticle.getParallelState() == Particle::ParallelState::Local;
86 template <
typename Particle>
89 (localParticle.getMoveState() == Particle::MoveState::NotMovedYet)
137 template <
typename Particle>
141 return &localParticle != &activeParticle
142 and not localParticle.getCellHasUpdatedParticle()
143 and marker.isContained(
144 localParticle.getX(),
147 and localParticle.getParallelState() == Particle::ParallelState::Local;
151 template <
typename Particle>
155 return &localParticle != &activeParticle
156 and not localParticle.getCellHasUpdatedParticle()
157 and marker.isContained(
158 localParticle.getX(),
161 and localParticle.getParallelState() == Particle::ParallelState::Local;
165 template <
typename Particle>
170 localParticleIsContainedInCell,
172 localParticle.getX(),
175 marker.toString(), localParticle.toString()
178 return not localParticle.getCellHasUpdatedParticle()
179 and localParticleIsContainedInCell
180 and localParticle.getParallelState() == Particle::ParallelState::Local;
196 template <
typename Particle>
#define assertionEquals2(lhs, rhs, a, b)
bool localParticleCanBeUpdatedInCellKernelFromAnyOtherParticle(const peano4::datamanagement::CellMarker &marker, const Particle &localParticle, const Particle &activeParticle)
Can we do work on this particle during a cell kernel sweep stage?
bool localParticleCanBeUpdatedInVertexKernel(const peano4::datamanagement::VertexMarker &marker, const Particle &localParticle)
Can we do work on this particle during a vertex kernel sweep stage?
std::function< bool(const peano4::datamanagement::CellMarker &marker, const bool &localParticleIsContainedInCell, const Particle &localParticle)> UpdateParticleAssignedToCellPredicate
std::function< bool(const peano4::datamanagement::VertexMarker &marker, const Particle &localParticle)> UpdateParticleAssignedToVertexPredicate
bool alwaysUpdateParticlePairs(const peano4::datamanagement::CellMarker &marker, const Particle &localParticle, const Particle &activeParticle)
Degenerated update in cell predicate.
bool particleIsLocal(const peano4::datamanagement::VertexMarker &marker, const Particle &localParticle)
Is a particle local.
bool alwaysUpdateInCellKernel(const peano4::datamanagement::CellMarker &marker, const bool &localParticleIsContainedInCell, const Particle &localParticle)
Degenerated update in cell predicate.
bool alwaysUpdateInVertexKernel(const peano4::datamanagement::VertexMarker &marker, const Particle &localParticle)
Degenerated predicate which always allows for an update.
bool localParticleCanBeUpdatedAndMovedInVertexKernel(const peano4::datamanagement::VertexMarker &marker, const Particle &localParticle)
Can we move (drift) this particle?
std::function< bool(const peano4::datamanagement::CellMarker &marker, const Particle &localParticle, const Particle &activeParticle)> UpdateParticlePairWithinCellPredicate
bool localParticleCanBeUpdatedInCellKernelFromAnyOtherParticleWithinIterationRange(const peano4::datamanagement::CellMarker &marker, const Particle &localParticle, const Particle &activeParticle)
bool localParticleCanBeUpdatedInCellKernel(const peano4::datamanagement::CellMarker &marker, const bool &localParticleIsContainedInCell, const Particle &localParticle)
This file is part of the SWIFT 2 project.
constexpr double NUMERICAL_ZERO_DIFFERENCE
double relativeGrabOwnershipSpatialSortingTolerance(const ::peano4::datamanagement::VertexMarker &marker)
Vertex marker to provide information about selected vertex.