53Teuchos::RCP<Teuchos::ParameterList>
buildAppParams(
int num_KL,
bool full_expansion)
55 Teuchos::RCP<Teuchos::ParameterList> appParams = Teuchos::rcp(
new Teuchos::ParameterList);
57 Teuchos::ParameterList& problemParams =
58 appParams->sublist(
"Problem");
59 problemParams.set(
"Name",
"Heat Nonlinear Source");
62 problemParams.set(
"Left BC", 0.0);
63 problemParams.set(
"Right BC", 0.0);
66 Teuchos::ParameterList& sourceParams =
67 problemParams.sublist(
"Source Function");
68 sourceParams.set(
"Name",
"Constant");
69 sourceParams.set(
"Constant Value", 1.0);
72 Teuchos::ParameterList& matParams =
73 problemParams.sublist(
"Material Function");
74 matParams.set(
"Name",
"KL Exponential Random Field");
75 matParams.set(
"Mean", 1.0);
76 matParams.set(
"Standard Deviation", 0.5);
77 matParams.set(
"Number of KL Terms", num_KL);
78 Teuchos::Array<double> a(1), b(1), L(1);
79 a[0] = 0.0; b[0] = 1.0; L[0] = 1.0;
80 matParams.set(
"Domain Lower Bounds", a);
81 matParams.set(
"Domain Upper Bounds", b);
82 matParams.set(
"Correlation Lengths", L);
85 Teuchos::ParameterList& responseParams =
86 problemParams.sublist(
"Response Functions");
87 responseParams.set(
"Number", 1);
88 responseParams.set(
"Response 0",
"Solution Average");
91 Teuchos::RCP<Teuchos::ParameterList> sgParams =
92 Teuchos::rcp(&(appParams->sublist(
"SG Parameters")),
false);
93 if (!full_expansion) {
94 sgParams->set(
"Parameter Expansion Type",
"Linear");
95 sgParams->set(
"Jacobian Expansion Type",
"Linear");
97 Teuchos::ParameterList& sgOpParams =
98 sgParams->sublist(
"SG Operator");
99 sgOpParams.set(
"Operator Method",
"Matrix Free");
100 Teuchos::ParameterList& sgPrecParams =
101 sgParams->sublist(
"SG Preconditioner");
102 sgPrecParams.set(
"Preconditioner Method",
"Mean-based");
103 sgPrecParams.set(
"Mean Preconditioner Type",
"ML");
104 Teuchos::ParameterList& precParams =
105 sgPrecParams.sublist(
"Mean Preconditioner Parameters");
106 precParams.set(
"default values",
"SA");
141 const Teuchos::RCP<const Epetra_Comm> & globalComm,
144 Teuchos::ParameterList parallelParams;
145 parallelParams.set(
"Number of Spatial Processors", globalComm->NumProc());
147 Teuchos::RCP<Stokhos::Sparse3Tensor<int,double> > Cijk;
149 Cijk = basis->computeTripleProductTensor();
151 Cijk = basis->computeLinearTripleProductTensor();
153 Teuchos::RCP<Stokhos::ParallelData> sg_parallel_data
157 return sg_parallel_data;
Teuchos::RCP< Stokhos::ParallelData > buildParallelData(bool full_expansion, int num_KL, const Teuchos::RCP< const Epetra_Comm > &globalComm, const Teuchos::RCP< const Stokhos::CompletePolynomialBasis< int, double > > &basis)