|
RCP< const ParameterList > | GetValidParameterList () const |
| Return a const parameter list of valid parameters that setParameterList() will accept. More...
|
|
| PFactory () |
| Constructor. More...
|
|
virtual | ~PFactory () |
| Destructor. More...
|
|
void | setRestrictionMode (bool bRestrictionMode=false) |
|
bool | isRestrictionModeSet () |
| returns restrictionMode flag More...
|
|
| TwoLevelFactoryBase () |
| Constructor. More...
|
|
virtual | ~TwoLevelFactoryBase () |
| Destructor. More...
|
|
virtual void | CallDeclareInput (Level &requestedLevel) const |
|
virtual void | CallBuild (Level &requestedLevel) const |
|
void | EnableMultipleCallCheck () const |
| Constructor. More...
|
|
void | DisableMultipleCallCheck () const |
|
void | ResetDebugData () 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 () |
|
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 |
|
| 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 |
|
|
void | MeshLayoutInterface (const int interpolationOrder, const LO blkSize, RCP< const Map > fineCoordsMap, RCP< GeometricData > myGeometry, RCP< NodesIDs > ghostedCoarseNodes, Array< Array< GO > > &lCoarseNodesGIDs) const |
|
void | GetCoarsePoints (const int interpolationOrder, const LO blkSize, RCP< const Map > fineCoordsMap, RCP< GeometricData > myGeometry, RCP< NodesIDs > ghostedCoarseNodes, Array< Array< GO > > &lCoarseNodesGIDs) const |
|
void | MakeGeneralGeometricP (RCP< GeometricData > myGeo, const RCP< Xpetra::MultiVector< typename Teuchos::ScalarTraits< Scalar >::coordinateType, LO, GO, NO > > &fCoords, const LO nnzP, const LO dofsPerNode, RCP< const Map > &stridedDomainMapP, RCP< Matrix > &Amat, RCP< Matrix > &P, RCP< Xpetra::MultiVector< typename Teuchos::ScalarTraits< Scalar >::coordinateType, LO, GO, NO > > &cCoords, RCP< NodesIDs > ghostedCoarseNodes, Array< Array< GO > > coarseNodesGIDs, int interpolationOrder) const |
|
void | ComputeStencil (const LO numDimension, const Array< GO > currentNodeIndices, const Array< GO > coarseNodeIndices, const LO rate[3], const Array< Array< typename Teuchos::ScalarTraits< Scalar >::coordinateType > > coord, const int interpolationOrder, std::vector< double > &stencil) const |
|
void | ComputeConstantInterpolationStencil (const LO numDimension, const Array< GO > currentNodeIndices, const Array< GO > coarseNodeIndices, const LO rate[3], std::vector< double > &stencil) const |
|
void | ComputeLinearInterpolationStencil (const LO numDimension, const Array< Array< typename Teuchos::ScalarTraits< Scalar >::coordinateType > > coord, std::vector< double > &stencil) const |
|
void | GetInterpolationFunctions (const LO numDimension, const Teuchos::SerialDenseVector< LO, double > parameters, double functions[4][8]) const |
|
void | sh_sort_permute (const typename Teuchos::Array< LocalOrdinal >::iterator &first1, const typename Teuchos::Array< LocalOrdinal >::iterator &last1, const typename Teuchos::Array< LocalOrdinal >::iterator &first2, const typename Teuchos::Array< LocalOrdinal >::iterator &last2) const |
|
void | sh_sort2 (const typename Teuchos::Array< LocalOrdinal >::iterator &first1, const typename Teuchos::Array< LocalOrdinal >::iterator &last1, const typename Teuchos::Array< LocalOrdinal >::iterator &first2, const typename Teuchos::Array< LocalOrdinal >::iterator &last2) const |
|
void | GetGIDLocalLexicographic (const GO i, const GO j, const GO k, const Array< LO > coarseNodeFineIndices, const RCP< GeometricData > myGeo, const LO myRankIndex, const LO pi, const LO pj, const LO pk, const typename std::vector< std::vector< GO > >::iterator blockStart, const typename std::vector< std::vector< GO > >::iterator blockEnd, GO &myGID, LO &myPID, LO &myLID) const |
|
template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
class MueLu::GeneralGeometricPFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >
Prolongator factory performing geometric coarsening.
The geometric algorithm assumes the underlying mesh is reasonably structured. Any rate of coarsening can be applied, and the rate is automatically decrease along an edge if the number of element is not divisible by the coarsening rate. The coarsening rate is allowed to be different in all direction which means that semi-coarsening can be achieved within this algorithm in 1 or 2 directions. The main difficulty is to obtain the number of elements/nodes in each directions to identify coarse nodes and fine nodes.
Parameter | type | default | master.xml | validated | requested | description |
Coarsen | string | -1 | | | | A string that specify the coarsening rate, if it is a single character, it will |
| | | | | | indicate a unique coarsening rate in each direction, if it is longer, it will be |
| | | | | | processed as a vector with 3 entries, one for each spatial direction |
A | Factory | null | | * | * | Generating factory of the matrix A used during the prolongator smoothing process |
Nullspace | Factory | null | | * | * | Generating factory of the nullspace. The GeneralGeometricPFactory 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 |
| | | | | | compute the coarsening stencil and coarse coordinates are generated for the next |
| | | | | | level. |
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 GeneralGeometricCoarsenPFactory::GetValidParameters).
The * in the requested
column states that the data is requested as input with all dependencies (see GeneralGeometricCoarsenPFactory::DeclareInput).
After GeneralGeometricPFactory::Build the following data is available (if requested)
Parameter | generated by | description |
P | GeneralGeometricPFactory | Prolongator |
Nullspace | GeneralGeometricPFactory | Coarse nullspace (the fine level nullspace information is coarsened using P to generate a coarse version |
| | of the nullspace. No scaling is applied. |
coarseCoordinates | NoFactory | Coarse coordinates that will be used on the next fine level to compute the coarsening stencils |
Definition at line 119 of file MueLu_GeneralGeometricPFactory_decl.hpp.