Stokhos  Development
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::ProductEpetraVectorget_x_mp_init () const
 Return initial SG x.
 
Teuchos::RCP< const Stokhos::ProductEpetraVectorget_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::ProductEpetraVectorget_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::ProductEpetraVectorcreate_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::ProductEpetraMultiVectorcreate_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::ProductEpetraVectorcreate_p_mp (int l, Epetra_DataAccess CV=Copy, const Epetra_Vector *v=NULL) const
 Create multi-point vector using p map.
 
Teuchos::RCP< Stokhos::ProductEpetraMultiVectorcreate_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::ProductEpetraVectorcreate_f_mp (Epetra_DataAccess CV=Copy, const Epetra_Vector *v=NULL) const
 Create multi-point vector using f map.
 
Teuchos::RCP< Stokhos::ProductEpetraMultiVectorcreate_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::ProductEpetraVectorcreate_g_mp (int l, Epetra_DataAccess CV=Copy, const Epetra_Vector *v=NULL) const
 Create multi-point vector using g map.
 
Teuchos::RCP< Stokhos::ProductEpetraMultiVectorcreate_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::ProductEpetraOperatorW_mp_blocks
 W multi-point components.
 
Teuchos::RCP< Stokhos::ProductEpetraVectormp_x_init
 MP initial x.
 
Teuchos::RCP< Stokhos::ProductEpetraVectormp_x_dot_init
 
Teuchos::Array< Teuchos::RCP< ProductEpetraVector > > mp_p_init
 MP initial p.
 
Teuchos::RCP< Stokhos::BlockDiagonalOperatormy_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: