Stokhos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Typedefs | Enumerations | Functions | Variables
experimental/linear2d_diffusion_pce.cpp File Reference
#include "Stokhos_Epetra.hpp"
#include "Stokhos_Sacado.hpp"
#include "Stokhos_Ifpack2.hpp"
#include "twoD_diffusion_problem_tpetra.hpp"
#include "Epetra_SerialComm.h"
#include "Ifpack2_Factory.hpp"
#include "BelosLinearProblem.hpp"
#include "kokkos_pce_specializations.hpp"
#include "BelosPseudoBlockCGSolMgr.hpp"
#include "BelosPseudoBlockGmresSolMgr.hpp"
#include "MatrixMarket_Tpetra.hpp"
#include "BelosBlockGmresSolMgr.hpp"
#include "Teuchos_TimeMonitor.hpp"
#include "Teuchos_CommandLineProcessor.hpp"
#include "linear2d_diffusion_scalar_types.hpp"
#include "Stokhos_MueLu.hpp"
#include "Stokhos_MueLu_QR_Interface_decl.hpp"
#include "Stokhos_MueLu_QR_Interface_def.hpp"
#include "MueLu_SmootherFactory.hpp"
#include "MueLu_TrilinosSmoother.hpp"
#include <BelosXpetraAdapter.hpp>
#include <BelosMueLuAdapter.hpp>
#include "Xpetra_MultiVectorFactory.hpp"
#include "Xpetra_Matrix.hpp"
#include "Xpetra_Map.hpp"
#include "MueLu_Level.hpp"
#include "MueLu_CoupledAggregationFactory.hpp"
#include "MueLu_SaPFactory.hpp"
Include dependency graph for experimental/linear2d_diffusion_pce.cpp:

Go to the source code of this file.

Typedefs

typedef
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType 
Node
 
typedef Xpetra::Matrix< Scalar,
LocalOrdinal, GlobalOrdinal,
Node
Xpetra_Matrix
 
typedef Xpetra::Map
< LocalOrdinal, GlobalOrdinal,
Node
Xpetra_Map
 

Enumerations

enum  SG_RF {
  UNIFORM, CC_UNIFORM, RYS, LOGNORMAL,
  UNIFORM, CC_UNIFORM, RYS, LOGNORMAL,
  UNIFORM, CC_UNIFORM, RYS, LOGNORMAL,
  UNIFORM, RYS, LOGNORMAL, UNIFORM,
  LOGNORMAL, UNIFORM, LOGNORMAL
}
 
enum  Krylov_Method {
  GMRES, CG, GMRES, CG,
  FGMRES, RGMRES, GMRES, CG,
  GMRES, CG, FGMRES, RGMRES,
  GMRES, CG, GMRES, CG
}
 
enum  Multigrid_Smoother { CHEBYSHEV, SGS }
 
enum  SG_Prec {
  MEAN, GS, AGS, AJ,
  ASC, KP, NONE, NONE,
  MEAN, STOCHASTIC, NONE, MEAN,
  STOCHASTIC
}
 
enum  SG_Div {
  DIRECT, SPD_DIRECT, MEAN_DIV, QUAD,
  CGD, DIRECT, SPD_DIRECT, MEAN_DIV,
  QUAD, CGD
}
 
enum  SG_DivPrec {
  NO, DIAG, JACOBI, GS,
  SCHUR, NO, DIAG, JACOBI,
  GS, SCHUR
}
 
enum  Schur_option {
  full, diag, full, diag,
  full, diag
}
 
enum  Prec_option {
  whole, linear, whole, linear,
  whole, linear
}
 

Functions

template<typename ordinal_type , typename value_type , typename Storage >
void returnScalarAsDenseMatrix (Sacado::PCE::OrthogPoly< value_type, Storage > const &inval, Teuchos::RCP< Teuchos::SerialDenseMatrix< ordinal_type, value_type > > &denseEntry, Teuchos::RCP< Stokhos::Sparse3Tensor< ordinal_type, value_type > > const &Cijk)
 
template<typename ordinal_type , typename value_type >
void PrintMatrix (Teuchos::FancyOStream &fos, Teuchos::RCP< Xpetra_Matrix > const &A, Teuchos::RCP< Stokhos::Sparse3Tensor< ordinal_type, value_type > > const &Cijk, Teuchos::RCP< const Stokhos::OrthogPolyBasis< ordinal_type, value_type > > const &basis)
 
int main (int argc, char *argv[])
 

Variables

const int num_sg_rf = 2
 
const SG_RF sg_rf_values [] = { UNIFORM, LOGNORMAL }
 
const char * sg_rf_names [] = { "Uniform", "Log-Normal" }
 
const int num_krylov_method = 2
 
const Krylov_Method krylov_method_values [] = { GMRES, CG }
 
const char * krylov_method_names [] = { "GMRES", "CG" }
 
const int num_multigrid_smoother = 2
 
const Multigrid_Smoother multigrid_smoother_values [] = { CHEBYSHEV, SGS }
 
const char * multigrid_smoother_names [] = { "Chebyshev", "SGS" }
 
const int num_sg_prec = 3
 
const SG_Prec sg_prec_values [] = { NONE, MEAN, STOCHASTIC }
 
const char * sg_prec_names []
 
const int num_sg_div = 5
 
const SG_Div sg_div_values [] = { DIRECT, SPD_DIRECT, MEAN_DIV, QUAD, CGD }
 
const char * sg_div_names []
 
const int num_sg_divprec = 5
 
const SG_DivPrec sg_divprec_values [] = {NO, DIAG, JACOBI, GS, SCHUR}
 
const char * sg_divprec_names []
 
const int num_schur_option = 2
 
const Schur_option Schur_option_values [] = { full, diag }
 
const char * schur_option_names [] = { "full", "diag"}
 
const int num_prec_option = 2
 
const Prec_option Prec_option_values [] = { whole, linear }
 
const char * prec_option_names [] = { "full", "linear"}
 

Typedef Documentation

typedef Tpetra::KokkosClassic::DefaultNode::DefaultNodeType Node

Definition at line 47 of file experimental/linear2d_diffusion_pce.cpp.

typedef Xpetra::Matrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> Xpetra_Matrix

Definition at line 153 of file experimental/linear2d_diffusion_pce.cpp.

typedef Xpetra::Map<LocalOrdinal, GlobalOrdinal, Node> Xpetra_Map

Definition at line 154 of file experimental/linear2d_diffusion_pce.cpp.

Enumeration Type Documentation

enum SG_RF
Enumerator
UNIFORM 
CC_UNIFORM 
RYS 
LOGNORMAL 
UNIFORM 
CC_UNIFORM 
RYS 
LOGNORMAL 
UNIFORM 
CC_UNIFORM 
RYS 
LOGNORMAL 
UNIFORM 
RYS 
LOGNORMAL 
UNIFORM 
LOGNORMAL 
UNIFORM 
LOGNORMAL 

Definition at line 61 of file experimental/linear2d_diffusion_pce.cpp.

Enumerator
GMRES 
CG 
GMRES 
CG 
FGMRES 
RGMRES 
GMRES 
CG 
GMRES 
CG 
FGMRES 
RGMRES 
GMRES 
CG 
GMRES 
CG 

Definition at line 67 of file experimental/linear2d_diffusion_pce.cpp.

Enumerator
CHEBYSHEV 
SGS 

Definition at line 73 of file experimental/linear2d_diffusion_pce.cpp.

enum SG_Prec
Enumerator
MEAN 
GS 
AGS 
AJ 
ASC 
KP 
NONE 
NONE 
MEAN 
STOCHASTIC 
NONE 
MEAN 
STOCHASTIC 

Definition at line 79 of file experimental/linear2d_diffusion_pce.cpp.

enum SG_Div
Enumerator
DIRECT 
SPD_DIRECT 
MEAN_DIV 
QUAD 
CGD 
DIRECT 
SPD_DIRECT 
MEAN_DIV 
QUAD 
CGD 

Definition at line 87 of file experimental/linear2d_diffusion_pce.cpp.

enum SG_DivPrec
Enumerator
NO 
DIAG 
JACOBI 
GS 
SCHUR 
NO 
DIAG 
JACOBI 
GS 
SCHUR 

Definition at line 97 of file experimental/linear2d_diffusion_pce.cpp.

Enumerator
full 
diag 
full 
diag 
full 
diag 

Definition at line 108 of file experimental/linear2d_diffusion_pce.cpp.

Enumerator
whole 
linear 
whole 
linear 
whole 
linear 

Definition at line 114 of file experimental/linear2d_diffusion_pce.cpp.

Function Documentation

template<typename ordinal_type , typename value_type , typename Storage >
void returnScalarAsDenseMatrix ( Sacado::PCE::OrthogPoly< value_type, Storage > const &  inval,
Teuchos::RCP< Teuchos::SerialDenseMatrix< ordinal_type, value_type > > &  denseEntry,
Teuchos::RCP< Stokhos::Sparse3Tensor< ordinal_type, value_type > > const &  Cijk 
)

Definition at line 124 of file experimental/linear2d_diffusion_pce.cpp.

template<typename ordinal_type , typename value_type >
void PrintMatrix ( Teuchos::FancyOStream fos,
Teuchos::RCP< Xpetra_Matrix > const &  A,
Teuchos::RCP< Stokhos::Sparse3Tensor< ordinal_type, value_type > > const &  Cijk,
Teuchos::RCP< const Stokhos::OrthogPolyBasis< ordinal_type, value_type > > const &  basis 
)

Definition at line 157 of file experimental/linear2d_diffusion_pce.cpp.

int main ( int  argc,
char *  argv[] 
)

Definition at line 188 of file experimental/linear2d_diffusion_pce.cpp.

Variable Documentation

const int num_sg_rf = 2

Definition at line 62 of file experimental/linear2d_diffusion_pce.cpp.

const SG_RF sg_rf_values[] = { UNIFORM, LOGNORMAL }

Definition at line 63 of file experimental/linear2d_diffusion_pce.cpp.

const char* sg_rf_names[] = { "Uniform", "Log-Normal" }

Definition at line 64 of file experimental/linear2d_diffusion_pce.cpp.

const int num_krylov_method = 2

Definition at line 68 of file experimental/linear2d_diffusion_pce.cpp.

const Krylov_Method krylov_method_values[] = { GMRES, CG }

Definition at line 69 of file experimental/linear2d_diffusion_pce.cpp.

const char* krylov_method_names[] = { "GMRES", "CG" }

Definition at line 70 of file experimental/linear2d_diffusion_pce.cpp.

const int num_multigrid_smoother = 2

Definition at line 74 of file experimental/linear2d_diffusion_pce.cpp.

const Multigrid_Smoother multigrid_smoother_values[] = { CHEBYSHEV, SGS }

Definition at line 75 of file experimental/linear2d_diffusion_pce.cpp.

const char* multigrid_smoother_names[] = { "Chebyshev", "SGS" }

Definition at line 76 of file experimental/linear2d_diffusion_pce.cpp.

const int num_sg_prec = 3

Definition at line 80 of file experimental/linear2d_diffusion_pce.cpp.

const SG_Prec sg_prec_values[] = { NONE, MEAN, STOCHASTIC }

Definition at line 81 of file experimental/linear2d_diffusion_pce.cpp.

const char* sg_prec_names[]
Initial value:
= { "None",
"Mean-Based",
"Stochastic" }

Definition at line 82 of file experimental/linear2d_diffusion_pce.cpp.

const int num_sg_div = 5

Definition at line 88 of file experimental/linear2d_diffusion_pce.cpp.

const SG_Div sg_div_values[] = { DIRECT, SPD_DIRECT, MEAN_DIV, QUAD, CGD }

Definition at line 89 of file experimental/linear2d_diffusion_pce.cpp.

const char* sg_div_names[]
Initial value:
= { "Direct",
"SPD-Direct",
"Mean-Based",
"Quadrature",
"CG"}

Definition at line 90 of file experimental/linear2d_diffusion_pce.cpp.

const int num_sg_divprec = 5

Definition at line 98 of file experimental/linear2d_diffusion_pce.cpp.

const SG_DivPrec sg_divprec_values[] = {NO, DIAG, JACOBI, GS, SCHUR}

Definition at line 99 of file experimental/linear2d_diffusion_pce.cpp.

const char* sg_divprec_names[]
Initial value:
= { "None",
"Diag",
"Jacobi",
"GS",
"Schur"}

Definition at line 100 of file experimental/linear2d_diffusion_pce.cpp.

const int num_schur_option = 2

Definition at line 109 of file experimental/linear2d_diffusion_pce.cpp.

const Schur_option Schur_option_values[] = { full, diag }

Definition at line 110 of file experimental/linear2d_diffusion_pce.cpp.

const char* schur_option_names[] = { "full", "diag"}

Definition at line 111 of file experimental/linear2d_diffusion_pce.cpp.

const int num_prec_option = 2

Definition at line 115 of file experimental/linear2d_diffusion_pce.cpp.

const Prec_option Prec_option_values[] = { whole, linear }

Definition at line 116 of file experimental/linear2d_diffusion_pce.cpp.

const char* prec_option_names[] = { "full", "linear"}

Definition at line 117 of file experimental/linear2d_diffusion_pce.cpp.