MueLu
Version of the Day
|
#include <MueLu_NotayAggregationFactory_decl.hpp>
typedefs | |
using | local_matrix_type = typename Matrix::local_matrix_type |
using | device_type = typename local_matrix_type::device_type |
using | execution_space = typename device_type::execution_space |
using | magnitude_type = typename Teuchos::ScalarTraits< Scalar >::magnitudeType |
using | impl_scalar_type = typename Kokkos::ArithTraits< Scalar >::val_type |
using | row_sum_type = typename Kokkos::View< impl_scalar_type *, Kokkos::LayoutLeft, device_type > |
Constructors/Destructors. | |
NotayAggregationFactory () | |
Constructor. More... | |
virtual | ~NotayAggregationFactory () |
Destructor. More... | |
RCP< const ParameterList > | GetValidParameterList () const |
Return a const parameter list of valid parameters that setParameterList() will accept. More... | |
Set/get methods. | |
void | DeclareInput (Level ¤tLevel) const |
Input. More... | |
Build methods. | |
void | Build (Level ¤tLevel) const |
Build aggregates. More... | |
void | BuildInitialAggregates (const Teuchos::ParameterList ¶ms, const RCP< const Matrix > &A, const ArrayView< const LO > &orderingVector, const magnitude_type kappa, Aggregates &aggregates, std::vector< unsigned > &aggStat, LO &numNonAggregatedNodes, LO &numDirichletNodes) const |
Initial aggregation phase. More... | |
void | BuildFurtherAggregates (const Teuchos::ParameterList ¶ms, const RCP< const Matrix > &A, const Teuchos::ArrayView< const LO > &orderingVector, const local_matrix_type &coarseA, const magnitude_type kappa, const row_sum_type &rowSum, std::vector< LO > &localAggStat, Array< LO > &localVertex2AggID, LO &numLocalAggregates, LO &numNonAggregatedNodes) const |
Further aggregation phase increases coarsening rate by a factor of ~2 per iteration. More... | |
void | BuildOnRankLocalMatrix (const local_matrix_type &localA, local_matrix_type &onRankA) const |
void | BuildIntermediateProlongator (const LO numRows, const LO numDirichletNodes, const LO numLocalAggregates, const ArrayView< const LO > &localVertex2AggID, local_matrix_type &intermediateP) const |
Construction of a local prolongator with values equal to 1.0. More... | |
void | BuildCoarseLocalMatrix (const local_matrix_type &intermediateP, local_matrix_type &coarseA) const |
Implementation of a local Galerkin projection called inside BuildFurtherAggregates. More... | |
void | localSpGEMM (const local_matrix_type &A, const local_matrix_type &B, const std::string matrixLabel, local_matrix_type &C) const |
Wrapper for kokkos-kernels' spgemm that takes in CrsMatrix. More... | |
Additional Inherited Members | |
Public Member Functions inherited from MueLu::SingleLevelFactoryBase | |
SingleLevelFactoryBase () | |
Constructor. More... | |
virtual | ~SingleLevelFactoryBase () |
Destructor. More... | |
virtual void | CallBuild (Level &requestedLevel) const |
virtual void | CallDeclareInput (Level &requestedLevel) const |
Public Member Functions inherited from MueLu::Factory | |
void | EnableMultipleCallCheck () const |
void | DisableMultipleCallCheck () const |
void | ResetDebugData () const |
Factory () | |
Constructor. More... | |
virtual | ~Factory () |
Destructor. More... | |
virtual void | SetFactory (const std::string &varName, const RCP< const FactoryBase > &factory) |
Configuration. More... | |
const RCP< const FactoryBase > | GetFactory (const std::string &varName) const |
Default implementation of FactoryAcceptor::GetFactory() More... | |
RCP< ParameterList > | RemoveFactoriesFromList (const ParameterList &list) const |
Public Member Functions inherited from MueLu::FactoryBase | |
FactoryBase () | |
Constructor. More... | |
virtual | ~FactoryBase () |
Destructor. More... | |
int | GetID () const |
return unique factory id More... | |
Public Member Functions inherited from MueLu::BaseClass | |
virtual | ~BaseClass () |
Destructor. More... | |
Public Member Functions inherited from MueLu::VerboseObject | |
VerbLevel | GetVerbLevel () const |
Get the verbosity level. More... | |
void | SetVerbLevel (const VerbLevel verbLevel) |
Set the verbosity level of this object. More... | |
int | GetProcRankVerbose () const |
Get proc rank used for printing. Do not use this information for any other purpose. More... | |
int | SetProcRankVerbose (int procRank) const |
Set proc rank used for printing. More... | |
bool | IsPrint (MsgType type, int thisProcRankOnly=-1) const |
Find out whether we need to print out information for a specific message type. More... | |
Teuchos::FancyOStream & | GetOStream (MsgType type, int thisProcRankOnly=0) const |
Get an output stream for outputting the input message type. More... | |
Teuchos::FancyOStream & | GetBlackHole () const |
VerboseObject () | |
virtual | ~VerboseObject () |
Destructor. More... | |
Public Member Functions inherited from Teuchos::VerboseObject< VerboseObject > | |
VerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null) | |
virtual const VerboseObject & | setVerbLevel (const EVerbosityLevel verbLevel) const |
virtual const VerboseObject & | setOverridingVerbLevel (const EVerbosityLevel verbLevel) const |
virtual EVerbosityLevel | getVerbLevel () const |
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT RCP< const ParameterList > | getValidVerboseObjectSublist () |
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT void | setupVerboseObjectSublist (ParameterList *paramList) |
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT void | readVerboseObjectSublist (ParameterList *paramList, RCP< FancyOStream > *oStream, EVerbosityLevel *verbLevel) |
void | readVerboseObjectSublist (ParameterList *paramList, VerboseObject< ObjectType > *verboseObject) |
Public Member Functions inherited from Teuchos::VerboseObjectBase | |
virtual | ~VerboseObjectBase () |
VerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null) | |
virtual const VerboseObjectBase & | setOStream (const RCP< FancyOStream > &oStream) const |
virtual const VerboseObjectBase & | setOverridingOStream (const RCP< FancyOStream > &oStream) const |
virtual VerboseObjectBase & | setLinePrefix (const std::string &linePrefix) |
virtual RCP< FancyOStream > | getOStream () const |
virtual RCP< FancyOStream > | getOverridingOStream () const |
virtual std::string | getLinePrefix () const |
virtual OSTab | getOSTab (const int tabs=1, const std::string &linePrefix="") const |
Public Member Functions inherited from MueLu::Describable | |
virtual | ~Describable () |
Destructor. More... | |
virtual std::string | ShortClassName () const |
Return the class name of the object, without template parameters and without namespace. More... | |
virtual void | describe (Teuchos::FancyOStream &out_arg, const VerbLevel verbLevel=Default) const |
virtual std::string | description () const |
Return a simple one-line description of this object. More... | |
void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const |
Print the object with some verbosity level to an FancyOStream object. More... | |
Public Member Functions inherited from Teuchos::Describable | |
void | describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const |
LabeledObject () | |
virtual | ~LabeledObject () |
virtual void | setObjectLabel (const std::string &objectLabel) |
virtual std::string | getObjectLabel () const |
DescribableStreamManipulatorState | describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default) |
std::ostream & | operator<< (std::ostream &os, const DescribableStreamManipulatorState &d) |
Public Member Functions inherited from MueLu::FactoryAcceptor | |
virtual | ~FactoryAcceptor () |
Public Member Functions inherited from MueLu::ParameterListAcceptorImpl | |
ParameterListAcceptorImpl () | |
virtual | ~ParameterListAcceptorImpl ()=default |
virtual void | SetParameterList (const Teuchos::ParameterList ¶mList) |
Set parameters from a parameter list and return with default values. More... | |
virtual const Teuchos::ParameterList & | GetParameterList () const |
void | SetParameter (const std::string &name, const ParameterEntry &entry) |
Set a parameter directly as a ParameterEntry. More... | |
const ParameterEntry & | GetParameter (const std::string &name) const |
Retrieves a const entry with the name name. More... | |
virtual void | GetDocumentation (std::ostream &os) const |
Public Member Functions inherited from MueLu::ParameterListAcceptor | |
ParameterListAcceptor () | |
virtual | ~ParameterListAcceptor ()=default |
Static Public Member Functions inherited from MueLu::Factory | |
static void | EnableTimerSync () |
static void | DisableTimerSync () |
static void | EnableMultipleCheckGlobally () |
static void | DisableMultipleCheckGlobally () |
Static Public Member Functions inherited from MueLu::VerboseObject | |
static void | SetMueLuOStream (const Teuchos::RCP< Teuchos::FancyOStream > &mueluOStream) |
static void | SetMueLuOFileStream (const std::string &filename) |
static Teuchos::RCP < Teuchos::FancyOStream > | GetMueLuOStream () |
static void | SetDefaultVerbLevel (const VerbLevel defaultVerbLevel) |
Set the default (global) verbosity level. More... | |
static VerbLevel | GetDefaultVerbLevel () |
Get the default (global) verbosity level. More... | |
Static Public Member Functions inherited from Teuchos::VerboseObject< VerboseObject > | |
static void | setDefaultVerbLevel (const EVerbosityLevel defaultVerbLevel) |
static EVerbosityLevel | getDefaultVerbLevel () |
Static Public Member Functions inherited from Teuchos::VerboseObjectBase | |
static void | setDefaultOStream (const RCP< FancyOStream > &defaultOStream) |
static RCP< FancyOStream > | getDefaultOStream () |
Static Public Attributes inherited from Teuchos::Describable | |
static const EVerbosityLevel | verbLevel_default |
Protected Member Functions inherited from MueLu::Factory | |
void | Input (Level &level, const std::string &varName) const |
void | Input (Level &level, const std::string &varName, const std::string &varParamName) const |
template<class T > | |
T | Get (Level &level, const std::string &varName) const |
template<class T > | |
T | Get (Level &level, const std::string &varName, const std::string &varParamName) const |
template<class T > | |
void | Set (Level &level, const std::string &varName, const T &data) const |
template<class T > | |
bool | IsType (Level &level, const std::string &varName) const |
bool | IsAvailable (Level &level, const std::string &varName) const |
Protected Member Functions inherited from Teuchos::VerboseObject< VerboseObject > | |
void | initializeVerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null) |
Protected Member Functions inherited from Teuchos::VerboseObjectBase | |
void | initializeVerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null) |
virtual void | informUpdatedVerbosityState () const |
Static Protected Attributes inherited from MueLu::Factory | |
static bool | timerSync_ = false |
Definition at line 37 of file MueLu_NotayAggregationFactory_decl.hpp.
using MueLu::NotayAggregationFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::local_matrix_type = typename Matrix::local_matrix_type |
Definition at line 44 of file MueLu_NotayAggregationFactory_decl.hpp.
using MueLu::NotayAggregationFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::device_type = typename local_matrix_type::device_type |
Definition at line 45 of file MueLu_NotayAggregationFactory_decl.hpp.
using MueLu::NotayAggregationFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::execution_space = typename device_type::execution_space |
Definition at line 46 of file MueLu_NotayAggregationFactory_decl.hpp.
using MueLu::NotayAggregationFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::magnitude_type = typename Teuchos::ScalarTraits<Scalar>::magnitudeType |
Definition at line 47 of file MueLu_NotayAggregationFactory_decl.hpp.
using MueLu::NotayAggregationFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::impl_scalar_type = typename Kokkos::ArithTraits<Scalar>::val_type |
Definition at line 48 of file MueLu_NotayAggregationFactory_decl.hpp.
using MueLu::NotayAggregationFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::row_sum_type = typename Kokkos::View<impl_scalar_type*, Kokkos::LayoutLeft, device_type> |
Definition at line 49 of file MueLu_NotayAggregationFactory_decl.hpp.
|
inline |
Constructor.
Definition at line 56 of file MueLu_NotayAggregationFactory_decl.hpp.
|
inlinevirtual |
Destructor.
Definition at line 59 of file MueLu_NotayAggregationFactory_decl.hpp.
|
virtual |
Return a const parameter list of valid parameters that setParameterList() will accept.
Also define the default values of parameters according to the input parameter list.
Reimplemented from MueLu::Factory.
Definition at line 52 of file MueLu_NotayAggregationFactory_def.hpp.
|
virtual |
Input.
Implements MueLu::SingleLevelFactoryBase.
Definition at line 71 of file MueLu_NotayAggregationFactory_def.hpp.
|
virtual |
Build aggregates.
Implements MueLu::SingleLevelFactoryBase.
Definition at line 78 of file MueLu_NotayAggregationFactory_def.hpp.
void MueLu::NotayAggregationFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::BuildInitialAggregates | ( | const Teuchos::ParameterList & | params, |
const RCP< const Matrix > & | A, | ||
const ArrayView< const LO > & | orderingVector, | ||
const magnitude_type | kappa, | ||
Aggregates & | aggregates, | ||
std::vector< unsigned > & | aggStat, | ||
LO & | numNonAggregatedNodes, | ||
LO & | numDirichletNodes | ||
) | const |
Initial aggregation phase.
Definition at line 295 of file MueLu_NotayAggregationFactory_def.hpp.
void MueLu::NotayAggregationFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::BuildFurtherAggregates | ( | const Teuchos::ParameterList & | params, |
const RCP< const Matrix > & | A, | ||
const Teuchos::ArrayView< const LO > & | orderingVector, | ||
const local_matrix_type & | coarseA, | ||
const magnitude_type | kappa, | ||
const row_sum_type & | rowSum, | ||
std::vector< LO > & | localAggStat, | ||
Array< LO > & | localVertex2AggID, | ||
LO & | numLocalAggregates, | ||
LO & | numNonAggregatedNodes | ||
) | const |
Further aggregation phase increases coarsening rate by a factor of ~2 per iteration.
Definition at line 478 of file MueLu_NotayAggregationFactory_def.hpp.
void MueLu::NotayAggregationFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::BuildOnRankLocalMatrix | ( | const local_matrix_type & | localA, |
local_matrix_type & | onRankA | ||
) | const |
Definition at line 616 of file MueLu_NotayAggregationFactory_def.hpp.
void MueLu::NotayAggregationFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::BuildIntermediateProlongator | ( | const LO | numRows, |
const LO | numDirichletNodes, | ||
const LO | numLocalAggregates, | ||
const ArrayView< const LO > & | localVertex2AggID, | ||
local_matrix_type & | intermediateP | ||
) | const |
Construction of a local prolongator with values equal to 1.0.
Definition at line 690 of file MueLu_NotayAggregationFactory_def.hpp.
void MueLu::NotayAggregationFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::BuildCoarseLocalMatrix | ( | const local_matrix_type & | intermediateP, |
local_matrix_type & | coarseA | ||
) | const |
Implementation of a local Galerkin projection called inside BuildFurtherAggregates.
Definition at line 746 of file MueLu_NotayAggregationFactory_def.hpp.
void MueLu::NotayAggregationFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::localSpGEMM | ( | const local_matrix_type & | A, |
const local_matrix_type & | B, | ||
const std::string | matrixLabel, | ||
local_matrix_type & | C | ||
) | const |
Wrapper for kokkos-kernels' spgemm that takes in CrsMatrix.
Definition at line 832 of file MueLu_NotayAggregationFactory_def.hpp.