46 #ifndef MUELU_GENERALGEOMETRICPFACTORY_DECL_HPP
47 #define MUELU_GENERALGEOMETRICPFACTORY_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>
120 #undef MUELU_GENERALGEOMETRICPFACTORY_SHORT
205 RCP<const Map> fineCoordsMap, RCP<GeometricData> myGeometry,
206 RCP<NodesIDs> ghostedCoarseNodes,
207 Array<Array<GO> >& lCoarseNodesGIDs)
const;
210 RCP<const Map> fineCoordsMap, RCP<GeometricData> myGeometry,
211 RCP<NodesIDs> ghostedCoarseNodes,
212 Array<Array<GO> >& lCoarseNodesGIDs)
const;
215 const RCP<Xpetra::MultiVector<
typename Teuchos::ScalarTraits<Scalar>::coordinateType,LO,GO,NO> >& fCoords,
216 const LO nnzP,
const LO dofsPerNode,
217 RCP<const Map>& stridedDomainMapP,
218 RCP<Matrix> & Amat, RCP<Matrix>& P,
219 RCP<Xpetra::MultiVector<
typename Teuchos::ScalarTraits<Scalar>::coordinateType,LO,GO,NO> >& cCoords,
220 RCP<NodesIDs> ghostedCoarseNodes, Array<Array<GO> > coarseNodesGIDs,
221 int interpolationOrder)
const;
223 void ComputeStencil(
const LO numDimension,
const Array<GO> currentNodeIndices,
224 const Array<GO> coarseNodeIndices,
const LO rate[3],
225 const Array<Array<
typename Teuchos::ScalarTraits<Scalar>::coordinateType> > coord,
const int interpolationOrder,
226 std::vector<double>& stencil)
const;
229 const Array<GO> currentNodeIndices,
230 const Array<GO> coarseNodeIndices,
231 const LO rate[3], std::vector<double>& stencil)
const;
234 std::vector<double>& stencil)
const;
236 const Teuchos::SerialDenseVector<LO,double> parameters,
237 double functions[4][8])
const;
240 const typename Teuchos::Array<LocalOrdinal>::iterator& first1,
241 const typename Teuchos::Array<LocalOrdinal>::iterator& last1,
242 const typename Teuchos::Array<LocalOrdinal>::iterator& first2,
243 const typename Teuchos::Array<LocalOrdinal>::iterator& last2)
const;
246 const typename Teuchos::Array<LocalOrdinal>::iterator& first1,
247 const typename Teuchos::Array<LocalOrdinal>::iterator& last1,
248 const typename Teuchos::Array<LocalOrdinal>::iterator& first2,
249 const typename Teuchos::Array<LocalOrdinal>::iterator& last2)
const;
252 const Array<LO> coarseNodeFineIndices,
253 const RCP<GeometricData> myGeo,
const LO myRankIndex,
const LO pi,
254 const LO pj,
const LO pk,
255 const typename std::vector<std::vector<GO> >::iterator blockStart,
256 const typename std::vector<std::vector<GO> >::iterator blockEnd,
257 GO& myGID, LO& myPID, LO& myLID)
const;
263 #define MUELU_GENERALGEOMETRICPFACTORY_SHORT
264 #endif // MUELU_GENERALGEOMETRICPFACTORY_DECL_HPP