47 #ifndef PACKAGES_MUELU_SRC_GRAPH_MUELU_VARIABLEDOFLAPLACIANFACTORY_DECL_HPP_
48 #define PACKAGES_MUELU_SRC_GRAPH_MUELU_VARIABLEDOFLAPLACIANFACTORY_DECL_HPP_
104 #undef MUELU_VARIABLEDOFLAPLACIANFACTORY_SHORT
136 template <
class listType>
156 if ((list2 != NULL) && (list3 != NULL)) {
171 if (list[j] > list[j - 1]) j = j + 1;
173 if (list[j - 1] > K) {
174 list[i - 1] = list[j - 1];
175 list2[i - 1] = list2[j - 1];
176 list3[i - 1] = list3[j - 1];
209 }
else if (list2 != NULL) {
223 if (list[j] > list[j - 1]) j = j + 1;
225 if (list[j - 1] > K) {
226 list[i - 1] = list[j - 1];
227 list2[i - 1] = list2[j - 1];
255 }
else if (list3 != NULL) {
269 if (list[j] > list[j - 1]) j = j + 1;
271 if (list[j - 1] > K) {
272 list[i - 1] = list[j - 1];
273 list3[i - 1] = list3[j - 1];
315 if (list[j] > list[j - 1]) j = j + 1;
317 if (list[j - 1] > K) {
318 list[i - 1] = list[j - 1];
348 #define MUELU_VARIABLEDOFLAPLACIANFACTORY_SHORT
VariableDofLaplacianFactory()
Constructor.
void buildPaddedMap(const Teuchos::ArrayRCP< const LocalOrdinal > &dofPresent, std::vector< LocalOrdinal > &map, size_t nDofs) const
MueLu::DefaultLocalOrdinal LocalOrdinal
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
void buildLaplacian(const Teuchos::ArrayRCP< size_t > &rowPtr, const Teuchos::ArrayRCP< LocalOrdinal > &cols, Teuchos::ArrayRCP< Scalar > &vals, const size_t &numdim, const RCP< Xpetra::MultiVector< typename Teuchos::ScalarTraits< Scalar >::magnitudeType, LocalOrdinal, GlobalOrdinal, Node > > &ghostedCoords) const
virtual ~VariableDofLaplacianFactory()
Destructor.
void DeclareInput(Level ¤tLevel) const
Input.
void assignGhostLocalNodeIds(const Teuchos::RCP< const Map > &rowDofMap, const Teuchos::RCP< const Map > &colDofMap, std::vector< LocalOrdinal > &myLocalNodeIds, const std::vector< LocalOrdinal > &dofMap, size_t maxDofPerNode, size_t &nLocalNodes, size_t &nLocalPlusGhostNodes, Teuchos::RCP< const Teuchos::Comm< int > > comm) const
void MueLu_az_sort(listType list[], size_t N, size_t list2[], Scalar list3[]) const
MueLu::DefaultScalar Scalar
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Class that holds all level-specific information.
void Build(Level ¤tLevel) const
Build an object with this factory.
Factory for building scalar Laplace operator (that is used as fake operator for variable dof size pro...
void squeezeOutNnzs(Teuchos::ArrayRCP< size_t > &rowPtr, Teuchos::ArrayRCP< LocalOrdinal > &cols, Teuchos::ArrayRCP< Scalar > &vals, const std::vector< bool > &keep) const
Base class for factories that use one level (currentLevel).
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.