Stokhos  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Member Functions | Protected Attributes | List of all members
Stokhos::MPModelEvaluator Class Reference

Multi-point model evaluator. More...

#include <Stokhos_MPModelEvaluator.hpp>

Inheritance diagram for Stokhos::MPModelEvaluator:
Inheritance graph
[legend]
Collaboration diagram for Stokhos::MPModelEvaluator:
Collaboration graph
[legend]

Public Member Functions

 MPModelEvaluator (const Teuchos::RCP< EpetraExt::ModelEvaluator > &me, const Teuchos::RCP< const EpetraExt::MultiComm > &mp_comm, const Teuchos::RCP< const Epetra_Map > &mp_block_map, const Teuchos::RCP< Teuchos::ParameterList > &params)
 
void set_x_mp_init (const Stokhos::ProductEpetraVector &x_mp_in)
 Set initial multi-point solution.
 
void set_x_dot_mp_init (const Stokhos::ProductEpetraVector &x_dot_mp_in)
 
Teuchos::RCP< const
Stokhos::ProductEpetraVector
get_x_mp_init () const
 Return initial SG x.
 
Teuchos::RCP< const
Stokhos::ProductEpetraVector
get_x_dot_mp_init () const
 
void set_p_mp_init (int i, const Stokhos::ProductEpetraVector &p_mp_in)
 Set initial multi-point parameter.
 
Teuchos::RCP< const
Stokhos::ProductEpetraVector
get_p_mp_init (int l) const
 Return initial SG parameters.
 
Teuchos::Array< int > get_p_mp_map_indices () const
 Get indices of MP parameters. More...
 
Teuchos::Array< int > get_g_mp_map_indices () const
 Get indices of MP responses. More...
 
Teuchos::Array< Teuchos::RCP
< const Epetra_Map > > 
get_g_mp_base_maps () const
 Get base maps of MP responses.
 
Teuchos::RCP
< Stokhos::ProductEpetraVector
create_x_mp (Epetra_DataAccess CV=Copy, const Epetra_Vector *v=NULL) const
 Create multi-point vector using x map and owned mp map.
 
Teuchos::RCP
< Stokhos::ProductEpetraMultiVector
create_x_mv_mp (int num_vecs, Epetra_DataAccess CV=Copy, const Epetra_MultiVector *v=NULL) const
 Create multi-point vector using x map.
 
Teuchos::RCP
< Stokhos::ProductEpetraVector
create_p_mp (int l, Epetra_DataAccess CV=Copy, const Epetra_Vector *v=NULL) const
 Create multi-point vector using p map.
 
Teuchos::RCP
< Stokhos::ProductEpetraMultiVector
create_p_mv_mp (int l, int num_vecs, Epetra_DataAccess CV=Copy, const Epetra_MultiVector *v=NULL) const
 Create multi-point vector using p map.
 
Teuchos::RCP
< Stokhos::ProductEpetraVector
create_f_mp (Epetra_DataAccess CV=Copy, const Epetra_Vector *v=NULL) const
 Create multi-point vector using f map.
 
Teuchos::RCP
< Stokhos::ProductEpetraMultiVector
create_f_mv_mp (int num_vecs, Epetra_DataAccess CV=Copy, const Epetra_MultiVector *v=NULL) const
 Create multi-point multi-vector using f map.
 
Teuchos::RCP
< Stokhos::ProductEpetraVector
create_g_mp (int l, Epetra_DataAccess CV=Copy, const Epetra_Vector *v=NULL) const
 Create multi-point vector using g map.
 
Teuchos::RCP
< Stokhos::ProductEpetraMultiVector
create_g_mv_mp (int l, int num_vecs, Epetra_DataAccess CV=Copy, const Epetra_MultiVector *v=NULL) const
 Create multi-point multi-vector using g map.
 
Overridden from EpetraExt::ModelEvaluator .
Teuchos::RCP< const Epetra_Map > get_x_map () const
 Return solution vector map.
 
Teuchos::RCP< const Epetra_Map > get_f_map () const
 Return residual vector map.
 
Teuchos::RCP< const Epetra_Map > get_p_map (int l) const
 Return parameter vector map.
 
Teuchos::RCP< const Epetra_Map > get_g_map (int l) const
 Return response map.
 
Teuchos::RCP< const
Teuchos::Array< std::string > > 
get_p_names (int l) const
 Return array of parameter names.
 
Teuchos::RCP< const Epetra_Vector > get_x_init () const
 Return initial solution.
 
Teuchos::RCP< const Epetra_Vector > get_x_dot_init () const
 
Teuchos::RCP< const Epetra_Vector > get_p_init (int l) const
 Return initial parameters.
 
Teuchos::RCP< Epetra_Operator > create_W () const
 Create W = alpha*M + beta*J matrix.
 
Teuchos::RCP
< EpetraExt::ModelEvaluator::Preconditioner > 
create_WPrec () const
 Create preconditioner operator.
 
Teuchos::RCP< Epetra_Operator > create_DgDx_dot_op (int j) const
 Create MP operator representing dg/dxdot.
 
Teuchos::RCP< Epetra_Operator > create_DgDx_op (int j) const
 Create MP operator representing dg/dx.
 
Teuchos::RCP< Epetra_Operator > create_DgDp_op (int j, int i) const
 Create MP operator representing dg/dp.
 
Teuchos::RCP< Epetra_Operator > create_DfDp_op (int i) const
 Create MP operator representing df/dp.
 
InArgs createInArgs () const
 Create InArgs.
 
OutArgs createOutArgs () const
 Create OutArgs.
 
void evalModel (const InArgs &inArgs, const OutArgs &outArgs) const
 Evaluate model on InArgs.
 

Protected Attributes

Teuchos::RCP
< EpetraExt::ModelEvaluator > 
me
 Underlying model evaluator.
 
unsigned int num_mp_blocks
 Number of blocks.
 
Teuchos::RCP< const
EpetraExt::MultiComm > 
mp_comm
 Parallel MP communicator.
 
Teuchos::RCP< const Epetra_Map > mp_block_map
 Map for layout of parallel MP blocks.
 
Teuchos::RCP
< Teuchos::ParameterList > 
params
 Algorithmic parameters.
 
bool supports_x
 Whether we support x (and thus f and W)
 
Teuchos::RCP< const Epetra_Map > x_map
 Underlying unknown map.
 
Teuchos::RCP< const Epetra_Map > f_map
 Underlying residual map.
 
Teuchos::RCP< const Epetra_Map > mp_x_map
 Block MP unknown map.
 
Teuchos::RCP< const Epetra_Map > mp_f_map
 Block MP residual map.
 
int num_p
 Number of parameter vectors of underlying model evaluator.
 
int num_p_mp
 Number of multi-point parameter vectors.
 
Teuchos::Array< int > mp_p_index_map
 Index map between block-p and p_mp maps.
 
Teuchos::Array< Teuchos::RCP
< const Epetra_Map > > 
mp_p_map
 Block MP parameter map.
 
Teuchos::Array< Teuchos::RCP
< Teuchos::Array< std::string > > > 
mp_p_names
 MP coefficient parameter names.
 
int num_g
 Number of response vectors of underlying model evaluator.
 
int num_g_mp
 Number of multi-point response vectors.
 
Teuchos::Array< int > mp_g_index_map
 Index map between block-g and g_mp maps.
 
Teuchos::Array< Teuchos::RCP
< const Epetra_Map > > 
mp_g_map
 Block MP response map.
 
Teuchos::RCP
< Stokhos::ProductEpetraOperator
W_mp_blocks
 W multi-point components.
 
Teuchos::RCP
< Stokhos::ProductEpetraVector
mp_x_init
 MP initial x.
 
Teuchos::RCP
< Stokhos::ProductEpetraVector
mp_x_dot_init
 
Teuchos::Array< Teuchos::RCP
< ProductEpetraVector > > 
mp_p_init
 MP initial p.
 
Teuchos::RCP
< Stokhos::BlockDiagonalOperator
my_W
 W pointer for evaluating preconditioner.
 
Teuchos::RCP< Epetra_Vector > my_x
 x pointer for evaluating preconditioner
 

Detailed Description

Multi-point model evaluator.

Transforms a multi-point nonlinear problem to single nonlinear problem.

Member Function Documentation

Teuchos::Array< int > Stokhos::MPModelEvaluator::get_g_mp_map_indices ( ) const

Get indices of MP responses.

These indices determine which response vectors support MP

Teuchos::Array< int > Stokhos::MPModelEvaluator::get_p_mp_map_indices ( ) const

Get indices of MP parameters.

These indices determine which parameter vectors support MP


The documentation for this class was generated from the following files: