|
MueLu
Version of the Day
|
Container class for mesh layout and indices calculation. More...
#include <MueLu_IndexManager_kokkos_decl.hpp>
Public Types | |
| using | execution_space = typename Node::execution_space |
| using | memory_space = typename Node::memory_space |
| using | device_type = Kokkos::Device< execution_space, memory_space > |
| using | intTupleView = typename Kokkos::View< int[3], device_type > |
| using | LOTupleView = typename Kokkos::View< LO[3], device_type > |
Public Member Functions | |
| IndexManager_kokkos ()=default | |
| Default constructor, return empty object. More... | |
| IndexManager_kokkos (const int NumDimensions, const int interpolationOrder, const int MyRank, const ArrayView< const LO > LFineNodesPerDir, const ArrayView< const int > CoarseRate) | |
| Constructs for uncoupled meshes. More... | |
| virtual | ~IndexManager_kokkos () |
| void | setupIM (const int NumDimensions, const int interpolationOrder, const ArrayView< const int > coarseRate, const ArrayView< const LO > LFineNodesPerDir) |
| Common setup pattern used for all the different types of undelying mesh. More... | |
| void | computeMeshParameters () |
| int | getNumDimensions () const |
| int | getInterpolationOrder () const |
| LO | getNumLocalFineNodes () const |
| LO | getNumCoarseNodes () const |
| KOKKOS_INLINE_FUNCTION intTupleView | getCoarseningRates () const |
| KOKKOS_INLINE_FUNCTION intTupleView | getCoarseningEndRates () const |
| KOKKOS_INLINE_FUNCTION LOTupleView | getLocalFineNodesPerDir () const |
| KOKKOS_INLINE_FUNCTION LOTupleView | getCoarseNodesPerDir () const |
| Array< LO > | getCoarseNodesPerDirArray () const |
| KOKKOS_INLINE_FUNCTION void | getFineLID2FineTuple (const LO myLID, LO(&tuple)[3]) const |
| KOKKOS_INLINE_FUNCTION void | getFineTuple2FineLID (const LO tuple[3], LO &myLID) const |
| KOKKOS_INLINE_FUNCTION void | getCoarseLID2CoarseTuple (const LO myLID, LO(&tuple)[3]) const |
| KOKKOS_INLINE_FUNCTION void | getCoarseTuple2CoarseLID (const LO i, const LO j, const LO k, LO &myLID) const |
Public Member Functions inherited from MueLu::BaseClass | |
| virtual | ~BaseClass () |
| Destructor. More... | |
Public Member Functions inherited from MueLu::VerboseObject | |
| VerbLevel | GetVerbLevel () const |
| Get the verbosity level. More... | |
| void | SetVerbLevel (const VerbLevel verbLevel) |
| Set the verbosity level of this object. More... | |
| int | GetProcRankVerbose () const |
| Get proc rank used for printing. Do not use this information for any other purpose. More... | |
| int | SetProcRankVerbose (int procRank) const |
| Set proc rank used for printing. More... | |
| bool | IsPrint (MsgType type, int thisProcRankOnly=-1) const |
| Find out whether we need to print out information for a specific message type. More... | |
| Teuchos::FancyOStream & | GetOStream (MsgType type, int thisProcRankOnly=0) const |
| Get an output stream for outputting the input message type. More... | |
| Teuchos::FancyOStream & | GetBlackHole () const |
| VerboseObject () | |
| virtual | ~VerboseObject () |
| Destructor. More... | |
Public Member Functions inherited from Teuchos::VerboseObject< VerboseObject > | |
| VerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null) | |
| virtual const VerboseObject & | setVerbLevel (const EVerbosityLevel verbLevel) const |
| virtual const VerboseObject & | setOverridingVerbLevel (const EVerbosityLevel verbLevel) const |
| virtual EVerbosityLevel | getVerbLevel () const |
| TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT RCP< const ParameterList > | getValidVerboseObjectSublist () |
| TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT void | setupVerboseObjectSublist (ParameterList *paramList) |
| TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT void | readVerboseObjectSublist (ParameterList *paramList, RCP< FancyOStream > *oStream, EVerbosityLevel *verbLevel) |
| void | readVerboseObjectSublist (ParameterList *paramList, VerboseObject< ObjectType > *verboseObject) |
Public Member Functions inherited from Teuchos::VerboseObjectBase | |
| virtual | ~VerboseObjectBase () |
| VerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null) | |
| virtual const VerboseObjectBase & | setOStream (const RCP< FancyOStream > &oStream) const |
| virtual const VerboseObjectBase & | setOverridingOStream (const RCP< FancyOStream > &oStream) const |
| virtual VerboseObjectBase & | setLinePrefix (const std::string &linePrefix) |
| virtual RCP< FancyOStream > | getOStream () const |
| virtual RCP< FancyOStream > | getOverridingOStream () const |
| virtual std::string | getLinePrefix () const |
| virtual OSTab | getOSTab (const int tabs=1, const std::string &linePrefix="") const |
Public Member Functions inherited from MueLu::Describable | |
| virtual | ~Describable () |
| Destructor. More... | |
| virtual std::string | ShortClassName () const |
| Return the class name of the object, without template parameters and without namespace. More... | |
| virtual void | describe (Teuchos::FancyOStream &out_arg, const VerbLevel verbLevel=Default) const |
| virtual std::string | description () const |
| Return a simple one-line description of this object. More... | |
| void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const |
| Print the object with some verbosity level to an FancyOStream object. More... | |
Public Member Functions inherited from Teuchos::Describable | |
| void | describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const |
| LabeledObject () | |
| virtual | ~LabeledObject () |
| virtual void | setObjectLabel (const std::string &objectLabel) |
| virtual std::string | getObjectLabel () const |
| DescribableStreamManipulatorState | describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default) |
| std::ostream & | operator<< (std::ostream &os, const DescribableStreamManipulatorState &d) |
Private Attributes | |
| const int | meshLayout = UNCOUPLED |
| int | myRank = -1 |
| int | numDimensions |
| Number of spacial dimensions in the problem. More... | |
| int | interpolationOrder_ |
| Interpolation order used by grid transfer operators using these aggregates. More... | |
| intTupleView | coarseRate |
| coarsening rate in each direction More... | |
| intTupleView | endRate |
| adapted coarsening rate at the edge of the mesh in each direction. More... | |
| LO | lNumFineNodes |
| local number of nodes. More... | |
| LO | lNumFineNodes10 |
| local number of nodes per 0-1 slice. More... | |
| LOTupleView | lFineNodesPerDir |
| local number of nodes per direction. More... | |
| LO | numCoarseNodes |
| local number of nodes remaining after coarsening. More... | |
| LO | numCoarseNodes10 |
| local number of nodes per 0-1 slice remaining after coarsening. More... | |
| LOTupleView | coarseNodesPerDir |
| local number of nodes per direction remaing after coarsening. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from MueLu::VerboseObject | |
| static void | SetMueLuOStream (const Teuchos::RCP< Teuchos::FancyOStream > &mueluOStream) |
| static void | SetMueLuOFileStream (const std::string &filename) |
| static Teuchos::RCP < Teuchos::FancyOStream > | GetMueLuOStream () |
| static void | SetDefaultVerbLevel (const VerbLevel defaultVerbLevel) |
| Set the default (global) verbosity level. More... | |
| static VerbLevel | GetDefaultVerbLevel () |
| Get the default (global) verbosity level. More... | |
Static Public Member Functions inherited from Teuchos::VerboseObject< VerboseObject > | |
| static void | setDefaultVerbLevel (const EVerbosityLevel defaultVerbLevel) |
| static EVerbosityLevel | getDefaultVerbLevel () |
Static Public Member Functions inherited from Teuchos::VerboseObjectBase | |
| static void | setDefaultOStream (const RCP< FancyOStream > &defaultOStream) |
| static RCP< FancyOStream > | getDefaultOStream () |
Static Public Attributes inherited from Teuchos::Describable | |
| static const EVerbosityLevel | verbLevel_default |
Protected Member Functions inherited from Teuchos::VerboseObject< VerboseObject > | |
| void | initializeVerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null) |
Protected Member Functions inherited from Teuchos::VerboseObjectBase | |
| void | initializeVerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null) |
| virtual void | informUpdatedVerbosityState () const |
Container class for mesh layout and indices calculation.
Structure holding mesh parameters for structured mesh. Based on these parameters the IndexManager_kokkos computes indices in different index spaces and it also provides utilites for coarsening.
Definition at line 41 of file MueLu_IndexManager_kokkos_decl.hpp.
| using MueLu::IndexManager_kokkos< LocalOrdinal, GlobalOrdinal, Node >::execution_space = typename Node::execution_space |
Definition at line 46 of file MueLu_IndexManager_kokkos_decl.hpp.
| using MueLu::IndexManager_kokkos< LocalOrdinal, GlobalOrdinal, Node >::memory_space = typename Node::memory_space |
Definition at line 47 of file MueLu_IndexManager_kokkos_decl.hpp.
| using MueLu::IndexManager_kokkos< LocalOrdinal, GlobalOrdinal, Node >::device_type = Kokkos::Device<execution_space, memory_space> |
Definition at line 48 of file MueLu_IndexManager_kokkos_decl.hpp.
| using MueLu::IndexManager_kokkos< LocalOrdinal, GlobalOrdinal, Node >::intTupleView = typename Kokkos::View<int[3], device_type> |
Definition at line 49 of file MueLu_IndexManager_kokkos_decl.hpp.
| using MueLu::IndexManager_kokkos< LocalOrdinal, GlobalOrdinal, Node >::LOTupleView = typename Kokkos::View<LO[3], device_type> |
Definition at line 50 of file MueLu_IndexManager_kokkos_decl.hpp.
|
default |
Default constructor, return empty object.
| MueLu::IndexManager_kokkos< LocalOrdinal, GlobalOrdinal, Node >::IndexManager_kokkos | ( | const int | NumDimensions, |
| const int | interpolationOrder, | ||
| const int | MyRank, | ||
| const ArrayView< const LO > | LFineNodesPerDir, | ||
| const ArrayView< const int > | CoarseRate | ||
| ) |
Constructs for uncoupled meshes.
Definition at line 32 of file MueLu_IndexManager_kokkos_def.hpp.
|
inlinevirtual |
Definition at line 79 of file MueLu_IndexManager_kokkos_decl.hpp.
| void MueLu::IndexManager_kokkos< LocalOrdinal, GlobalOrdinal, Node >::setupIM | ( | const int | NumDimensions, |
| const int | interpolationOrder, | ||
| const ArrayView< const int > | coarseRate, | ||
| const ArrayView< const LO > | LFineNodesPerDir | ||
| ) |
Common setup pattern used for all the different types of undelying mesh.
Definition at line 62 of file MueLu_IndexManager_kokkos_def.hpp.
| void MueLu::IndexManager_kokkos< LocalOrdinal, GlobalOrdinal, Node >::computeMeshParameters | ( | ) |
Sets basic parameters used to compute indices on the mesh. This method requires you to have set this->coarseRate.
Definition at line 98 of file MueLu_IndexManager_kokkos_def.hpp.
|
inline |
Definition at line 91 of file MueLu_IndexManager_kokkos_decl.hpp.
|
inline |
Definition at line 93 of file MueLu_IndexManager_kokkos_decl.hpp.
|
inline |
Definition at line 95 of file MueLu_IndexManager_kokkos_decl.hpp.
|
inline |
Definition at line 97 of file MueLu_IndexManager_kokkos_decl.hpp.
|
inline |
Definition at line 100 of file MueLu_IndexManager_kokkos_decl.hpp.
|
inline |
Definition at line 103 of file MueLu_IndexManager_kokkos_decl.hpp.
|
inline |
Definition at line 106 of file MueLu_IndexManager_kokkos_decl.hpp.
|
inline |
Definition at line 109 of file MueLu_IndexManager_kokkos_decl.hpp.
| Array< LocalOrdinal > MueLu::IndexManager_kokkos< LocalOrdinal, GlobalOrdinal, Node >::getCoarseNodesPerDirArray | ( | ) | const |
Definition at line 183 of file MueLu_IndexManager_kokkos_def.hpp.
|
inline |
Definition at line 114 of file MueLu_IndexManager_kokkos_decl.hpp.
|
inline |
Definition at line 123 of file MueLu_IndexManager_kokkos_decl.hpp.
|
inline |
Definition at line 128 of file MueLu_IndexManager_kokkos_decl.hpp.
|
inline |
Definition at line 137 of file MueLu_IndexManager_kokkos_decl.hpp.
|
private |
Definition at line 53 of file MueLu_IndexManager_kokkos_decl.hpp.
|
private |
Definition at line 54 of file MueLu_IndexManager_kokkos_decl.hpp.
|
private |
Number of spacial dimensions in the problem.
Definition at line 55 of file MueLu_IndexManager_kokkos_decl.hpp.
|
private |
Interpolation order used by grid transfer operators using these aggregates.
Definition at line 56 of file MueLu_IndexManager_kokkos_decl.hpp.
|
private |
coarsening rate in each direction
Definition at line 57 of file MueLu_IndexManager_kokkos_decl.hpp.
|
private |
adapted coarsening rate at the edge of the mesh in each direction.
Definition at line 58 of file MueLu_IndexManager_kokkos_decl.hpp.
|
private |
local number of nodes.
Definition at line 60 of file MueLu_IndexManager_kokkos_decl.hpp.
|
private |
local number of nodes per 0-1 slice.
Definition at line 61 of file MueLu_IndexManager_kokkos_decl.hpp.
|
private |
local number of nodes per direction.
Definition at line 62 of file MueLu_IndexManager_kokkos_decl.hpp.
|
private |
local number of nodes remaining after coarsening.
Definition at line 64 of file MueLu_IndexManager_kokkos_decl.hpp.
|
private |
local number of nodes per 0-1 slice remaining after coarsening.
Definition at line 65 of file MueLu_IndexManager_kokkos_decl.hpp.
|
private |
local number of nodes per direction remaing after coarsening.
Definition at line 66 of file MueLu_IndexManager_kokkos_decl.hpp.