10 #ifndef PACKAGES_MUELU_SRC_GRAPH_MUELU_VARIABLEDOFLAPLACIANFACTORY_DECL_HPP_
11 #define PACKAGES_MUELU_SRC_GRAPH_MUELU_VARIABLEDOFLAPLACIANFACTORY_DECL_HPP_
67 #undef MUELU_VARIABLEDOFLAPLACIANFACTORY_SHORT
99 template <
class listType>
119 if ((list2 != NULL) && (list3 != NULL)) {
134 if (list[j] > list[j - 1]) j = j + 1;
136 if (list[j - 1] > K) {
137 list[i - 1] = list[j - 1];
138 list2[i - 1] = list2[j - 1];
139 list3[i - 1] = list3[j - 1];
172 }
else if (list2 != NULL) {
186 if (list[j] > list[j - 1]) j = j + 1;
188 if (list[j - 1] > K) {
189 list[i - 1] = list[j - 1];
190 list2[i - 1] = list2[j - 1];
218 }
else if (list3 != NULL) {
232 if (list[j] > list[j - 1]) j = j + 1;
234 if (list[j - 1] > K) {
235 list[i - 1] = list[j - 1];
236 list3[i - 1] = list3[j - 1];
278 if (list[j] > list[j - 1]) j = j + 1;
280 if (list[j - 1] > K) {
281 list[i - 1] = list[j - 1];
311 #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.