Peano
|
SoA Lexicographic Enumerator. More...
#include <SoALexicographicEnumerator.h>
Public Member Functions | |
constexpr GPUCallableInlineMethod | SoALexicographicEnumerator (int numberOfCells, int numberOfDoFsPerAxisInCell, int haloSize, int unknowns, int numberOfAuxiliaryVariables) |
GPUCallableInlineMethod int | operator() (int cellIndex, const tarch::la::Vector< Dimensions, int > &volumeIndex, int unknown) const InlineMethod |
Access an index. | |
GPUCallableInlineMethod int | size () const InlineMethod |
Returns the total size. | |
Data Fields | |
const int | _numberOfCells |
const int | _numberOfDoFsPerAxisInCell |
const int | _haloSize |
const int | _unknowns |
const int | _numberOfAuxiliaryVariables |
SoA Lexicographic Enumerator.
Enumerates the degrees of freedom assuming that they are
This native SoA enumerator uses SoA within the cells plus over cells: It first enumerates all Q[0] data from cell one, then all Q[0] from cell two, then all Q[0] from cell three, and so forth. After that, it continues with Q[1]. This means: The enumerator interleaves the individual cells.
Definition at line 39 of file SoALexicographicEnumerator.h.
|
constexpr |
Definition at line 40 of file SoALexicographicEnumerator.h.
GPUCallableInlineMethod int exahype2::enumerator::SoALexicographicEnumerator::operator() | ( | int | cellIndex, |
const tarch::la::Vector< Dimensions, int > & | volumeIndex, | ||
int | unknown ) const |
Access an index.
The index always refers to the interior of the cells. So you can use negative indices if you want.
Definition at line 53 of file SoALexicographicEnumerator.h.
References _haloSize, _numberOfCells, _numberOfDoFsPerAxisInCell, and exahype2::volumeIndex().
GPUCallableInlineMethod int exahype2::enumerator::SoALexicographicEnumerator::size | ( | ) | const |
Returns the total size.
Definition at line 74 of file SoALexicographicEnumerator.h.
References _haloSize, _numberOfAuxiliaryVariables, _numberOfCells, _numberOfDoFsPerAxisInCell, and _unknowns.
Referenced by peano4.visualisation.input.Patch.Patch::__repr__(), kernel_impl.Enumerator::fetch(), kernel_impl.Enumerator::lower(), and kernel_impl.Enumerator::upper().
const int exahype2::enumerator::SoALexicographicEnumerator::_haloSize |
Definition at line 85 of file SoALexicographicEnumerator.h.
Referenced by operator()(), and size().
const int exahype2::enumerator::SoALexicographicEnumerator::_numberOfAuxiliaryVariables |
Definition at line 87 of file SoALexicographicEnumerator.h.
Referenced by size().
const int exahype2::enumerator::SoALexicographicEnumerator::_numberOfCells |
Definition at line 83 of file SoALexicographicEnumerator.h.
Referenced by operator()(), and size().
const int exahype2::enumerator::SoALexicographicEnumerator::_numberOfDoFsPerAxisInCell |
Definition at line 84 of file SoALexicographicEnumerator.h.
Referenced by operator()(), and size().
const int exahype2::enumerator::SoALexicographicEnumerator::_unknowns |
Definition at line 86 of file SoALexicographicEnumerator.h.
Referenced by exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG::__str__(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences::__str__(), exahype2.solvers.aderdg.ADERDG.ADERDG::_init_dictionary_with_default_parameters(), exahype2.solvers.fv.FV.FV::_init_dictionary_with_default_parameters(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG::_init_dictionary_with_default_parameters(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences::_init_dictionary_with_default_parameters(), peano4.visualisation.output.Visualiser.PatchFileData::apply_renderer_to_data(), peano4.visualisation.output.Visualiser.PatchFileData::copy_data_from_parser_object(), api.solvers.CollocatedLowOrderDiscretisation.AssemblePetscMatrix::get_constructor_body(), size(), exahype2.solvers.aderdg.ADERDG.ADERDG::unknowns(), exahype2.solvers.fv.FV.FV::unknowns(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG::unknowns(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences::unknowns(), exahype2.solvers.fv.FV.FV::unknowns(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG::unknowns(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences::unknowns().