Peano
Loading...
Searching...
No Matches
Tracer.h
Go to the documentation of this file.
1// This file is part of the ExaHyPE2 project. For conditions of distribution and
2// use, please see the copyright notice at www.peano-framework.org
3#pragma once
4
7
8namespace exahype2 {
9 namespace fv {
41 template <int SourceIndex, int DestIndex, typename Particle>
44 int voxelsPerAxis,
45 int unknownsPerVoxel,
46 const double* __restrict__ Q,
47 Particle& particle
48 );
49
85 template <typename Particle>
88 int voxelsPerAxis,
89 int unknownsPerVoxel,
90 const double* __restrict__ Q,
91 Particle& particle
92 );
93
94 template <int SourceIndex, int DestIndex, typename Particle>
97 int voxelsPerAxis,
98 int unknownsPerVoxel,
99 const double* __restrict__ Q,
100 Particle& particle
101 );
102
108 template <typename Particle>
111 int voxelsPerAxis,
112 int unknownsPerVoxel,
113 const double* __restrict__ Q,
114 Particle& particle
115 );
116
155 template <typename Particle>
158 int voxelsPerAxis,
159 int unknownsPerVoxel,
160 const double* __restrict__ Q,
161 double timeStepSize,
164 Particle& particle
165 );
166
182 template <int SourceIndex, int... SourceIndices, typename Particle>
185 int voxelsPerAxis,
186 int unknownsPerVoxel,
187 const double* __restrict__ Q,
188 Particle& particle
189 );
190
191 template <int SourceIndex, int... SourceIndices, typename Particle>
194 int voxelsPerAxis,
195 int unknownsPerVoxel,
196 const double* __restrict__ Q,
197 Particle& particle
198 );
199
200 namespace internal {
215 int voxelsPerAxis,
217 );
218
235 int voxelsPerAxis,
237 );
238
254 int voxelsPerAxis,
255 int unknownsPerVoxel,
256 const double* __restrict__ Q,
258 int unknown
259 );
260
268 int voxelsPerAxis,
269 int unknownsPerVoxel,
270 const double* __restrict__ Q,
272 int unknown
273 );
274
281 template <typename Particle, int SourceIndex, int... SourceIndices>
284 int voxelsPerAxis,
285 int unknownsPerVoxel,
286 const double* __restrict__ Q,
287 Particle& particle,
288 int destinationIndex
289 );
290
291 template <typename Particle, int SourceIndex, int... SourceIndices>
294 int voxelsPerAxis,
295 int unknownsPerVoxel,
296 const double* __restrict__ Q,
297 Particle& particle,
298 int destinationIndex
299 );
300
304 template <typename Particle>
307 int voxelsPerAxis,
308 int unknownsPerVoxel,
309 const double* __restrict__ Q,
310 Particle& particle,
311 int destinationIndex
312 );
313
317 template <typename Particle>
320 int voxelsPerAxis,
321 int unknownsPerVoxel,
322 const double* __restrict__ Q,
323 Particle& particle,
324 int destinationIndex
325 );
326 } // namespace internal
327 } // namespace fv
328} // namespace exahype2
329
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.
Definition __init__.py:1
Simple vector class.
Definition Vector.h:159