Peano
|
AoSoA Lexicographic Enumerator. More...
#include <AoSoALexicographicEnumerator.h>
Public Member Functions | |
constexpr GPUCallableInlineMethod | AoSoALexicographicEnumerator (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. | |
GPUCallableInlineMethod int | numberOfDofsPerCell () const InlineMethod |
Data Fields | |
const int | _numberOfCells |
const int | _numberOfDoFsPerAxisInCell |
const int | _haloSize |
const int | _unknowns |
const int | _numberOfAuxiliaryVariables |
AoSoA Lexicographic Enumerator.
Enumerates the degrees of freedom assuming that they are
This enumerator enumerates the patches one after the other (AoS). Within each patch, it then however switches to an SoA data layout. The enumeration thus is a hybrid between AoS and SoA. The last property in the enumeration above is the decisive difference to the SoALexicographicEnumerator.
Definition at line 38 of file AoSoALexicographicEnumerator.h.
|
constexpr |
Definition at line 39 of file AoSoALexicographicEnumerator.h.
GPUCallableInlineMethod int exahype2::enumerator::AoSoALexicographicEnumerator::numberOfDofsPerCell | ( | ) | const |
Definition at line 84 of file AoSoALexicographicEnumerator.h.
References _haloSize, and _numberOfDoFsPerAxisInCell.
GPUCallableInlineMethod int exahype2::enumerator::AoSoALexicographicEnumerator::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 AoSoALexicographicEnumerator.h.
References _haloSize, _numberOfAuxiliaryVariables, _numberOfCells, _numberOfDoFsPerAxisInCell, _unknowns, and exahype2::volumeIndex().
GPUCallableInlineMethod int exahype2::enumerator::AoSoALexicographicEnumerator::size | ( | ) | const |
Returns the total size.
Definition at line 75 of file AoSoALexicographicEnumerator.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::AoSoALexicographicEnumerator::_haloSize |
Definition at line 94 of file AoSoALexicographicEnumerator.h.
Referenced by numberOfDofsPerCell(), operator()(), and size().
const int exahype2::enumerator::AoSoALexicographicEnumerator::_numberOfAuxiliaryVariables |
Definition at line 96 of file AoSoALexicographicEnumerator.h.
Referenced by operator()(), and size().
const int exahype2::enumerator::AoSoALexicographicEnumerator::_numberOfCells |
Definition at line 92 of file AoSoALexicographicEnumerator.h.
Referenced by operator()(), and size().
const int exahype2::enumerator::AoSoALexicographicEnumerator::_numberOfDoFsPerAxisInCell |
Definition at line 93 of file AoSoALexicographicEnumerator.h.
Referenced by numberOfDofsPerCell(), operator()(), and size().
const int exahype2::enumerator::AoSoALexicographicEnumerator::_unknowns |
Definition at line 95 of file AoSoALexicographicEnumerator.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(), operator()(), 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().