46 #ifndef MUELU_GEOMETRICINTERPOLATIONPFACTORY_DECL_HPP 47 #define MUELU_GEOMETRICINTERPOLATIONPFACTORY_DECL_HPP 50 #include <Teuchos_SerialDenseMatrix.hpp> 51 #include <Teuchos_SerialDenseVector.hpp> 52 #include <Teuchos_SerialDenseSolver.hpp> 54 #include "Xpetra_CrsGraph.hpp" 56 #include "MueLu_PFactory.hpp" 62 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
64 #undef MUELU_GEOMETRICINTERPOLATIONPFACTORY_SHORT 70 using real_type =
typename Teuchos::ScalarTraits<SC>::coordinateType;
101 void BuildConstantP(RCP<Matrix>& P, RCP<const CrsGraph>& prolongatorGraph, RCP<Matrix>& A)
const;
103 RCP<Matrix>& A, RCP<const CrsGraph>& prolongatorGraph,
104 RCP<realvaluedmultivector_type>& fineCoordinates,
105 RCP<realvaluedmultivector_type>& ghostCoordinates,
106 const int numDimensions,
const bool keepD2,
107 RCP<Matrix>& P)
const;
109 const Array<Array<real_type> > coord,
110 Array<real_type>& stencil)
const;
112 const Teuchos::SerialDenseVector<LO,real_type> parametricCoordinates,
119 #define MUELU_GEOMETRICINTERPOLATIONPFACTORY_SHORT 120 #endif // MUELU_GEOMETRICINTERPOLATIONPFACTORY_DECL_HPP virtual ~GeometricInterpolationPFactory()
Destructor.
GeometricInterpolationPFactory()
Constructor.
void BuildP(Level &fineLevel, Level &coarseLevel) const
Abstract Build method.
void Build(Level &fineLevel, Level &coarseLevel) const
Build an object with this factory.
void GetInterpolationFunctions(const LO numDimensions, const Teuchos::SerialDenseVector< LO, real_type > parametricCoordinates, real_type functions[4][8]) const
Namespace for MueLu classes and methods.
void BuildLinearP(Level &coarseLevel, RCP< Matrix > &A, RCP< const CrsGraph > &prolongatorGraph, RCP< realvaluedmultivector_type > &fineCoordinates, RCP< realvaluedmultivector_type > &ghostCoordinates, const int numDimensions, const bool keepD2, RCP< Matrix > &P) const
void DeclareInput(Level &fineLevel, Level &coarseLevel) const
Input.
void BuildConstantP(RCP< Matrix > &P, RCP< const CrsGraph > &prolongatorGraph, RCP< Matrix > &A) const
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
Class that holds all level-specific information.
Xpetra::MultiVector< real_type, LO, GO, Node > realvaluedmultivector_type
Factory that provides an interface for a concrete implementation of a prolongation operator...
typename Teuchos::ScalarTraits< SC >::coordinateType real_type
void ComputeLinearInterpolationStencil(const int numDimensions, const int numInterpolationPoints, const Array< Array< real_type > > coord, Array< real_type > &stencil) const