42 #ifndef STOKHOS_SGQUADMPMODELEVALUATOR_HPP 43 #define STOKHOS_SGQUADMPMODELEVALUATOR_HPP 45 #include "EpetraExt_ModelEvaluator.h" 46 #include "EpetraExt_MultiComm.h" 48 #include "Teuchos_RCP.hpp" 49 #include "Teuchos_Array.hpp" 69 const Teuchos::RCP<EpetraExt::ModelEvaluator>&
me,
70 const Teuchos::RCP<const EpetraExt::MultiComm>&
mp_comm,
77 Teuchos::RCP<const Epetra_Map>
get_x_map()
const;
80 Teuchos::RCP<const Epetra_Map>
get_f_map()
const;
83 Teuchos::RCP<const Epetra_Map>
get_p_map(
int l)
const;
86 Teuchos::RCP<const Epetra_Map>
get_g_map(
int l)
const;
89 Teuchos::RCP<const Teuchos::Array<std::string> >
93 Teuchos::RCP<const Epetra_Vector>
get_x_init()
const;
96 Teuchos::RCP<const Epetra_Vector>
get_p_init(
int l)
const;
99 Teuchos::RCP<Epetra_Operator>
create_W()
const;
108 void evalModel(
const InArgs& inArgs,
const OutArgs& outArgs)
const;
115 Teuchos::RCP<EpetraExt::ModelEvaluator>
me;
118 Teuchos::RCP<const EpetraExt::MultiComm>
mp_comm;
124 Teuchos::RCP<const Stokhos::Quadrature<int,double> >
sg_quad;
151 Teuchos::Array<mp_vector_t>
p_mp;
163 Teuchos::Array<mp_vector_t>
g_mp;
172 Teuchos::Array< Teuchos::Array<MPDerivative> >
dgdp_mp;
178 #endif // STOKHOS_SGQUADMPMODELEVALUATOR_HPP mp_vector_t x_dot_mp
Time derivative vector.
Teuchos::RCP< const Stokhos::Quadrature< int, double > > sg_quad
SG quadrature.
int num_g
Number of response vectors.
Teuchos::Array< mp_vector_t > p_mp
Parameter vectors.
OutArgs createOutArgs() const
Create OutArgs.
SGQuadMPModelEvaluator(const Teuchos::RCP< EpetraExt::ModelEvaluator > &me, const Teuchos::RCP< const EpetraExt::MultiComm > &mp_comm, const Teuchos::RCP< const Epetra_Map > &mp_block_map)
Teuchos::RCP< const Epetra_Vector > get_x_init() const
Return initial solution.
Teuchos::Array< int > mp_p_index_map
Index map between block-p and p_mp maps.
mp_operator_t W_mp
W operator.
Teuchos::RCP< const EpetraExt::MultiComm > mp_comm
Parallel MP communicator.
Teuchos::RCP< const Epetra_Map > get_x_map() const
Return solution vector map.
mp_vector_t x_mp
Solution vector.
Teuchos::RCP< const Epetra_Map > get_g_map(int l) const
Return observation vector map.
Teuchos::Array< MPDerivative > dgdx_dot_mp
Response derivative.
int num_g_mp
Number of multipoint response vectors.
Teuchos::Array< MPDerivative > dfdp_mp
Residual derivatives.
Teuchos::RCP< Epetra_Operator > create_W() const
Create W = alpha*M + beta*J matrix.
Top-level namespace for Stokhos classes and functions.
Teuchos::RCP< const Epetra_Map > mp_block_map
Map for layout of parallel MP blocks.
ModelEvaluator adaptor that implements the stochastic Galerkin residual and Jacobian computations usi...
Teuchos::RCP< const Epetra_Vector > get_p_init(int l) const
Return initial parameters.
Teuchos::Array< int > mp_g_index_map
Index map between block-g and g_mp maps.
void evalModel(const InArgs &inArgs, const OutArgs &outArgs) const
Evaluate model on InArgs.
Teuchos::RCP< const Epetra_Map > get_p_map(int l) const
Return parameter vector map.
Teuchos::RCP< const Epetra_Map > get_f_map() const
Return residual vector map.
Teuchos::RCP< const Teuchos::Array< std::string > > get_p_names(int l) const
Return array of parameter names.
Teuchos::RCP< EpetraExt::ModelEvaluator > me
Underlying model evaluator.
int num_p_mp
Number of multipoint parameter vectors.
Teuchos::Array< mp_vector_t > g_mp
Response vectors.
Teuchos::Array< MPDerivative > dgdx_mp
Response derivative.
mp_vector_t f_mp
Residual vector.
InArgs createInArgs() const
Create InArgs.
int num_p
Number of parameter vectors.
Teuchos::Array< Teuchos::Array< MPDerivative > > dgdp_mp
Response sensitivities.