| 
    MueLu
    Version of the Day
    
   | 
 
Prolongator factory performing semi-coarsening. More...
#include <MueLu_SemiCoarsenPFactory_decl.hpp>
  
 Public Member Functions | |
| RCP< const ParameterList > | GetValidParameterList () const | 
| Return a const parameter list of valid parameters that setParameterList() will accept.  More... | |
  Public Member Functions inherited from MueLu::PFactory | |
| PFactory () | |
| Constructor.  More... | |
| virtual | ~PFactory () | 
| Destructor.  More... | |
| void | setRestrictionMode (bool bRestrictionMode=false) | 
| bool | isRestrictionModeSet () | 
| returns restrictionMode flag  More... | |
  Public Member Functions inherited from MueLu::TwoLevelFactoryBase | |
| TwoLevelFactoryBase () | |
| Constructor.  More... | |
| virtual | ~TwoLevelFactoryBase () | 
| Destructor.  More... | |
| virtual void | CallDeclareInput (Level &requestedLevel) const | 
| virtual void | CallBuild (Level &requestedLevel) const | 
  Public Member Functions inherited from MueLu::Factory | |
| void | EnableMultipleCallCheck () const | 
| Constructor.  More... | |
| void | DisableMultipleCallCheck () const | 
| void | ResetDebugData () 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 () | 
| virtual void | SetFactory (const std::string &varName, const RCP< const FactoryBase > &factory)=0 | 
| Configuration.  More... | |
| virtual const RCP< const  FactoryBase >  | GetFactory (const std::string &varName) const =0 | 
  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 | 
Private Member Functions | |
| LO | FindCpts (LO const PtsPerLine, LO const CoarsenRate, LO const Thin, LO **LayerCpts) const | 
| LO | MakeSemiCoarsenP (LO const Ntotal, LO const nz, LO const CoarsenRate, LO const LayerId[], LO const VertLineId[], LO const DofsPerNode, RCP< Matrix > &Amat, RCP< Matrix > &P, RCP< const Map > &coarseMap, const RCP< MultiVector > fineNullspace, RCP< MultiVector > &coarseNullspace) const | 
Private Attributes | |
| bool | bTransferCoordinates_ | 
Constructors/Destructors. | |
| SemiCoarsenPFactory () | |
| Constructor.  More... | |
| virtual | ~SemiCoarsenPFactory () | 
| Destructor.  More... | |
| void | DeclareInput (Level &fineLevel, Level &coarseLevel) const | 
| Input.  More... | |
Build methods. | |
| void | Build (Level &fineLevel, Level &coarseLevel) const | 
| Build an object with this factory.  More... | |
| void | BuildP (Level &fineLevel, Level &coarseLevel) const | 
| Abstract Build method.  More... | |
Additional Inherited Members | |
  Static Public Member Functions inherited from MueLu::Factory | |
| static void | EnableMultipleCheckGlobally () | 
| static void | DisableMultipleCheckGlobally () | 
  Static Public Member Functions inherited from MueLu::VerboseObject | |
| static void | SetMueLuOStream (const Teuchos::RCP< Teuchos::FancyOStream > &mueluOStream) | 
| 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 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 | 
  Protected Attributes inherited from MueLu::PFactory | |
| bool | restrictionMode_ | 
Prolongator factory performing semi-coarsening.
The semi-coarsening is performed along user-provided "vertical lines" (in z-direction). The line detection algorithm can be found in the LineDetectionFactory. Usually, the SemiCoarsenPFactory is used together with the TogglePFactory and a second TentativePFactory which allows to dynamically switch from semi-coarsening to aggregation-based coarsening (or any other compatible coarsening algorithm).
| Parameter | type | default | master.xml | validated | requested | description | 
|---|---|---|---|---|---|---|
| A | Factory | null | * | * | Generating factory of the matrix A used during the prolongator smoothing process | |
| Nullspace | Factory | null | * | * | Generating factory of the nullspace. The SemiCoarsenPFactory provides a coarse version of the given Nullspace. | |
| Coordinates | Factory | NoFactory | * | * | Generating factory for coorindates. The coordinates are expected to be provided on the finest level using the NoFactory mechanism. The coordinates are used to determine the number of z-layers if not otherwise provided by the user. | |
| LineDetection_VertLineIds | Factory | null | * | * | Generating factory for LineDetection information. Usually provided by the LineDetectionFactory. Array with vertical line ids for all nodes on current processor. | |
| LineDetection_Layers | Factory | null | * | * | Generating factory for LineDetection information. Usually provided by the LineDetectionFactory. Array with layer id for all nodes on current processor. | |
| CoarseNumZLayers | Factory | null | * | * | Generating factory for LineDetection information. Usually provided by the LineDetectionFactory. Number of remaining z-layers after semi-coarsening. | 
| semicoarsen: coarsen rate | int | * | * | | Coarsening rate along vertical lines (2 corresponds to classical semicoarsening. Values > 2 for more aggressive coarsening). |
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 SemiCoarsenPFactory::GetValidParameters).
 The * in the requested column states that the data is requested as input with all dependencies (see SemiCoarsenPFactory::DeclareInput).
After SemiCoarsenPFactory::Build the following data is available (if requested)
| Parameter | generated by | description | 
|---|---|---|
| P | SemiCoarsenPFactory | Prolongator | 
| Nullspace | SemiCoarsenPFactory | Coarse nullspace (the fine level nullspace information is coarsened using P to generate a coarse version of the nullspace. No scaling is applied. | 
| NumZLayers | NoFactory | Number of z layers after coarsening. Necessary input for LineDetectionFactory. Useful input for TogglePFactory. | 
Definition at line 111 of file MueLu_SemiCoarsenPFactory_decl.hpp.
      
  | 
  inline | 
Constructor.
Definition at line 120 of file MueLu_SemiCoarsenPFactory_decl.hpp.
      
  | 
  inlinevirtual | 
Destructor.
Definition at line 123 of file MueLu_SemiCoarsenPFactory_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.
Implements MueLu::ParameterListAcceptor.
Definition at line 68 of file MueLu_SemiCoarsenPFactory_def.hpp.
      
  | 
  virtual | 
Input.
Implements MueLu::TwoLevelFactoryBase.
Definition at line 86 of file MueLu_SemiCoarsenPFactory_def.hpp.
      
  | 
  virtual | 
Build an object with this factory.
Implements MueLu::TwoLevelFactoryBase.
Definition at line 116 of file MueLu_SemiCoarsenPFactory_def.hpp.
      
  | 
  virtual | 
Abstract Build method.
Implements MueLu::PFactory.
Definition at line 121 of file MueLu_SemiCoarsenPFactory_def.hpp.
      
  | 
  private | 
Definition at line 267 of file MueLu_SemiCoarsenPFactory_def.hpp.
      
  | 
  private | 
Definition at line 323 of file MueLu_SemiCoarsenPFactory_def.hpp.
      
  | 
  mutableprivate | 
Definition at line 150 of file MueLu_SemiCoarsenPFactory_decl.hpp.