46 #ifndef MUELU_BLACKBOXPFACTORY_DECL_HPP
47 #define MUELU_BLACKBOXPFACTORY_DECL_HPP
49 #include <Teuchos_SerialDenseVector.hpp>
51 #include <Xpetra_MultiVector.hpp>
52 #include <Xpetra_Matrix_fwd.hpp>
55 #include "MueLu_PFactory.hpp"
62 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
121 #undef MUELU_BLACKBOXPFACTORY_SHORT
176 void GetGeometricData(RCP<Xpetra::MultiVector<
typename Teuchos::ScalarTraits<Scalar>::magnitudeType,LO,GO,NO> >& coordinates,
177 const Array<LO> coarseRate,
const Array<GO> gFineNodesPerDir,
178 const Array<LO> lFineNodesPerDir,
const LO BlkSize, Array<GO>& gIndices,
179 Array<LO>& myOffset, Array<bool>& ghostInterface, Array<LO>& endRate,
180 Array<GO>& gCoarseNodesPerDir, Array<LO>& lCoarseNodesPerDir,
181 Array<LO>& glCoarseNodesPerDir, Array<GO>& ghostGIDs,
182 Array<GO>& coarseNodesGIDs, Array<GO>& colGIDs, GO& gNumCoarseNodes,
183 LO& lNumCoarseNodes, ArrayRCP<Array<
typename Teuchos::ScalarTraits<Scalar>::magnitudeType> > coarseNodes,
184 Array<int>& boundaryFlags, RCP<NodesIDs> ghostedCoarseNodes)
const;
187 const Array<LO> endRate,
const LO BlkSize,
const Array<LO> elemInds,
188 const Array<LO> lCoarseElementsPerDir,
189 const LO numDimensions,
const Array<LO> lFineNodesPerDir,
190 const Array<GO> gFineNodesPerDir,
const Array<GO> gIndices,
191 const Array<LO> lCoarseNodesPerDir,
const Array<bool> ghostInterface,
192 const Array<int> elementFlags,
const std::string stencilType,
193 const std::string blockStrategy,
const Array<LO> elementNodesPerDir,
194 const LO numNodesInElement,
const Array<GO> colGIDs,
195 Teuchos::SerialDenseMatrix<LO,SC>& Pi,
196 Teuchos::SerialDenseMatrix<LO,SC>& Pf,
197 Teuchos::SerialDenseMatrix<LO,SC>& Pe,
198 Array<LO>& dofType, Array<LO>& lDofInd)
const;
200 void CollapseStencil(
const int type,
const int orientation,
const int collapseFlags[3],
201 Array<SC>& stencil)
const ;
203 void FormatStencil(
const LO BlkSize,
const Array<bool> ghostInterface,
const LO ie,
204 const LO je,
const LO ke,
const ArrayView<const SC> rowValues,
205 const Array<LO> elementNodesPerDir,
const int collapseFlags[3],
206 const std::string stencilType, Array<SC>& stencil)
const;
208 void GetNodeInfo(
const LO ie,
const LO je,
const LO ke,
const Array<LO> elementNodesPerDir,
209 int* type, LO& ind,
int* orientation)
const;
212 const typename Teuchos::Array<LocalOrdinal>::iterator& first1,
213 const typename Teuchos::Array<LocalOrdinal>::iterator& last1,
214 const typename Teuchos::Array<LocalOrdinal>::iterator& first2,
215 const typename Teuchos::Array<LocalOrdinal>::iterator& last2)
const;
221 #define MUELU_BLACKBOXPFACTORY_SHORT
222 #endif // MUELU_BLACKBOXPFACTORY_DECL_HPP