MueLu Version of the Day
Loading...
Searching...
No Matches
MueLu_LocalPermutationStrategy_decl.hpp
Go to the documentation of this file.
1/*
2 * MueLu_LocalPermutationStrategy_decl.hpp
3 *
4 * Created on: Feb 19, 2013
5 * Author: tobias
6 */
7
8#ifndef MUELU_LOCALPERMUTATIONSTRATEGY_DECL_HPP_
9#define MUELU_LOCALPERMUTATIONSTRATEGY_DECL_HPP_
10
11#include <Xpetra_Matrix_fwd.hpp>
12#include <Xpetra_Vector_fwd.hpp>
13#include <Xpetra_VectorFactory_fwd.hpp>
14#include <Xpetra_CrsMatrixWrap_fwd.hpp>
15
16#include "MueLu_ConfigDefs.hpp"
17#include "MueLu_Level.hpp"
18#include "MueLu_BaseClass.hpp"
19
20namespace MueLu {
21
23
27
28 template <class Scalar = DefaultScalar,
31 class Node = DefaultNode>
33#undef MUELU_LOCALPERMUTATIONSTRATEGY_SHORT
35 public:
36
41
43
56 void BuildPermutation(const Teuchos::RCP<Matrix> & A, const Teuchos::RCP<const Map> permRowMap, Level & currentLevel, const FactoryBase* genFactory) const;
57
58
59
60 private:
61
62 void BuildPermutations(size_t nDofsPerNode) const;
63
64 mutable std::vector<std::vector<int> > result_permvecs_;
65 mutable size_t permWidth_;
66
67 GlobalOrdinal getGlobalDofId(const Teuchos::RCP<Matrix> & A, LocalOrdinal localNodeId, LocalOrdinal localDof) const;
68 GlobalOrdinal globalDofId2globalNodeId( const Teuchos::RCP<Matrix> & A, GlobalOrdinal grid ) const;
69 };
70
71} // namespace MueLu
72
73#define MUELU_LOCALPERMUTATIONSTRATEGY_SHORT
74
75#endif /* MUELU_LOCALPERMUTATIONSTRATEGY_DECL_HPP_ */
MueLu::DefaultLocalOrdinal LocalOrdinal
MueLu::DefaultScalar Scalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
MueLu::DefaultNode Node
Base class for MueLu classes.
Base class for factories (e.g., R, P, and A_coarse).
Class that holds all level-specific information.
GlobalOrdinal globalDofId2globalNodeId(const Teuchos::RCP< Matrix > &A, GlobalOrdinal grid) const
void BuildPermutation(const Teuchos::RCP< Matrix > &A, const Teuchos::RCP< const Map > permRowMap, Level &currentLevel, const FactoryBase *genFactory) const
build permutation operators
GlobalOrdinal getGlobalDofId(const Teuchos::RCP< Matrix > &A, LocalOrdinal localNodeId, LocalOrdinal localDof) const
Namespace for MueLu classes and methods.
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar