41 namespace assignmentchecks {
63 const std::string& particleName,
70 const std::string& trace
97 const std::string& particleName,
100 const int particleID,
104 const std::string& trace
225 const std::string& particleName,
227 const int particleID,
232 const std::string& trace,
235 bool particleIsNew =
false,
236 bool reassignmentOnSameTreeDepthAllowed =
false
248 const std::string& particleName,
250 const int particleID,
255 const std::string& trace
266 const std::string& particleName,
268 const int particleID,
273 const std::string& trace
290 std::string result =
typeid(Particle).name();
291 std::size_t lastDigit = result.find_last_of(
"0123456789");
292 if (lastDigit != std::string::npos) {
293 result = result.substr(lastDigit + 1);
295 assertion2(result.size() > 1,
typeid(Particle).name(), result);
296 return result.size() > 1 ? result.substr(0, result.size() - 1) : result;
337 template <
typename ParticleContainer>
339 const ParticleContainer& container
367 template <
typename ParticleContainer>
369 const ParticleContainer& container,
370 const std::vector<ParticlePosition>& recordedPositions,
381#include "TracingAPI.cpph"
#define assertion2(expr, param0, param1)
void assignParticleToVertex(const std::string &particleName, const tarch::la::Vector< Dimensions, double > &particleX, const int particleID, bool isLocal, const tarch::la::Vector< Dimensions, double > &vertexX, const tarch::la::Vector< Dimensions, double > &vertexH, int treeId, const std::string &trace, const tarch::la::Vector< Dimensions, double > &prevVertexX, const tarch::la::Vector< Dimensions, double > &prevVertexH, bool particleIsNew=false, bool reassignmentOnSameTreeDepthAllowed=false)
Assign a particle to a vertex.
std::string sweepHistory()
Get the history of stored sweeps.
void detachParticleFromVertex(const std::string &particleName, const tarch::la::Vector< Dimensions, double > &particleX, const int particleID, bool isLocal, const tarch::la::Vector< Dimensions, double > &vertexX, const tarch::la::Vector< Dimensions, double > &vertexH, int treeId, const std::string &trace)
Remove particle from vertex.
void eliminateExistingParticles()
Eliminate existing particles, so only those that are "forgotten" remain.
void assignParticleToSieveSet(const std::string &particleName, const tarch::la::Vector< Dimensions, double > &particleX, const int particleID, bool isLocal, const tarch::la::Vector< Dimensions, double > &vertexX, const tarch::la::Vector< Dimensions, double > &vertexH, int treeId, const std::string &trace)
Assign a particle to a sieve set.
std::string pruneTypeName()
Find out particle name.
std::vector< ParticlePosition > recordParticlePositions(const ParticleContainer &container)
Record the current particle positions in a vector.
void ensureDatabaseIsEmpty()
Ensure that database is empty.
void moveParticle(const std::string &particleName, const tarch::la::Vector< Dimensions, double > &oldParticleX, const tarch::la::Vector< Dimensions, double > &newParticleX, const int particleID, const tarch::la::Vector< Dimensions, double > &vertexX, const tarch::la::Vector< Dimensions, double > &vertexH, int treeId, const std::string &trace)
Record the movement of a particle.
void eraseParticle(const std::string &particleName, const tarch::la::Vector< Dimensions, double > &particleX, const int particleID, bool isLocal, const tarch::la::Vector< Dimensions, double > &vertexX, const tarch::la::Vector< Dimensions, double > &vertexH, int treeId, const std::string &trace)
Log that a particle is erased.
void traceParticleMovements(const ParticleContainer &container, const std::vector< ParticlePosition > &recordedPositions, const tarch::la::Vector< Dimensions, double > &vertexX, const tarch::la::Vector< Dimensions, double > &vertexH, int spacetreeId)
Trace the particle movements.
void startMeshSweep(const std::string &meshSweepName)
Inform API that this is the end of a grid run-throuch.