MueLu
Version of the Day
|
Class for transferring a vector of local ordinals from a finer level to a coarser one, where each aggregate has a unique one. More...
#include <MueLu_LocalOrdinalTransferFactory_decl.hpp>
Private Member Functions | |
void | BuildAggregates (Level &fineLevel, Level &coarseLevel) const |
void | BuildFC (Level &fineLevel, Level &coarseLevel) const |
Private Attributes | |
bool | useAggregatesMode_ |
Use aggregates mode (as opposed to FC mode) More... | |
std::string | TransferVecName_ |
The name for the vector to be transfered. This allows us to have multiple factories for different variables. More... | |
Constructors/Destructors. | |
LocalOrdinalTransferFactory ()=delete | |
LocalOrdinalTransferFactory (const std::string &TransferVecName, const std::string &mode) | |
Constructor. More... | |
virtual | ~LocalOrdinalTransferFactory () |
Destructor. More... | |
RCP< const ParameterList > | GetValidParameterList () const |
Return a const parameter list of valid parameters that setParameterList() will accept. More... | |
Input | |
void | DeclareInput (Level &finelevel, Level &coarseLevel) const |
Specifies the data that this class needs, and the factories that generate that data. More... | |
Build methods. | |
void | Build (Level &fineLevel, Level &coarseLevel) const |
Build an object with this factory. More... | |
Additional Inherited Members | |
![]() | |
TwoLevelFactoryBase () | |
Constructor. More... | |
virtual | ~TwoLevelFactoryBase () |
Destructor. More... | |
virtual void | CallDeclareInput (Level &requestedLevel) const |
virtual void | CallBuild (Level &requestedLevel) const |
![]() | |
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 |
![]() | |
FactoryBase () | |
Constructor. More... | |
virtual | ~FactoryBase () |
Destructor. More... | |
int | GetID () const |
return unique factory id More... | |
![]() | |
virtual | ~BaseClass () |
Destructor. More... | |
![]() | |
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... | |
![]() | |
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) |
![]() | |
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 |
![]() | |
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... | |
![]() | |
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) |
![]() | |
virtual | ~FactoryAcceptor () |
![]() | |
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 |
![]() | |
ParameterListAcceptor () | |
virtual | ~ParameterListAcceptor ()=default |
![]() | |
static void | EnableTimerSync () |
static void | DisableTimerSync () |
static void | EnableMultipleCheckGlobally () |
static void | DisableMultipleCheckGlobally () |
![]() | |
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 void | setDefaultVerbLevel (const EVerbosityLevel defaultVerbLevel) |
static EVerbosityLevel | getDefaultVerbLevel () |
![]() | |
static void | setDefaultOStream (const RCP< FancyOStream > &defaultOStream) |
static RCP< FancyOStream > | getDefaultOStream () |
![]() | |
static const EVerbosityLevel | verbLevel_default |
![]() | |
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 |
![]() | |
void | initializeVerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null) |
![]() | |
void | initializeVerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null) |
virtual void | informUpdatedVerbosityState () const |
![]() | |
static bool | timerSync_ = false |
Class for transferring a vector of local ordinals from a finer level to a coarser one, where each aggregate has a unique one.
Parameter | type | default | master.xml | validated | requested | description |
---|---|---|---|---|---|---|
TransferVec | Factory | null | * | (*) | Factory providing vector to be transered | |
Aggregates | Factory | null | * | (*) | Factory providing aggregates | |
CoarseMap | Factory | null | * | (*) | Generating factory of the coarse map | |
write start | int | -1 | * | first level at which coordinates should be written to file | ||
write end | int | -1 | * | last level at which coordinates should be written to file |
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 LocalOrdinalTransferFactory::GetValidParameters).
The * in the requested
column states that the data is requested as input with all dependencies (see LocalOrdinalTransferFactory::DeclareInput).
The LocalOrdinalTransferFact first checks whether there is already valid coarse TransferVec information available on the coarse level. If that is the case, we can skip the coarse TransferVec generation and just reuse the available information. Otherwise we try to build coarse grid TransverVec by using the information about the aggregates, the fine level TransferVec and the coarse map information.
After LocalOrdinalTransferFactory::Build the following data is available (if requested)
Parameter | generated by | description |
---|---|---|
TransferVec | LocalOrdinalTransferFactory | coarse level transfervec |
Definition at line 60 of file MueLu_LocalOrdinalTransferFactory_decl.hpp.
|
delete |
|
inline |
Constructor.
vectorName | The name of the quantity to be restricted. |
restrictionName | The name of the restriction Matrix. |
The operator associated with projectionName
will be applied to the MultiVector associated with vectorName
.
Definition at line 79 of file MueLu_LocalOrdinalTransferFactory_decl.hpp.
|
inlinevirtual |
Destructor.
Definition at line 88 of file MueLu_LocalOrdinalTransferFactory_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 29 of file MueLu_LocalOrdinalTransferFactory_def.hpp.
|
virtual |
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::TwoLevelFactoryBase.
Definition at line 41 of file MueLu_LocalOrdinalTransferFactory_def.hpp.
|
virtual |
Build an object with this factory.
Implements MueLu::TwoLevelFactoryBase.
Definition at line 59 of file MueLu_LocalOrdinalTransferFactory_def.hpp.
|
private |
Definition at line 149 of file MueLu_LocalOrdinalTransferFactory_def.hpp.
|
private |
Definition at line 67 of file MueLu_LocalOrdinalTransferFactory_def.hpp.
|
private |
Use aggregates mode (as opposed to FC mode)
Definition at line 120 of file MueLu_LocalOrdinalTransferFactory_decl.hpp.
|
private |
The name for the vector to be transfered. This allows us to have multiple factories for different variables.
Definition at line 123 of file MueLu_LocalOrdinalTransferFactory_decl.hpp.