46 #ifndef MUELU_GENERALGEOMETRICPFACTORY_DECL_HPP 
   47 #define MUELU_GENERALGEOMETRICPFACTORY_DECL_HPP 
   55 #include "MueLu_PFactory.hpp" 
   60 namespace MueLuTests {
 
   62   template <
class Scalar, 
class LocalOrdinal, 
class GlobalOrdinal, 
class Node>
 
  120 #undef MUELU_GENERALGEOMETRICPFACTORY_SHORT 
  216                                const LO nnzP, 
const LO dofsPerNode,
 
  221                                int interpolationOrder) 
const;
 
  224                         const Array<GO> coarseNodeIndices, 
const LO rate[3],
 
  226                         std::vector<double>& stencil) 
const;
 
  231                                              const LO rate[3], std::vector<double>& stencil) 
const;
 
  234                                            std::vector<double>& stencil) 
const;
 
  237                                    double functions[4][8]) 
const;
 
  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 
void ComputeLinearInterpolationStencil(const LO numDimension, const Array< Array< typename Teuchos::ScalarTraits< Scalar >::coordinateType > > coord, std::vector< double > &stencil) const 
 
Array< GO > gFineNodesPerDir
 
MueLu::DefaultLocalOrdinal LocalOrdinal
 
KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
 
void GetCoarsePoints(const int interpolationOrder, const LO blkSize, RCP< const Map > fineCoordsMap, RCP< GeometricData > myGeometry, RCP< NodesIDs > ghostedCoarseNodes, Array< Array< GO > > &lCoarseNodesGIDs) const 
 
std::vector< GO > colInds
 
virtual ~GeneralGeometricPFactory()
Destructor. 
 
void MakeGeneralGeometricP(RCP< GeometricData > myGeo, const RCP< Xpetra::MultiVector< typename Teuchos::ScalarTraits< Scalar >::coordinateType, LO, GO, NO > > &fCoords, const LO nnzP, const LO dofsPerNode, RCP< const Map > &stridedDomainMapP, RCP< Matrix > &Amat, RCP< Matrix > &P, RCP< Xpetra::MultiVector< typename Teuchos::ScalarTraits< Scalar >::coordinateType, LO, GO, NO > > &cCoords, RCP< NodesIDs > ghostedCoarseNodes, Array< Array< GO > > coarseNodesGIDs, int interpolationOrder) const 
 
void BuildP(Level &fineLevel, Level &coarseLevel) const 
Abstract Build method. 
 
GeneralGeometricPFactory()
Constructor. 
 
std::vector< std::vector< GO > > meshData
 
Array< GO > gCoarseNodesPerDir
 
Array< LO > ghostedCoarseNodesPerDir
 
Array< GO > startGhostedCoarseNode
 
Prolongator factory performing geometric coarsening. 
 
void MeshLayoutInterface(const int interpolationOrder, const LO blkSize, RCP< const Map > fineCoordsMap, RCP< GeometricData > myGeometry, RCP< NodesIDs > ghostedCoarseNodes, Array< Array< GO > > &lCoarseNodesGIDs) const 
 
MueLu::DefaultScalar Scalar
 
MueLu::DefaultGlobalOrdinal GlobalOrdinal
 
Class that holds all level-specific information. 
 
void sh_sort2(const typename Teuchos::Array< LocalOrdinal >::iterator &first1, const typename Teuchos::Array< LocalOrdinal >::iterator &last1, const typename Teuchos::Array< LocalOrdinal >::iterator &first2, const typename Teuchos::Array< LocalOrdinal >::iterator &last2) const 
 
void ComputeStencil(const LO numDimension, const Array< GO > currentNodeIndices, const Array< GO > coarseNodeIndices, const LO rate[3], const Array< Array< typename Teuchos::ScalarTraits< Scalar >::coordinateType > > coord, const int interpolationOrder, std::vector< double > &stencil) const 
 
void GetGIDLocalLexicographic(const GO i, const GO j, const GO k, const Array< LO > coarseNodeFineIndices, const RCP< GeometricData > myGeo, const LO myRankIndex, const LO pi, const LO pj, const LO pk, const typename std::vector< std::vector< GO > >::iterator blockStart, const typename std::vector< std::vector< GO > >::iterator blockEnd, GO &myGID, LO &myPID, LO &myLID) const 
 
void resize(size_type new_size, const value_type &x=value_type())
 
void GetInterpolationFunctions(const LO numDimension, const Teuchos::SerialDenseVector< LO, double > parameters, double functions[4][8]) const 
 
void ComputeConstantInterpolationStencil(const LO numDimension, const Array< GO > currentNodeIndices, const Array< GO > coarseNodeIndices, const LO rate[3], std::vector< double > &stencil) const 
 
Array< LO > lCoarseNodesPerDir
 
void DeclareInput(Level &fineLevel, Level &coarseLevel) const 
Input. 
 
void sh_sort_permute(const typename Teuchos::Array< LocalOrdinal >::iterator &first1, const typename Teuchos::Array< LocalOrdinal >::iterator &last1, const typename Teuchos::Array< LocalOrdinal >::iterator &first2, const typename Teuchos::Array< LocalOrdinal >::iterator &last2) const 
 
void Build(Level &fineLevel, Level &coarseLevel) const 
Build an object with this factory. 
 
RCP< const ParameterList > GetValidParameterList() const 
Return a const parameter list of valid parameters that setParameterList() will accept. 
 
Factory that provides an interface for a concrete implementation of a prolongation operator...
 
std::vector< T >::iterator iterator
 
Array< LO > lFineNodesPerDir