46#ifndef MUELU_BRICKAGGREGATIONFACTORY_DECL_HPP_
47#define MUELU_BRICKAGGREGATIONFACTORY_DECL_HPP_
51#include <Xpetra_Import_fwd.hpp>
52#include <Xpetra_ImportFactory_fwd.hpp>
53#include <Xpetra_Map_fwd.hpp>
54#include <Xpetra_MapFactory_fwd.hpp>
55#include <Xpetra_Matrix_fwd.hpp>
56#include <Xpetra_MultiVector_fwd.hpp>
57#include <Xpetra_MultiVectorFactory_fwd.hpp>
85#undef MUELU_BRICKAGGREGATIONFACTORY_SHORT
88 typedef Teuchos::ScalarTraits<Scalar>
STS;
99 if (STS::magnitude(x - y) < 1e-14)
101 return STS::real(x) < STS::real(y);
104 typedef std::map<Scalar,GlobalOrdinal,compare>
container;
138 void Setup(
const RCP<
const Teuchos::Comm<int> >& comm,
const RCP<Xpetra::MultiVector<
typename Teuchos::ScalarTraits<Scalar>::magnitudeType,LO,GO,NO> >& coords,
const RCP<const Map>& map)
const;
139 RCP<container>
Construct1DMap(
const RCP<
const Teuchos::Comm<int> >& comm,
const ArrayRCP<
const typename Teuchos::ScalarTraits<Scalar>::magnitudeType>& x)
const;
157 ArrayRCP<const typename Teuchos::ScalarTraits<Scalar>::magnitudeType>
x_,
y_,
z_;
168 std::map<GlobalOrdinal,GlobalOrdinal>
revMap_;
173#define MUELU_BRICKAGGREGATIONFACTORY_SHORT
MueLu::DefaultLocalOrdinal LocalOrdinal
MueLu::DefaultScalar Scalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
bool operator()(const Scalar &x, const Scalar &y) const
void Setup(const RCP< const Teuchos::Comm< int > > &comm, const RCP< Xpetra::MultiVector< typename Teuchos::ScalarTraits< Scalar >::magnitudeType, LO, GO, NO > > &coords, const RCP< const Map > &map) const
ArrayRCP< const typename Teuchos::ScalarTraits< Scalar >::magnitudeType > x_
GlobalOrdinal getRoot(LocalOrdinal LID) const
bool isDirichlet(LocalOrdinal LID) const
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
virtual ~BrickAggregationFactory()
Destructor.
std::map< GlobalOrdinal, GlobalOrdinal > revMap_
ArrayRCP< const typename Teuchos::ScalarTraits< Scalar >::magnitudeType > y_
ArrayRCP< const typename Teuchos::ScalarTraits< Scalar >::magnitudeType > z_
GlobalOrdinal getAggGID(LocalOrdinal LID) const
void DeclareInput(Level ¤tLevel) const
Input.
void Build(Level ¤tLevel) const
Build aggregates.
void BuildGraph(Level ¤tLevel, const RCP< Matrix > &A) const
Teuchos::ScalarTraits< Scalar > STS
void getAggIJK(LocalOrdinal LID, int &i, int &j, int &k) const
BrickAggregationFactory()
Constructor.
RCP< container > Construct1DMap(const RCP< const Teuchos::Comm< int > > &comm, const ArrayRCP< const typename Teuchos::ScalarTraits< Scalar >::magnitudeType > &x) const
bool isRoot(LocalOrdinal LID) const
void getIJK(LocalOrdinal LID, int &i, int &j, int &k) const
std::map< Scalar, GlobalOrdinal, compare > container
Class that holds all level-specific information.
Base class for factories that use one level (currentLevel).
Namespace for MueLu classes and methods.
KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar