MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu_MatlabUtils_decl.hpp File Reference
#include "MueLu_ConfigDefs.hpp"
#include "mex.h"
#include <string>
#include <complex>
#include <stdexcept>
#include <Teuchos_ParameterList.hpp>
#include <Teuchos_RCP.hpp>
#include <Teuchos_DefaultComm.hpp>
#include "MueLu_Factory.hpp"
#include "MueLu_Hierarchy_decl.hpp"
#include "MueLu_Aggregates_decl.hpp"
#include "MueLu_AmalgamationInfo_decl.hpp"
#include "MueLu_Utilities_decl.hpp"
#include "MueLu_Graph_decl.hpp"
#include "Epetra_MultiVector.h"
#include "Epetra_CrsMatrix.h"
#include "Tpetra_CrsMatrix_decl.hpp"
#include "Xpetra_EpetraCrsMatrix.hpp"
#include "Xpetra_MapFactory.hpp"
#include "Xpetra_CrsGraph.hpp"
#include "Xpetra_VectorFactory.hpp"
#include <Tpetra_Core.hpp>
#include "Kokkos_DynRankView.hpp"

Go to the source code of this file.

Classes

class  MueLu::MuemexArg
 
class  MueLu::MuemexData< T >
 

Namespaces

 MueLu
 Namespace for MueLu classes and methods.
 

Typedefs

typedef
Kokkos::Compat::KokkosDeviceWrapperNode
< Kokkos::Serial,
Kokkos::HostSpace
MueLu::mm_node_t
 
typedef int MueLu::mm_LocalOrd
 
typedef int MueLu::mm_GlobalOrd
 
typedef std::complex< double > MueLu::complex_t
 
typedef Tpetra::Map MueLu::muemex_map_type
 
typedef Tpetra::CrsMatrix
< double, mm_LocalOrd,
mm_GlobalOrd, mm_node_t > 
MueLu::Tpetra_CrsMatrix_double
 
typedef Tpetra::CrsMatrix
< complex_t, mm_LocalOrd,
mm_GlobalOrd, mm_node_t > 
MueLu::Tpetra_CrsMatrix_complex
 
typedef Tpetra::MultiVector
< double, mm_LocalOrd,
mm_GlobalOrd, mm_node_t > 
MueLu::Tpetra_MultiVector_double
 
typedef Tpetra::MultiVector
< complex_t, mm_LocalOrd,
mm_GlobalOrd, mm_node_t > 
MueLu::Tpetra_MultiVector_complex
 
typedef Xpetra::Map
< mm_LocalOrd, mm_GlobalOrd,
mm_node_t > 
MueLu::Xpetra_map
 
typedef Xpetra::Vector
< mm_LocalOrd, mm_LocalOrd,
mm_GlobalOrd, mm_node_t > 
MueLu::Xpetra_ordinal_vector
 
typedef Xpetra::Matrix< double,
mm_LocalOrd, mm_GlobalOrd,
mm_node_t > 
MueLu::Xpetra_Matrix_double
 
typedef Xpetra::Matrix
< complex_t, mm_LocalOrd,
mm_GlobalOrd, mm_node_t > 
MueLu::Xpetra_Matrix_complex
 
typedef Xpetra::CrsGraph
< mm_LocalOrd, mm_GlobalOrd,
mm_node_t > 
MueLu::Xpetra_CrsGraph
 
typedef Xpetra::MultiVector
< double, mm_LocalOrd,
mm_GlobalOrd, mm_node_t > 
MueLu::Xpetra_MultiVector_double
 
typedef Xpetra::MultiVector
< complex_t, mm_LocalOrd,
mm_GlobalOrd, mm_node_t > 
MueLu::Xpetra_MultiVector_complex
 
typedef MueLu::Hierarchy
< double, mm_LocalOrd,
mm_GlobalOrd, mm_node_t > 
MueLu::Hierarchy_double
 
typedef MueLu::Hierarchy
< complex_t, mm_LocalOrd,
mm_GlobalOrd, mm_node_t > 
MueLu::Hierarchy_complex
 
typedef MueLu::Aggregates
< mm_LocalOrd, mm_GlobalOrd,
mm_node_t > 
MueLu::MAggregates
 
typedef
MueLu::AmalgamationInfo
< mm_LocalOrd, mm_GlobalOrd,
mm_node_t > 
MueLu::MAmalInfo
 
typedef MueLu::GraphBase
< mm_LocalOrd, mm_GlobalOrd,
mm_node_t > 
MueLu::MGraph
 

Enumerations

enum  MueLu::MuemexType {
  MueLu::INT, MueLu::BOOL, MueLu::DOUBLE, MueLu::COMPLEX,
  MueLu::STRING, MueLu::XPETRA_MAP, MueLu::XPETRA_ORDINAL_VECTOR, MueLu::TPETRA_MULTIVECTOR_DOUBLE,
  MueLu::TPETRA_MULTIVECTOR_COMPLEX, MueLu::TPETRA_MATRIX_DOUBLE, MueLu::TPETRA_MATRIX_COMPLEX, MueLu::XPETRA_MATRIX_DOUBLE,
  MueLu::XPETRA_MATRIX_COMPLEX, MueLu::XPETRA_MULTIVECTOR_DOUBLE, MueLu::XPETRA_MULTIVECTOR_COMPLEX, MueLu::EPETRA_CRSMATRIX,
  MueLu::EPETRA_MULTIVECTOR, MueLu::AGGREGATES, MueLu::AMALGAMATION_INFO, MueLu::GRAPH
}
 

Functions

template<typename T >
MuemexType MueLu::getMuemexType (const T &data)
 
template<typename T >
MuemexType MueLu::getMuemexType ()
 
template<typename T >
MueLu::loadDataFromMatlab (const mxArray *mxa)
 
template<typename T >
mxArray * MueLu::saveDataToMatlab (T &data)
 
template<typename T >
void MueLu::addLevelVariable (const T &data, std::string &name, Level &lvl, const FactoryBase *fact=NoFactory::get())
 
template<typename T >
const T & MueLu::getLevelVariable (std::string &name, Level &lvl)
 
template<typename Scalar = double, typename LocalOrdinal = mm_LocalOrd, typename GlobalOrdinal = mm_GlobalOrd, typename Node = mm_node_t>
std::vector< Teuchos::RCP
< MuemexArg > > 
MueLu::processNeeds (const Factory *factory, std::string &needsParam, Level &lvl)
 
template<typename Scalar = double, typename LocalOrdinal = mm_LocalOrd, typename GlobalOrdinal = mm_GlobalOrd, typename Node = mm_node_t>
void MueLu::processProvides (std::vector< Teuchos::RCP< MuemexArg >> &mexOutput, const Factory *factory, std::string &providesParam, Level &lvl)
 
template<typename Scalar >
mxArray * MueLu::createMatlabSparse (int numRows, int numCols, int nnz)
 
template<typename Scalar >
mxArray * MueLu::createMatlabMultiVector (int numRows, int numCols)
 
template<typename Scalar >
void MueLu::fillMatlabArray (Scalar *array, const mxArray *mxa, int n)
 
int * MueLu::mwIndex_to_int (int N, mwIndex *mwi_array)
 
bool MueLu::isValidMatlabAggregates (const mxArray *mxa)
 
bool MueLu::isValidMatlabGraph (const mxArray *mxa)
 
std::vector< std::string > MueLu::tokenizeList (const std::string &params)
 
void MueLu::callMatlabNoArgs (std::string function)
 
std::vector< Teuchos::RCP
< MuemexArg > > 
MueLu::callMatlab (std::string function, int numOutputs, std::vector< Teuchos::RCP< MuemexArg >> args)
 
Teuchos::RCP
< Teuchos::ParameterList
MueLu::getInputParamList ()
 
Teuchos::RCP< MuemexArg > MueLu::convertMatlabVar (const mxArray *mxa)
 
static std::string & MueLu::ltrim (std::string &s)
 
static std::string & MueLu::rtrim (std::string &s)
 
static std::string & MueLu::trim (std::string &s)