Stokhos Development
Public Member Functions | Protected Attributes
Stokhos::MPModelEvaluator Class Reference

Multi-point model evaluator. More...

#include <Stokhos_MPModelEvaluator.hpp>

List of all members.

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_p_mp_init (int i, const Stokhos::ProductEpetraVector &p_mp_in)
 Set initial multi-point parameter.
Teuchos::Array< int > get_p_mp_map_indices () const
 Get indices of MP parameters.
Teuchos::Array< int > get_g_mp_map_indices () const
 Get indices of MP responses.
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::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_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::RefCountPtr
< Epetra_Operator > 
create_DgDx_dot_op (int j) const
 Create MP operator representing dg/dxdot.
Teuchos::RefCountPtr
< Epetra_Operator > 
create_DgDx_op (int j) const
 Create MP operator representing dg/dx.
Teuchos::RefCountPtr
< Epetra_Operator > 
create_DgDp_op (int j, int i) const
 Create MP operator representing dg/dp.
Teuchos::RefCountPtr
< 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::Array< Teuchos::RCP
< Stokhos::ProductEpetraMultiVector > > 
dgdx_dot_mp_blocks
 dg/dxdot multi-point components
Teuchos::Array< Teuchos::RCP
< Stokhos::ProductEpetraMultiVector > > 
dgdx_mp_blocks
 dg/dx multi-point components
Teuchos::RCP
< Stokhos::ProductEpetraVector
mp_x_init
 MP initial x.
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:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator