41 template <
int SourceIndex,
int DestIndex,
typename Particle>
46 const double* __restrict__ Q,
85 template <
typename Particle>
90 const double* __restrict__ Q,
94 template <
int SourceIndex,
int DestIndex,
typename Particle>
99 const double* __restrict__ Q,
108 template <
typename Particle>
112 int unknownsPerVoxel,
113 const double* __restrict__ Q,
155 template <
typename Particle>
159 int unknownsPerVoxel,
160 const double* __restrict__ Q,
182 template <
int SourceIndex,
int... SourceIndices,
typename Particle>
186 int unknownsPerVoxel,
187 const double* __restrict__ Q,
191 template <
int SourceIndex,
int... SourceIndices,
typename Particle>
195 int unknownsPerVoxel,
196 const double* __restrict__ Q,
255 int unknownsPerVoxel,
256 const double* __restrict__ Q,
269 int unknownsPerVoxel,
270 const double* __restrict__ Q,
281 template <
typename Particle,
int SourceIndex,
int... SourceIndices>
285 int unknownsPerVoxel,
286 const double* __restrict__ Q,
291 template <
typename Particle,
int SourceIndex,
int... SourceIndices>
295 int unknownsPerVoxel,
296 const double* __restrict__ Q,
304 template <
typename Particle>
308 int unknownsPerVoxel,
309 const double* __restrict__ Q,
317 template <
typename Particle>
321 int unknownsPerVoxel,
322 const double* __restrict__ Q,
330#include "Tracer.cpph"
double projectValueOntoParticle_piecewiseConstant(const peano4::datamanagement::CellMarker &marker, int voxelsPerAxis, int unknownsPerVoxel, const double *__restrict__ Q, const tarch::la::Vector< Dimensions, double > &particleX, int unknown)
Project one quantity from the patch data onto the particle.
void projectValuesOntoParticle_piecewiseLinear(const peano4::datamanagement::CellMarker &marker, int voxelsPerAxis, int unknownsPerVoxel, const double *__restrict__ Q, Particle &particle, int destinationIndex)
double projectValueOntoParticle_piecewiseLinear(const peano4::datamanagement::CellMarker &marker, int voxelsPerAxis, int unknownsPerVoxel, const double *__restrict__ Q, const tarch::la::Vector< Dimensions, double > &particleX, int unknown)
tarch::la::Vector< Dimensions, int > mapParticleOntoVoxel(const peano4::datamanagement::CellMarker &marker, int voxelsPerAxis, const tarch::la::Vector< Dimensions, double > &particleX)
Assume that we have a particle suspended in a cell.
tarch::la::Vector< Dimensions, int > mapBiasedParticleOntoVoxel(const peano4::datamanagement::CellMarker &marker, int voxelsPerAxis, const tarch::la::Vector< Dimensions, double > &particleX)
Similar to mapParticleOntoVoxel() but this time, we always take the biased voxel to the left.
void projectValuesOntoParticle_piecewiseConstant(const peano4::datamanagement::CellMarker &marker, int voxelsPerAxis, int unknownsPerVoxel, const double *__restrict__ Q, Particle &particle, int destinationIndex)
Actual realisation of the projection routine.
void projectAllValuesOntoParticle_piecewiseLinear(const peano4::datamanagement::CellMarker &marker, int voxelsPerAxis, int unknownsPerVoxel, const double *__restrict__ Q, Particle &particle)
Project all values from solution onto particle and use a piecewise linear interpolation.
void projectValuesOntoParticle_piecewiseConstant(const peano4::datamanagement::CellMarker &marker, int voxelsPerAxis, int unknownsPerVoxel, const double *__restrict__ Q, Particle &particle)
Map multiple variables from input field onto particle.
void projectValueOntoParticle_piecewiseConstant(const peano4::datamanagement::CellMarker &marker, int voxelsPerAxis, int unknownsPerVoxel, const double *__restrict__ Q, Particle &particle)
Project one quantity from the patch data onto the particle.
void projectAllValuesOntoParticle_piecewiseConstant(const peano4::datamanagement::CellMarker &marker, int voxelsPerAxis, int unknownsPerVoxel, const double *__restrict__ Q, Particle &particle)
Project all values from solution onto particle.
void projectAllValuesOntoParticle_piecewiseLinear_explicit_Euler(const peano4::datamanagement::CellMarker &marker, int voxelsPerAxis, int unknownsPerVoxel, const double *__restrict__ Q, double timeStepSize, tarch::la::Vector< Dimensions, int > indices, tarch::la::Vector< Dimensions, double > factors, Particle &particle)
Project all values from solution onto particle and use a piecewise linear interpolation and advance p...
void projectValueOntoParticle_piecewiseLinear(const peano4::datamanagement::CellMarker &marker, int voxelsPerAxis, int unknownsPerVoxel, const double *__restrict__ Q, Particle &particle)
void projectValuesOntoParticle_piecewiseLinear(const peano4::datamanagement::CellMarker &marker, int voxelsPerAxis, int unknownsPerVoxel, const double *__restrict__ Q, Particle &particle)
This file is part of the ExaHyPE 2 project within Peano 4.