10#ifndef MUELU_NULLSPACEFACTORY_DECL_HPP
11#define MUELU_NULLSPACEFACTORY_DECL_HPP
15#include "Xpetra_MultiVector_fwd.hpp"
67template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
74 typedef Kokkos::RangePolicy<local_ordinal_type, execution_space>
range_type;
78#undef MUELU_NULLSPACEFACTORY_SHORT
87 SetParameter(
"Fine level nullspace", ParameterEntry(nspName));
123 using CoordsType =
typename RealValuedMultiVector::dual_view_type::t_dev_const_um;
124 using MeanCoordsType = Kokkos::View<typename RealValuedMultiVector::impl_scalar_type*, typename Node::memory_space>;
133#define MUELU_NULLSPACEFACTORY_SHORT
MueLu::DefaultLocalOrdinal LocalOrdinal
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Class that holds all level-specific information.
Factory for generating nullspace.
Node::execution_space execution_space
void fillNullspaceVector(const RCP< MultiVector > &nullspace, LocalOrdinal numPDEs, LocalOrdinal nullspaceDim, CoordsType coordsView, MeanCoordsType meanView) const
LocalOrdinal local_ordinal_type
void Build(Level ¤tLevel) const
Build an object with this factory.
typename Teuchos::ScalarTraits< Scalar >::coordinateType coordinate_type
Kokkos::View< typename RealValuedMultiVector::impl_scalar_type *, typename Node::memory_space > MeanCoordsType
Xpetra::MultiVector< coordinate_type, LO, GO, NO > RealValuedMultiVector
typename RealValuedMultiVector::dual_view_type::t_dev_const_um CoordsType
virtual ~NullspaceFactory()
Destructor.
Kokkos::RangePolicy< local_ordinal_type, execution_space > range_type
GlobalOrdinal global_ordinal_type
NullspaceFactory(const std::string &nspName="Nullspace")
Constructor.
RCP< const ParameterList > GetValidParameterList() const
Define valid parameters for internal factory parameters.
void DeclareInput(Level ¤tLevel) const
Specifies the data that this class needs, and the factories that generate that data.
void SetParameter(const std::string &name, const ParameterEntry &entry)
Set a parameter directly as a ParameterEntry.
Base class for factories that use one level (currentLevel).
Namespace for MueLu classes and methods.