MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu_ParameterListInterpreter_def.hpp File Reference
#include <Teuchos_XMLParameterListHelpers.hpp>
#include <Xpetra_Matrix.hpp>
#include "MueLu_ConfigDefs.hpp"
#include "MueLu_ParameterListInterpreter_decl.hpp"
#include "MueLu_MasterList.hpp"
#include "MueLu_Level.hpp"
#include "MueLu_Hierarchy.hpp"
#include "MueLu_FactoryManager.hpp"
#include "MueLu_AggregationExportFactory.hpp"
#include "MueLu_BrickAggregationFactory.hpp"
#include "MueLu_CoalesceDropFactory.hpp"
#include "MueLu_CoarseMapFactory.hpp"
#include "MueLu_ConstraintFactory.hpp"
#include "MueLu_CoordinatesTransferFactory.hpp"
#include "MueLu_CoupledAggregationFactory.hpp"
#include "MueLu_DirectSolver.hpp"
#include "MueLu_EminPFactory.hpp"
#include "MueLu_Exceptions.hpp"
#include "MueLu_FacadeClassFactory.hpp"
#include "MueLu_FactoryFactory.hpp"
#include "MueLu_FilteredAFactory.hpp"
#include "MueLu_GenericRFactory.hpp"
#include "MueLu_LineDetectionFactory.hpp"
#include "MueLu_NullspaceFactory.hpp"
#include "MueLu_PatternFactory.hpp"
#include "MueLu_PgPFactory.hpp"
#include "MueLu_RAPFactory.hpp"
#include "MueLu_RAPShiftFactory.hpp"
#include "MueLu_RebalanceAcFactory.hpp"
#include "MueLu_RebalanceTransferFactory.hpp"
#include "MueLu_RepartitionFactory.hpp"
#include "MueLu_SaPFactory.hpp"
#include "MueLu_SemiCoarsenPFactory.hpp"
#include "MueLu_SmootherFactory.hpp"
#include "MueLu_TentativePFactory.hpp"
#include "MueLu_TogglePFactory.hpp"
#include "MueLu_ToggleCoordinatesTransferFactory.hpp"
#include "MueLu_TransPFactory.hpp"
#include "MueLu_UncoupledAggregationFactory.hpp"
#include "MueLu_HybridAggregationFactory.hpp"
#include "MueLu_ZoltanInterface.hpp"
#include "MueLu_Zoltan2Interface.hpp"
#include "MueLu_NodePartitionInterface.hpp"
#include "../matlab/src/MueLu_MatlabSmoother_decl.hpp"
#include "../matlab/src/MueLu_MatlabSmoother_def.hpp"
#include "../matlab/src/MueLu_TwoLevelMatlabFactory_decl.hpp"
#include "../matlab/src/MueLu_TwoLevelMatlabFactory_def.hpp"
#include "../matlab/src/MueLu_SingleLevelMatlabFactory_decl.hpp"
#include "../matlab/src/MueLu_SingleLevelMatlabFactory_def.hpp"
#include <unordered_set>

Go to the source code of this file.

Namespaces

 MueLu
 Namespace for MueLu classes and methods.
 

Macros

#define MUELU_SET_VAR_2LIST(paramList, defaultList, paramName, paramType, varName)
 
#define MUELU_TEST_AND_SET_VAR(paramList, paramName, paramType, varName)   (paramList.isParameter(paramName) ? varName = paramList.get<paramType>(paramName), true : false)
 
#define MUELU_TEST_AND_SET_PARAM_2LIST(paramList, defaultList, paramName, paramType, listWrite)
 
#define MUELU_TEST_PARAM_2LIST(paramList, defaultList, paramName, paramType, cmpValue)
 
#define MUELU_KOKKOS_FACTORY(varName, oldFactory, newFactory)   RCP<Factory> varName = rcp(new oldFactory());
 
#define MUELU_KOKKOS_FACTORY_NO_DECL(varName, oldFactory, newFactory)   varName = rcp(new oldFactory());
 
#define TEST_MUTUALLY_EXCLUSIVE(arg1, arg2)
 
#define TEST_MUTUALLY_EXCLUSIVE_S(arg1, arg2)
 
#define MUELU_PARAMETERLISTINTERPRETER_SHORT
 

Functions

static bool MueLu::areSame (const ParameterList &list1, const ParameterList &list2)
 Helper functions to compare two paramter lists. More...
 
size_t MueLu::LevenshteinDistance (const char *s, size_t len_s, const char *t, size_t len_t)
 
static bool MueLu::compare (const ParameterList &list1, const ParameterList &list2)
 

Macro Definition Documentation

#define MUELU_SET_VAR_2LIST (   paramList,
  defaultList,
  paramName,
  paramType,
  varName 
)
Value:
paramType varName; \
if (paramList.isParameter(paramName)) varName = paramList.get<paramType>(paramName); \
else if (defaultList.isParameter(paramName)) varName = defaultList.get<paramType>(paramName); \
else varName = MasterList::getDefault<paramType>(paramName);

Definition at line 199 of file MueLu_ParameterListInterpreter_def.hpp.

#define MUELU_TEST_AND_SET_VAR (   paramList,
  paramName,
  paramType,
  varName 
)    (paramList.isParameter(paramName) ? varName = paramList.get<paramType>(paramName), true : false)

Definition at line 205 of file MueLu_ParameterListInterpreter_def.hpp.

#define MUELU_TEST_AND_SET_PARAM_2LIST (   paramList,
  defaultList,
  paramName,
  paramType,
  listWrite 
)
Value:
try { \
if (paramList .isParameter(paramName)) listWrite.set(paramName, paramList .get<paramType>(paramName)); \
else if (defaultList.isParameter(paramName)) listWrite.set(paramName, defaultList.get<paramType>(paramName)); \
} \
catch(Teuchos::Exceptions::InvalidParameterType) { \
TEUCHOS_TEST_FOR_EXCEPTION_PURE_MSG(true, Teuchos::Exceptions::InvalidParameterType, \
"Error: parameter \"" << paramName << "\" must be of type " << Teuchos::TypeNameTraits<paramType>::name()); \
} \

Definition at line 210 of file MueLu_ParameterListInterpreter_def.hpp.

#define MUELU_TEST_PARAM_2LIST (   paramList,
  defaultList,
  paramName,
  paramType,
  cmpValue 
)
Value:
(cmpValue == ( \
paramList.isParameter(paramName) ? paramList .get<paramType>(paramName) : ( \
defaultList.isParameter(paramName) ? defaultList.get<paramType>(paramName) : \
MasterList::getDefault<paramType>(paramName) ) ) )

Definition at line 220 of file MueLu_ParameterListInterpreter_def.hpp.

#define MUELU_KOKKOS_FACTORY (   varName,
  oldFactory,
  newFactory 
)    RCP<Factory> varName = rcp(new oldFactory());

Definition at line 227 of file MueLu_ParameterListInterpreter_def.hpp.

#define MUELU_KOKKOS_FACTORY_NO_DECL (   varName,
  oldFactory,
  newFactory 
)    varName = rcp(new oldFactory());

Definition at line 229 of file MueLu_ParameterListInterpreter_def.hpp.

#define TEST_MUTUALLY_EXCLUSIVE (   arg1,
  arg2 
)
Value:
TEUCHOS_TEST_FOR_EXCEPTION(paramList.isParameter(#arg1) && paramList.isParameter(#arg2), \
Exceptions::InvalidArgument, "You cannot specify both \""#arg1"\" and \""#arg2"\"");
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
#define TEST_MUTUALLY_EXCLUSIVE_S (   arg1,
  arg2 
)
Value:
TEUCHOS_TEST_FOR_EXCEPTION(paramList.isSublist(#arg1) && paramList.isSublist(#arg2), \
Exceptions::InvalidArgument, "You cannot specify both \""#arg1"\" and \""#arg2"\"");
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
#define MUELU_PARAMETERLISTINTERPRETER_SHORT

Definition at line 2225 of file MueLu_ParameterListInterpreter_def.hpp.