|
MueLu Version of the Day
|
Factory for building a new "segregated" A operator. Here, "segregated" means that the user provides some map(s) (containing a subset of GIDs of the input matrix A) and the factory drops entries depending on the dropping scheme. More...
#include <MueLu_SegregatedAFactory_decl.hpp>
Public Member Functions | |
| RCP< const ParameterList > | GetValidParameterList () const override |
| Input. | |
| void | DeclareInput (Level ¤tLevel) const override |
| Specifies the data that this class needs, and the factories that generate that data. | |
Public Member Functions inherited from MueLu::SingleLevelFactoryBase | |
| SingleLevelFactoryBase () | |
| Constructor. | |
| virtual | ~SingleLevelFactoryBase () |
| Destructor. | |
| virtual void | CallBuild (Level &requestedLevel) const |
| virtual void | CallDeclareInput (Level &requestedLevel) const |
Public Member Functions inherited from MueLu::Factory | |
| Factory () | |
| Constructor. | |
| virtual | ~Factory () |
| Destructor. | |
| virtual void | SetFactory (const std::string &varName, const RCP< const FactoryBase > &factory) |
| Configuration. | |
| const RCP< const FactoryBase > | GetFactory (const std::string &varName) const |
| Default implementation of FactoryAcceptor::GetFactory() | |
| RCP< ParameterList > | RemoveFactoriesFromList (const ParameterList &list) const |
| void | EnableMultipleCallCheck () const |
| void | DisableMultipleCallCheck () const |
| void | ResetDebugData () const |
Public Member Functions inherited from MueLu::FactoryBase | |
| FactoryBase () | |
| Constructor. | |
| virtual | ~FactoryBase () |
| Destructor. | |
| int | GetID () const |
| return unique factory id | |
Public Member Functions inherited from MueLu::BaseClass | |
| virtual | ~BaseClass () |
| Destructor. | |
Public Member Functions inherited from MueLu::VerboseObject | |
| VerboseObject () | |
| virtual | ~VerboseObject () |
| Destructor. | |
| VerbLevel | GetVerbLevel () const |
| Get the verbosity level. | |
| void | SetVerbLevel (const VerbLevel verbLevel) |
| Set the verbosity level of this object. | |
| int | GetProcRankVerbose () const |
| Get proc rank used for printing. Do not use this information for any other purpose. | |
| int | SetProcRankVerbose (int procRank) const |
| Set proc rank used for printing. | |
| bool | IsPrint (MsgType type, int thisProcRankOnly=-1) const |
| Find out whether we need to print out information for a specific message type. | |
| Teuchos::FancyOStream & | GetOStream (MsgType type, int thisProcRankOnly=0) const |
| Get an output stream for outputting the input message type. | |
| Teuchos::FancyOStream & | GetBlackHole () const |
Public Member Functions inherited from MueLu::Describable | |
| virtual | ~Describable () |
| Destructor. | |
| 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. | |
| 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. | |
| virtual std::string | ShortClassName () const |
| Return the class name of the object, without template parameters and without namespace. | |
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. | |
| virtual const Teuchos::ParameterList & | GetParameterList () const |
| virtual const Teuchos::ParameterList & | GetParameterListWithoutValidation () const |
| void | SetParameter (const std::string &name, const ParameterEntry &entry) |
| Set a parameter directly as a ParameterEntry. | |
| const ParameterEntry & | GetParameter (const std::string &name) const |
| Retrieves a const entry with the name name. | |
| virtual void | GetDocumentation (std::ostream &os) const |
Public Member Functions inherited from MueLu::ParameterListAcceptor | |
| ParameterListAcceptor () | |
| virtual | ~ParameterListAcceptor ()=default |
Build methods. | |
| void | Build (Level ¤tLevel) const override |
| Build method. | |
| void | BuildBasedOnBlockmap (Level ¤tLevel) const |
| void | BuildBasedOnMapPair (Level ¤tLevel) const |
Additional Inherited Members | |
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 | SetDefaultVerbLevel (const VerbLevel defaultVerbLevel) |
| Set the default (global) verbosity level. | |
| static VerbLevel | GetDefaultVerbLevel () |
| Get the default (global) verbosity level. | |
| static void | SetMueLuOStream (const Teuchos::RCP< Teuchos::FancyOStream > &mueluOStream) |
| static void | SetMueLuOFileStream (const std::string &filename) |
| static Teuchos::RCP< Teuchos::FancyOStream > | GetMueLuOStream () |
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 |
Static Protected Attributes inherited from MueLu::Factory | |
| static bool | timerSync_ = false |
Factory for building a new "segregated" A operator. Here, "segregated" means that the user provides some map(s) (containing a subset of GIDs of the input matrix A) and the factory drops entries depending on the dropping scheme.
The idea is to use the output matrix A as input for the aggregation factory to have control over the aggregates and make sure that aggregates do not cross certain areas.
This factory supports multiple dropping schemes based on different inputs. They are:
Note: we have to drop the entries (i.e. not just set them to zero) as the CoalesceDropFactory does not distinguish between matrix entries which are zero and nonzero.
| Parameter | type | default | master.xml | validated | requested | description |
|---|---|---|---|---|---|---|
| A | Factory | null | * | * | Generating factory of the matrix A | |
| droppingScheme | string | vague | * | * | Strategy to drop entries from matrix A based on the input of some map(s) [blockmap, map-pair] | |
| dropMap1 | Factory | null | * | * | Generating factory for dropMap1 | |
| dropMap2 | Factory | null | * | * | Generating factory for dropMap2 |
Call ReduceAll on dropMap1 | bool | | * | | Boolean for calling reduceAll on dropMap1 Call ReduceAll on dropMap2 | bool | | * | | Boolean for calling reduceAll on dropMap2
The * in the master.xml column denotes that the parameter is defined in the master.xml file.
The * in the validated column means that the parameter is declared in the list of valid input parameters (see GetValidParameters() ).
The * in the requested column states that the data is requested as input with all dependencies (see DeclareInput() ).
After SegregatedAFactory::Build the following data is available (if requested)
| Parameter | generated by | description |
|---|---|---|
| A | SegregatedAFactory | Provides a filtered Matrix, where all possible combinations of the entries of the dropMap(s) have been removed from the input matrix A |
Definition at line 75 of file MueLu_SegregatedAFactory_decl.hpp.
|
overridevirtual |
Input.
Reimplemented from MueLu::Factory.
Definition at line 25 of file MueLu_SegregatedAFactory_def.hpp.
|
overridevirtual |
Specifies the data that this class needs, and the factories that generate that data.
If the Build method of this class requires some data, but the generating factory is not specified in DeclareInput, then this class will fall back to the settings in FactoryManager.
Implements MueLu::SingleLevelFactoryBase.
Definition at line 38 of file MueLu_SegregatedAFactory_def.hpp.
|
overridevirtual |
Build method.
Builds filtered matrix and returns it in currentLevel.
Implements MueLu::SingleLevelFactoryBase.
Definition at line 72 of file MueLu_SegregatedAFactory_def.hpp.
|
private |
Definition at line 89 of file MueLu_SegregatedAFactory_def.hpp.
|
private |
Definition at line 151 of file MueLu_SegregatedAFactory_def.hpp.