Stokhos Development
Loading...
Searching...
No Matches
Stokhos::SGModelEvaluator Class Reference

Nonlinear, stochastic Galerkin ModelEvaluator. More...

#include <Stokhos_SGModelEvaluator.hpp>

Inheritance diagram for Stokhos::SGModelEvaluator:
Collaboration diagram for Stokhos::SGModelEvaluator:

Public Member Functions

 SGModelEvaluator (const Teuchos::RCP< EpetraExt::ModelEvaluator > &me, const Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > &sg_basis, const Teuchos::RCP< const Stokhos::Quadrature< int, double > > &sg_quad, const Teuchos::RCP< Stokhos::OrthogPolyExpansion< int, double > > &sg_exp, const Teuchos::RCP< const Stokhos::ParallelData > &sg_parallel_data, const Teuchos::RCP< Teuchos::ParameterList > &params, bool scaleOP=true)
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::RCP< Epetra_Operator > create_DgDx_dot_op (int j) const
 Create SG operator representing dg/dxdot.
Teuchos::RCP< Epetra_Operator > create_DgDx_op (int j) const
 Create SG operator representing dg/dx.
Teuchos::RCP< Epetra_Operator > create_DgDp_op (int j, int i) const
 Create SG operator representing dg/dp.
Teuchos::RCP< Epetra_Operator > create_DfDp_op (int i) const
 Create SG 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.
Public Member Functions inherited from Stokhos::SGModelEvaluatorBase
virtual ~SGModelEvaluatorBase ()
 Destructor.

Overridden from Stokhos::SGModelEvaluatorBase .

Teuchos::RCP< EpetraExt::ModelEvaluator > me
 Underlying model evaluator.
Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > sg_basis
 Stochastic Galerkin basis.
Teuchos::RCP< const Stokhos::Quadrature< int, double > > sg_quad
 Stochastic Galerkin quadrature.
Teuchos::RCP< Stokhos::OrthogPolyExpansion< int, double > > sg_exp
 Stochastic Galerkin expansion.
Teuchos::RCP< Teuchos::ParameterList > params
 Algorithmic parameters.
unsigned int num_sg_blocks
 Number of stochastic blocks.
unsigned int num_W_blocks
 Number of W stochastic blocks (may be smaller than num_sg_blocks).
unsigned int num_p_blocks
 Number of p stochastic blocks (may be smaller than num_sg_blocks).
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 Stokhos::ParallelDatasg_parallel_data
 Parallel SG data.
Teuchos::RCP< const EpetraExt::MultiComm > sg_comm
 Parallel SG communicator.
Teuchos::RCP< const Stokhos::EpetraSparse3TensorepetraCijk
 Epetra Cijk.
Teuchos::RCP< const Stokhos::EpetraSparse3TensorserialCijk
 Serial Epetra Cijk for dgdx*.
Teuchos::RCP< const Epetra_BlockMap > stoch_row_map
 Map for stochastic blocks.
Teuchos::RCP< const Epetra_BlockMap > overlapped_stoch_row_map
 Overlapped map for stochastic blocks (local map).
Teuchos::RCP< const Epetra_BlockMap > overlapped_stoch_p_map
 Overlapped map for p stochastic blocks (local map).
Teuchos::RCP< const Epetra_Map > sg_x_map
 Block SG unknown map.
Teuchos::RCP< const Epetra_Map > sg_overlapped_x_map
 Block SG overlapped unknown map.
Teuchos::RCP< const Epetra_Map > sg_f_map
 Block SG residual map.
Teuchos::RCP< const Epetra_Map > sg_overlapped_f_map
 Block SG overlapped residual map.
Teuchos::RCP< Epetra_Import > sg_overlapped_x_importer
 Importer from SG to SG-overlapped maps.
Teuchos::RCP< Epetra_Export > sg_overlapped_f_exporter
 Exporter from SG-overlapped to SG maps.
int num_p
 Number of parameter vectors of underlying model evaluator.
int num_p_sg
 Number of stochastic parameter vectors.
Teuchos::Array< int > sg_p_index_map
 Index map between block-p and p_sg maps.
Teuchos::Array< Teuchos::RCP< const Epetra_Map > > sg_p_map
 Block SG parameter map.
Teuchos::Array< Teuchos::RCP< Teuchos::Array< std::string > > > sg_p_names
 SG coefficient parameter names.
int num_g
 Number of response vectors of underlying model evaluator.
int num_g_sg
 Number of stochastic response vectors.
Teuchos::Array< int > sg_g_index_map
 Index map between block-g and g_sg maps.
Teuchos::Array< Teuchos::RCP< const Epetra_Map > > sg_g_map
 Block SG response map.
Teuchos::RCP< Stokhos::EpetraVectorOrthogPolyx_dot_sg_blocks
 x_dot stochastic Galerkin components
Teuchos::RCP< Stokhos::EpetraVectorOrthogPolyx_sg_blocks
 x stochastic Galerkin components
Teuchos::RCP< Stokhos::EpetraVectorOrthogPolyf_sg_blocks
 f stochastic Galerkin components
Teuchos::RCP< Stokhos::EpetraOperatorOrthogPolyW_sg_blocks
 W stochastic Galerkin components.
Teuchos::RCP< Stokhos::EpetraVectorOrthogPolysg_x_init
 SG initial x.
Teuchos::Array< Teuchos::RCP< Stokhos::EpetraVectorOrthogPoly > > sg_p_init
 SG initial p.
bool eval_W_with_f
 Whether to always evaluate W with f.
Teuchos::RCP< Stokhos::SGOperatormy_W
 W pointer for evaluating W with f.
Teuchos::RCP< Epetra_Vector > my_x
 x pointer for evaluating preconditioner
bool scaleOP
Teuchos::RCP< Stokhos::SGPreconditionerFactorysg_prec_factory
 Preconditioner factory.
void set_x_sg_init (const Stokhos::EpetraVectorOrthogPoly &x_sg_in)
 Set initial solution polynomial.
Teuchos::RCP< const Stokhos::EpetraVectorOrthogPolyget_x_sg_init () const
 Return initial SG x.
void set_p_sg_init (int i, const Stokhos::EpetraVectorOrthogPoly &p_sg_in)
 Set initial parameter polynomial.
Teuchos::RCP< const Stokhos::EpetraVectorOrthogPolyget_p_sg_init (int l) const
 Return initial SG parameters.
Teuchos::Array< int > get_p_sg_map_indices () const
 Get indices of SG parameters.
Teuchos::Array< int > get_g_sg_map_indices () const
 Get indices of SG responses.
Teuchos::Array< Teuchos::RCP< const Epetra_Map > > get_g_sg_base_maps () const
 Get base maps of SG responses.
Teuchos::RCP< const Epetra_BlockMap > get_overlap_stochastic_map () const
 Return overlap stochastic map.
Teuchos::RCP< const Epetra_BlockMap > get_x_sg_overlap_map () const
 Return x sg overlap map.
Teuchos::RCP< const Epetra_Import > get_x_sg_importer () const
 Return x sg importer.
Teuchos::RCP< Stokhos::EpetraVectorOrthogPolycreate_x_sg (Epetra_DataAccess CV=Copy, const Epetra_Vector *v=NULL) const
 Create vector orthog poly using x map and owned sg map.
Teuchos::RCP< Stokhos::EpetraVectorOrthogPolycreate_x_sg_overlap (Epetra_DataAccess CV=Copy, const Epetra_Vector *v=NULL) const
 Create vector orthog poly using x map and overlap sg map.
Teuchos::RCP< Stokhos::EpetraMultiVectorOrthogPolycreate_x_mv_sg (int num_vecs, Epetra_DataAccess CV=Copy, const Epetra_MultiVector *v=NULL) const
 Create vector orthog poly using x map and owned sg map.
Teuchos::RCP< Stokhos::EpetraMultiVectorOrthogPolycreate_x_mv_sg_overlap (int num_vecs, Epetra_DataAccess CV=Copy, const Epetra_MultiVector *v=NULL) const
 Create vector orthog poly using x map and overlap sg map.
Teuchos::RCP< Stokhos::EpetraVectorOrthogPolycreate_p_sg (int l, Epetra_DataAccess CV=Copy, const Epetra_Vector *v=NULL) const
 Create vector orthog poly using p map.
Teuchos::RCP< Stokhos::EpetraVectorOrthogPolycreate_f_sg (Epetra_DataAccess CV=Copy, const Epetra_Vector *v=NULL) const
 Create vector orthog poly using f map and owned sg map.
Teuchos::RCP< Stokhos::EpetraVectorOrthogPolycreate_f_sg_overlap (Epetra_DataAccess CV=Copy, const Epetra_Vector *v=NULL) const
 Create vector orthog poly using f map and overlap sg map.
Teuchos::RCP< Stokhos::EpetraMultiVectorOrthogPolycreate_f_mv_sg (int num_vecs, Epetra_DataAccess CV=Copy, const Epetra_MultiVector *v=NULL) const
 Create multi-vector orthog poly using f map and owned sg map.
Teuchos::RCP< Stokhos::EpetraMultiVectorOrthogPolycreate_f_mv_sg_overlap (int num_vecs, Epetra_DataAccess CV=Copy, const Epetra_MultiVector *v=NULL) const
 Create multi-vector orthog poly using f map and overlap sg map.
Teuchos::RCP< Stokhos::EpetraVectorOrthogPolycreate_g_sg (int l, Epetra_DataAccess CV=Copy, const Epetra_Vector *v=NULL) const
 Create vector orthog poly using g map.
Teuchos::RCP< Stokhos::EpetraMultiVectorOrthogPolycreate_g_mv_sg (int l, int num_vecs, Epetra_DataAccess CV=Copy, const Epetra_MultiVector *v=NULL) const
 Create multi-vector orthog poly using g map.
Teuchos::RCP< EpetraExt::BlockVector > import_solution (const Epetra_Vector &x) const
 Import parallel solution vector.
Teuchos::RCP< Stokhos::EpetraVectorOrthogPolyimport_solution_poly (const Epetra_Vector &x) const
 Import parallel solution vector.
Teuchos::RCP< EpetraExt::BlockVector > export_solution (const Epetra_Vector &x_overlapped) const
 Export parallel solution vector.
Teuchos::RCP< EpetraExt::BlockVector > import_residual (const Epetra_Vector &f) const
 Import parallel residual vector.
Teuchos::RCP< EpetraExt::BlockVector > export_residual (const Epetra_Vector &f_overlapped) const
 Export parallel residual vector.

Detailed Description

Nonlinear, stochastic Galerkin ModelEvaluator.

SGModelEvaluator is an implementation of EpetraExt::ModelEvaluator that generates a nonlinear problem from a stochastic Galerkin expansion. It wraps a supplied ModelEvaluator that supports the SG versions of p, x, and possibly x_dot InArgs, and f and W OutArgs, and translates those into a new nonlinear problem. It does so by concatenating all of the SG components of p, x, x_dot, and f into extended block vectors that form the parameters, solution vector, time derivative vector and residual for the new nonlinear problem. For dealing with the W matrix two methods are supported: forming a fully-assembled SG matrix and a "matrix free" method. The choice is selected by setting the "Jacobian Method" parameter of the parameter list supplied to the constructor, which can be either "Fully Assembled" or "Matrix Free". In the first case, the W operator of the underlying model evaluator must be an Epetra_CrsMatrix. In the second case, a preconditioner for the mean block must also be supplied via the "Preconditioner Factory" parameter of this list. This preconditioner factory must implement the Stokhos::PreconditionerFactory interface also supplied in this file. Currently using a preconditioner for the mean is the only option available for preconditioning the SG system when using the matrix-free method.

Member Function Documentation

◆ create_DfDp_op()

Teuchos::RCP< Epetra_Operator > Stokhos::SGModelEvaluator::create_DfDp_op ( int i) const

◆ create_DgDp_op()

Teuchos::RCP< Epetra_Operator > Stokhos::SGModelEvaluator::create_DgDp_op ( int j,
int i ) const

◆ create_DgDx_dot_op()

Teuchos::RCP< Epetra_Operator > Stokhos::SGModelEvaluator::create_DgDx_dot_op ( int j) const

Create SG operator representing dg/dxdot.

References me, num_g_sg, num_sg_blocks, overlapped_stoch_row_map, serialCijk, sg_basis, sg_comm, sg_g_index_map, sg_g_map, sg_x_map, supports_x, and x_map.

◆ create_DgDx_op()

Teuchos::RCP< Epetra_Operator > Stokhos::SGModelEvaluator::create_DgDx_op ( int j) const

Create SG operator representing dg/dx.

References me, num_g_sg, num_sg_blocks, overlapped_stoch_row_map, serialCijk, sg_basis, sg_comm, sg_g_index_map, sg_g_map, sg_x_map, supports_x, and x_map.

◆ create_f_mv_sg()

Teuchos::RCP< Stokhos::EpetraMultiVectorOrthogPoly > Stokhos::SGModelEvaluator::create_f_mv_sg ( int num_vecs,
Epetra_DataAccess CV = Copy,
const Epetra_MultiVector * v = NULL ) const
virtual

Create multi-vector orthog poly using f map and owned sg map.

Implements Stokhos::SGModelEvaluatorBase.

References f_map, sg_basis, sg_comm, sg_f_map, and stoch_row_map.

◆ create_f_mv_sg_overlap()

Teuchos::RCP< Stokhos::EpetraMultiVectorOrthogPoly > Stokhos::SGModelEvaluator::create_f_mv_sg_overlap ( int num_vecs,
Epetra_DataAccess CV = Copy,
const Epetra_MultiVector * v = NULL ) const
virtual

Create multi-vector orthog poly using f map and overlap sg map.

Implements Stokhos::SGModelEvaluatorBase.

References f_map, overlapped_stoch_row_map, sg_basis, sg_comm, and sg_overlapped_f_map.

◆ create_f_sg()

Teuchos::RCP< Stokhos::EpetraVectorOrthogPoly > Stokhos::SGModelEvaluator::create_f_sg ( Epetra_DataAccess CV = Copy,
const Epetra_Vector * v = NULL ) const
virtual

Create vector orthog poly using f map and owned sg map.

Implements Stokhos::SGModelEvaluatorBase.

References f_map, sg_basis, sg_comm, sg_f_map, and stoch_row_map.

◆ create_f_sg_overlap()

Teuchos::RCP< Stokhos::EpetraVectorOrthogPoly > Stokhos::SGModelEvaluator::create_f_sg_overlap ( Epetra_DataAccess CV = Copy,
const Epetra_Vector * v = NULL ) const
virtual

Create vector orthog poly using f map and overlap sg map.

Implements Stokhos::SGModelEvaluatorBase.

References f_map, overlapped_stoch_row_map, sg_basis, sg_comm, and sg_overlapped_f_map.

◆ create_g_mv_sg()

Teuchos::RCP< Stokhos::EpetraMultiVectorOrthogPoly > Stokhos::SGModelEvaluator::create_g_mv_sg ( int l,
int num_vecs,
Epetra_DataAccess CV = Copy,
const Epetra_MultiVector * v = NULL ) const
virtual

Create multi-vector orthog poly using g map.

Implements Stokhos::SGModelEvaluatorBase.

References me, overlapped_stoch_row_map, sg_basis, sg_comm, sg_g_index_map, and sg_g_map.

◆ create_g_sg()

Teuchos::RCP< Stokhos::EpetraVectorOrthogPoly > Stokhos::SGModelEvaluator::create_g_sg ( int l,
Epetra_DataAccess CV = Copy,
const Epetra_Vector * v = NULL ) const
virtual

Create vector orthog poly using g map.

Implements Stokhos::SGModelEvaluatorBase.

References me, overlapped_stoch_row_map, sg_basis, sg_comm, sg_g_index_map, and sg_g_map.

Referenced by evalModel().

◆ create_p_sg()

Teuchos::RCP< Stokhos::EpetraVectorOrthogPoly > Stokhos::SGModelEvaluator::create_p_sg ( int l,
Epetra_DataAccess CV = Copy,
const Epetra_Vector * v = NULL ) const
virtual

Create vector orthog poly using p map.

Implements Stokhos::SGModelEvaluatorBase.

References me, overlapped_stoch_p_map, sg_basis, sg_comm, sg_p_index_map, and sg_p_map.

Referenced by evalModel().

◆ create_W()

Teuchos::RCP< Epetra_Operator > Stokhos::SGModelEvaluator::create_W ( ) const

◆ create_WPrec()

Teuchos::RCP< EpetraExt::ModelEvaluator::Preconditioner > Stokhos::SGModelEvaluator::create_WPrec ( ) const

Create preconditioner operator.

References epetraCijk, sg_basis, sg_comm, sg_prec_factory, sg_x_map, supports_x, and x_map.

◆ create_x_mv_sg()

Teuchos::RCP< Stokhos::EpetraMultiVectorOrthogPoly > Stokhos::SGModelEvaluator::create_x_mv_sg ( int num_vecs,
Epetra_DataAccess CV = Copy,
const Epetra_MultiVector * v = NULL ) const
virtual

Create vector orthog poly using x map and owned sg map.

Implements Stokhos::SGModelEvaluatorBase.

References sg_basis, sg_comm, sg_x_map, stoch_row_map, and x_map.

◆ create_x_mv_sg_overlap()

Teuchos::RCP< Stokhos::EpetraMultiVectorOrthogPoly > Stokhos::SGModelEvaluator::create_x_mv_sg_overlap ( int num_vecs,
Epetra_DataAccess CV = Copy,
const Epetra_MultiVector * v = NULL ) const
virtual

Create vector orthog poly using x map and overlap sg map.

Implements Stokhos::SGModelEvaluatorBase.

References overlapped_stoch_row_map, sg_basis, sg_comm, sg_overlapped_x_map, and x_map.

◆ create_x_sg()

Teuchos::RCP< Stokhos::EpetraVectorOrthogPoly > Stokhos::SGModelEvaluator::create_x_sg ( Epetra_DataAccess CV = Copy,
const Epetra_Vector * v = NULL ) const
virtual

Create vector orthog poly using x map and owned sg map.

Implements Stokhos::SGModelEvaluatorBase.

References sg_basis, sg_comm, sg_x_map, stoch_row_map, and x_map.

◆ create_x_sg_overlap()

Teuchos::RCP< Stokhos::EpetraVectorOrthogPoly > Stokhos::SGModelEvaluator::create_x_sg_overlap ( Epetra_DataAccess CV = Copy,
const Epetra_Vector * v = NULL ) const
virtual

Create vector orthog poly using x map and overlap sg map.

Implements Stokhos::SGModelEvaluatorBase.

References overlapped_stoch_row_map, sg_basis, sg_comm, sg_overlapped_x_map, and x_map.

◆ createInArgs()

EpetraExt::ModelEvaluator::InArgs Stokhos::SGModelEvaluator::createInArgs ( ) const

Create InArgs.

References me, num_p, and num_p_sg.

◆ createOutArgs()

EpetraExt::ModelEvaluator::OutArgs Stokhos::SGModelEvaluator::createOutArgs ( ) const

Create OutArgs.

References me, num_g_sg, num_p, num_p_sg, sg_g_index_map, sg_p_index_map, and sg_prec_factory.

◆ evalModel()

void Stokhos::SGModelEvaluator::evalModel ( const InArgs & inArgs,
const OutArgs & outArgs ) const

◆ export_residual()

Teuchos::RCP< EpetraExt::BlockVector > Stokhos::SGModelEvaluator::export_residual ( const Epetra_Vector & f_overlapped) const

Export parallel residual vector.

References f_map, sg_f_map, and sg_overlapped_f_exporter.

◆ export_solution()

Teuchos::RCP< EpetraExt::BlockVector > Stokhos::SGModelEvaluator::export_solution ( const Epetra_Vector & x_overlapped) const

Export parallel solution vector.

References sg_overlapped_x_importer, sg_x_map, and x_map.

◆ get_f_map()

Teuchos::RCP< const Epetra_Map > Stokhos::SGModelEvaluator::get_f_map ( ) const

Return residual vector map.

References sg_f_map.

◆ get_g_map()

Teuchos::RCP< const Epetra_Map > Stokhos::SGModelEvaluator::get_g_map ( int l) const

Return response map.

References num_g_sg, and sg_g_map.

◆ get_g_sg_base_maps()

Teuchos::Array< Teuchos::RCP< const Epetra_Map > > Stokhos::SGModelEvaluator::get_g_sg_base_maps ( ) const
virtual

Get base maps of SG responses.

Implements Stokhos::SGModelEvaluatorBase.

References me, and num_g.

◆ get_g_sg_map_indices()

Teuchos::Array< int > Stokhos::SGModelEvaluator::get_g_sg_map_indices ( ) const
virtual

Get indices of SG responses.

These indices determine which response vectors support SG

Implements Stokhos::SGModelEvaluatorBase.

References sg_g_index_map.

◆ get_overlap_stochastic_map()

Teuchos::RCP< const Epetra_BlockMap > Stokhos::SGModelEvaluator::get_overlap_stochastic_map ( ) const
virtual

Return overlap stochastic map.

Implements Stokhos::SGModelEvaluatorBase.

References overlapped_stoch_row_map.

◆ get_p_init()

Teuchos::RCP< const Epetra_Vector > Stokhos::SGModelEvaluator::get_p_init ( int l) const

Return initial parameters.

References me, num_p, num_p_sg, and sg_p_init.

◆ get_p_map()

Teuchos::RCP< const Epetra_Map > Stokhos::SGModelEvaluator::get_p_map ( int l) const

Return parameter vector map.

References me, num_p, num_p_sg, and sg_p_map.

◆ get_p_names()

Teuchos::RCP< const Teuchos::Array< std::string > > Stokhos::SGModelEvaluator::get_p_names ( int l) const

Return array of parameter names.

References me, num_p, num_p_sg, and sg_p_names.

◆ get_p_sg_init()

Teuchos::RCP< const Stokhos::EpetraVectorOrthogPoly > Stokhos::SGModelEvaluator::get_p_sg_init ( int l) const
virtual

Return initial SG parameters.

Implements Stokhos::SGModelEvaluatorBase.

References sg_p_index_map, and sg_p_init.

◆ get_p_sg_map_indices()

Teuchos::Array< int > Stokhos::SGModelEvaluator::get_p_sg_map_indices ( ) const
virtual

Get indices of SG parameters.

These indices determine which parameter vectors support SG

Implements Stokhos::SGModelEvaluatorBase.

References sg_p_index_map.

◆ get_x_init()

Teuchos::RCP< const Epetra_Vector > Stokhos::SGModelEvaluator::get_x_init ( ) const

Return initial solution.

References sg_x_init.

◆ get_x_map()

Teuchos::RCP< const Epetra_Map > Stokhos::SGModelEvaluator::get_x_map ( ) const

Return solution vector map.

References sg_x_map.

◆ get_x_sg_importer()

Teuchos::RCP< const Epetra_Import > Stokhos::SGModelEvaluator::get_x_sg_importer ( ) const
virtual

Return x sg importer.

Implements Stokhos::SGModelEvaluatorBase.

References sg_overlapped_x_importer.

◆ get_x_sg_init()

Teuchos::RCP< const Stokhos::EpetraVectorOrthogPoly > Stokhos::SGModelEvaluator::get_x_sg_init ( ) const
virtual

Return initial SG x.

Implements Stokhos::SGModelEvaluatorBase.

References sg_x_init.

◆ get_x_sg_overlap_map()

Teuchos::RCP< const Epetra_BlockMap > Stokhos::SGModelEvaluator::get_x_sg_overlap_map ( ) const
virtual

Return x sg overlap map.

Implements Stokhos::SGModelEvaluatorBase.

References sg_overlapped_x_map.

◆ import_residual()

Teuchos::RCP< EpetraExt::BlockVector > Stokhos::SGModelEvaluator::import_residual ( const Epetra_Vector & f) const

Import parallel residual vector.

References f_map, sg_overlapped_f_exporter, and sg_overlapped_f_map.

◆ import_solution()

Teuchos::RCP< EpetraExt::BlockVector > Stokhos::SGModelEvaluator::import_solution ( const Epetra_Vector & x) const

Import parallel solution vector.

References sg_overlapped_x_importer, sg_overlapped_x_map, and x_map.

◆ import_solution_poly()

Teuchos::RCP< Stokhos::EpetraVectorOrthogPoly > Stokhos::SGModelEvaluator::import_solution_poly ( const Epetra_Vector & x) const

Import parallel solution vector.

References overlapped_stoch_row_map, sg_basis, sg_comm, sg_overlapped_x_importer, sg_overlapped_x_map, and x_map.

◆ set_p_sg_init()

void Stokhos::SGModelEvaluator::set_p_sg_init ( int i,
const Stokhos::EpetraVectorOrthogPoly & p_sg_in )
virtual

Set initial parameter polynomial.

Implements Stokhos::SGModelEvaluatorBase.

References sg_p_index_map, and sg_p_init.

◆ set_x_sg_init()

void Stokhos::SGModelEvaluator::set_x_sg_init ( const Stokhos::EpetraVectorOrthogPoly & x_sg_in)
virtual

Set initial solution polynomial.

Implements Stokhos::SGModelEvaluatorBase.

References sg_x_init.

Member Data Documentation

◆ epetraCijk

Teuchos::RCP<const Stokhos::EpetraSparse3Tensor> Stokhos::SGModelEvaluator::epetraCijk
protected

Epetra Cijk.

Referenced by create_DfDp_op(), create_W(), and create_WPrec().

◆ eval_W_with_f

bool Stokhos::SGModelEvaluator::eval_W_with_f
protected

Whether to always evaluate W with f.

Referenced by evalModel().

◆ f_map

Teuchos::RCP<const Epetra_Map> Stokhos::SGModelEvaluator::f_map
protected

◆ f_sg_blocks

Teuchos::RCP< Stokhos::EpetraVectorOrthogPoly > Stokhos::SGModelEvaluator::f_sg_blocks
mutableprotected

f stochastic Galerkin components

Referenced by evalModel().

◆ me

Teuchos::RCP<EpetraExt::ModelEvaluator> Stokhos::SGModelEvaluator::me
protected

◆ my_W

Teuchos::RCP<Stokhos::SGOperator> Stokhos::SGModelEvaluator::my_W
mutableprotected

W pointer for evaluating W with f.

Referenced by create_W(), and evalModel().

◆ my_x

Teuchos::RCP<Epetra_Vector> Stokhos::SGModelEvaluator::my_x
mutableprotected

x pointer for evaluating preconditioner

Referenced by evalModel().

◆ num_g

int Stokhos::SGModelEvaluator::num_g
protected

Number of response vectors of underlying model evaluator.

Referenced by get_g_sg_base_maps().

◆ num_g_sg

int Stokhos::SGModelEvaluator::num_g_sg
protected

Number of stochastic response vectors.

Referenced by create_DgDp_op(), create_DgDx_dot_op(), create_DgDx_op(), createOutArgs(), evalModel(), and get_g_map().

◆ num_p

int Stokhos::SGModelEvaluator::num_p
protected

Number of parameter vectors of underlying model evaluator.

Referenced by create_DfDp_op(), create_DgDp_op(), createInArgs(), createOutArgs(), evalModel(), get_p_init(), get_p_map(), and get_p_names().

◆ num_p_sg

int Stokhos::SGModelEvaluator::num_p_sg
protected

Number of stochastic parameter vectors.

Referenced by create_DfDp_op(), create_DgDp_op(), createInArgs(), createOutArgs(), evalModel(), get_p_init(), get_p_map(), and get_p_names().

◆ num_sg_blocks

unsigned int Stokhos::SGModelEvaluator::num_sg_blocks
protected

Number of stochastic blocks.

Referenced by create_DfDp_op(), create_DgDp_op(), create_DgDx_dot_op(), and create_DgDx_op().

◆ overlapped_stoch_p_map

Teuchos::RCP<const Epetra_BlockMap> Stokhos::SGModelEvaluator::overlapped_stoch_p_map
protected

Overlapped map for p stochastic blocks (local map).

Referenced by create_p_sg().

◆ overlapped_stoch_row_map

Teuchos::RCP<const Epetra_BlockMap> Stokhos::SGModelEvaluator::overlapped_stoch_row_map
protected

◆ params

Teuchos::RCP<Teuchos::ParameterList> Stokhos::SGModelEvaluator::params
protected

Algorithmic parameters.

Referenced by create_W().

◆ serialCijk

Teuchos::RCP<const Stokhos::EpetraSparse3Tensor> Stokhos::SGModelEvaluator::serialCijk
protected

Serial Epetra Cijk for dgdx*.

Referenced by create_DgDp_op(), create_DgDx_dot_op(), and create_DgDx_op().

◆ sg_basis

◆ sg_comm

◆ sg_exp

Teuchos::RCP<Stokhos::OrthogPolyExpansion<int,double> > Stokhos::SGModelEvaluator::sg_exp
protected

Stochastic Galerkin expansion.

Referenced by evalModel().

◆ sg_f_map

Teuchos::RCP<const Epetra_Map> Stokhos::SGModelEvaluator::sg_f_map
protected

◆ sg_g_index_map

Teuchos::Array<int> Stokhos::SGModelEvaluator::sg_g_index_map
protected

◆ sg_g_map

Teuchos::Array< Teuchos::RCP<const Epetra_Map> > Stokhos::SGModelEvaluator::sg_g_map
protected

◆ sg_overlapped_f_exporter

Teuchos::RCP<Epetra_Export> Stokhos::SGModelEvaluator::sg_overlapped_f_exporter
protected

Exporter from SG-overlapped to SG maps.

Referenced by evalModel(), export_residual(), and import_residual().

◆ sg_overlapped_f_map

Teuchos::RCP<const Epetra_Map> Stokhos::SGModelEvaluator::sg_overlapped_f_map
protected

Block SG overlapped residual map.

Referenced by create_DfDp_op(), create_f_mv_sg_overlap(), create_f_sg_overlap(), evalModel(), and import_residual().

◆ sg_overlapped_x_importer

Teuchos::RCP<Epetra_Import> Stokhos::SGModelEvaluator::sg_overlapped_x_importer
protected

Importer from SG to SG-overlapped maps.

Referenced by evalModel(), export_solution(), get_x_sg_importer(), import_solution(), and import_solution_poly().

◆ sg_overlapped_x_map

Teuchos::RCP<const Epetra_Map> Stokhos::SGModelEvaluator::sg_overlapped_x_map
protected

◆ sg_p_index_map

Teuchos::Array<int> Stokhos::SGModelEvaluator::sg_p_index_map
protected

◆ sg_p_init

Teuchos::Array< Teuchos::RCP<Stokhos::EpetraVectorOrthogPoly> > Stokhos::SGModelEvaluator::sg_p_init
protected

SG initial p.

Referenced by evalModel(), get_p_init(), get_p_sg_init(), and set_p_sg_init().

◆ sg_p_map

Teuchos::Array< Teuchos::RCP<const Epetra_Map> > Stokhos::SGModelEvaluator::sg_p_map
protected

Block SG parameter map.

Referenced by create_DfDp_op(), create_DgDp_op(), create_p_sg(), and get_p_map().

◆ sg_p_names

Teuchos::Array< Teuchos::RCP< Teuchos::Array<std::string> > > Stokhos::SGModelEvaluator::sg_p_names
protected

SG coefficient parameter names.

Referenced by get_p_names().

◆ sg_prec_factory

Teuchos::RCP< Stokhos::SGPreconditionerFactory > Stokhos::SGModelEvaluator::sg_prec_factory
protected

Preconditioner factory.

Referenced by create_WPrec(), and createOutArgs().

◆ sg_quad

Teuchos::RCP<const Stokhos::Quadrature<int,double> > Stokhos::SGModelEvaluator::sg_quad
protected

Stochastic Galerkin quadrature.

Referenced by evalModel().

◆ sg_x_init

Teuchos::RCP<Stokhos::EpetraVectorOrthogPoly> Stokhos::SGModelEvaluator::sg_x_init
protected

SG initial x.

Referenced by get_x_init(), get_x_sg_init(), and set_x_sg_init().

◆ sg_x_map

Teuchos::RCP<const Epetra_Map> Stokhos::SGModelEvaluator::sg_x_map
protected

◆ stoch_row_map

Teuchos::RCP<const Epetra_BlockMap> Stokhos::SGModelEvaluator::stoch_row_map
protected

Map for stochastic blocks.

Referenced by create_f_mv_sg(), create_f_sg(), create_x_mv_sg(), and create_x_sg().

◆ supports_x

bool Stokhos::SGModelEvaluator::supports_x
protected

Whether we support x (and thus f and W).

Referenced by create_DgDx_dot_op(), create_DgDx_op(), create_W(), and create_WPrec().

◆ W_sg_blocks

Teuchos::RCP< Stokhos::EpetraOperatorOrthogPoly > Stokhos::SGModelEvaluator::W_sg_blocks
mutableprotected

W stochastic Galerkin components.

Referenced by create_W(), and evalModel().

◆ x_dot_sg_blocks

Teuchos::RCP< Stokhos::EpetraVectorOrthogPoly > Stokhos::SGModelEvaluator::x_dot_sg_blocks
protected

x_dot stochastic Galerkin components

Referenced by evalModel().

◆ x_map

Teuchos::RCP<const Epetra_Map> Stokhos::SGModelEvaluator::x_map
protected

◆ x_sg_blocks

Teuchos::RCP< Stokhos::EpetraVectorOrthogPoly > Stokhos::SGModelEvaluator::x_sg_blocks
protected

x stochastic Galerkin components

Referenced by evalModel().


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