| 
    Stokhos
    Development
    
   | 
 
Nonlinear, stochastic Galerkin ModelEvaluator that constructs a interlaced Jacobian. More...
#include <Stokhos_SGModelEvaluator_Interlaced.hpp>


Public Member Functions | |
| SGModelEvaluator_Interlaced (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 > ¶ms, 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_p_map (int l) const | 
| Return parameter vector 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< const Epetra_Map > | get_f_map () const | 
| Return residual vector map.  | |
| Teuchos::RCP< const Epetra_Map > | get_g_map (int l) const | 
| Return response map.  | |
| Teuchos::RCP< Epetra_Operator > | create_W () const | 
| Create W = alpha*M + beta*J matrix.  | |
| InArgs | createInArgs () const | 
| Create InArgs.  | |
| OutArgs | createOutArgs () const | 
| Create OutArgs.  | |
| void | evalModel (const InArgs &inArgs, const OutArgs &outArgs) const | 
| Evaluate model on InArgs.  | |
Overridden from Stokhos::SGModelEvaluatorBase .  | |
| void | set_x_sg_init (const Stokhos::EpetraVectorOrthogPoly &x_sg_in) | 
| Set initial solution polynomial.  | |
| 
Teuchos::RCP< const  Stokhos::EpetraVectorOrthogPoly >  | get_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::EpetraVectorOrthogPoly >  | get_p_sg_init (int l) const | 
| Return initial SG parameters.  | |
| Teuchos::Array< int > | get_p_sg_map_indices () const | 
| Get indices of SG parameters.  More... | |
| Teuchos::Array< int > | get_g_sg_map_indices () const | 
| Get indices of SG responses.  More... | |
| 
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::EpetraVectorOrthogPoly >  | create_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::EpetraVectorOrthogPoly >  | create_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::EpetraMultiVectorOrthogPoly >  | create_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::EpetraMultiVectorOrthogPoly >  | create_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::EpetraVectorOrthogPoly >  | create_p_sg (int l, Epetra_DataAccess CV=Copy, const Epetra_Vector *v=NULL) const | 
| Create vector orthog poly using p map.  | |
| 
Teuchos::RCP < Stokhos::EpetraVectorOrthogPoly >  | create_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::EpetraVectorOrthogPoly >  | create_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::EpetraMultiVectorOrthogPoly >  | create_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::EpetraMultiVectorOrthogPoly >  | create_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::EpetraVectorOrthogPoly >  | create_g_sg (int l, Epetra_DataAccess CV=Copy, const Epetra_Vector *v=NULL) const | 
| Create vector orthog poly using g map.  | |
| 
Teuchos::RCP < Stokhos::EpetraMultiVectorOrthogPoly >  | create_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.  | |
  Public Member Functions inherited from Stokhos::SGModelEvaluatorBase | |
| virtual | ~SGModelEvaluatorBase () | 
| Destructor.  | |
Static Public Member Functions | |
| static Teuchos::RCP< Epetra_Map > | buildInterlaceMap (const Epetra_BlockMap &determ_map, const Epetra_BlockMap &stocha_map) | 
| static void | copyToInterlacedVector (const Stokhos::EpetraVectorOrthogPoly &x_sg, Epetra_Vector &x) | 
| static void | copyToPolyOrthogVector (const Epetra_Vector &x, Stokhos::EpetraVectorOrthogPoly &x_sg) | 
Protected Attributes | |
| 
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::ParallelData >  | sg_parallel_data | 
| Parallel SG data.  | |
| 
Teuchos::RCP< const  EpetraExt::MultiComm >  | sg_comm | 
| Parallel SG communicator.  | |
| 
Teuchos::RCP< const  Stokhos::EpetraSparse3Tensor >  | epetraCijk | 
| Epetra Cijk.  | |
| 
Teuchos::RCP< const  Stokhos::EpetraSparse3Tensor >  | serialCijk | 
| 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 > | interlace_x_map | 
| Block SG unknown map.  | |
| Teuchos::RCP< const Epetra_Map > | interlace_overlapped_x_map | 
| Block SG overlapped unknown map.  | |
| Teuchos::RCP< const Epetra_Map > | interlace_f_map | 
| Block SG residual map.  | |
| Teuchos::RCP< const Epetra_Map > | interlace_overlapped_f_map | 
| Block SG overlapped residual map.  | |
| Teuchos::RCP< Epetra_Import > | interlace_overlapped_x_importer | 
| Importer from SG to SG-overlapped maps.  | |
| Teuchos::RCP< Epetra_Export > | interlace_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::EpetraVectorOrthogPoly >  | x_dot_sg_blocks | 
| x_dot stochastic Galerkin components  | |
| 
Teuchos::RCP < Stokhos::EpetraVectorOrthogPoly >  | x_sg_blocks | 
| x stochastic Galerkin components  | |
| 
Teuchos::RCP < Stokhos::EpetraVectorOrthogPoly >  | f_sg_blocks | 
| f stochastic Galerkin components  | |
| 
Teuchos::RCP < Stokhos::EpetraOperatorOrthogPoly >  | W_sg_blocks | 
| W stochastic Galerkin components.  | |
| 
Teuchos::Array< Teuchos::RCP < Stokhos::EpetraMultiVectorOrthogPoly > >  | dfdp_sg_blocks | 
| 
Teuchos::Array< Teuchos::RCP < Stokhos::EpetraMultiVectorOrthogPoly > >  | dgdx_dot_sg_blocks | 
| dg/dxdot stochastic Galerkin components  | |
| 
Teuchos::Array< Teuchos::RCP < Stokhos::EpetraMultiVectorOrthogPoly > >  | dgdx_sg_blocks | 
| dg/dx stochastic Galerkin components  | |
| 
Teuchos::RCP < Stokhos::EpetraVectorOrthogPoly >  | sg_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::SGOperator > | my_W | 
| W pointer for evaluating W with f.  | |
| Teuchos::RCP< Epetra_Vector > | my_x | 
| x pointer for evaluating preconditioner  | |
| bool | scaleOP | 
Nonlinear, stochastic Galerkin ModelEvaluator that constructs a interlaced Jacobian.
SGModelEvaluator_Interlaced is an implementation of EpetraExt::ModelEvaluator that generates a nonlinear problem from a stochastic Galerkin expansion, the Jacobian and solution vectors are interlaced. 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. Only forming a fully-assembled SG matrix is possible. The W operator of the underlying model evaluator must be an Epetra_CrsMatrix.
      
  | 
  static | 
Build an interlaced map containing stochastic degrees of freedom for each element of the detministic map. This is not an adaptive map!
      
  | 
  static | 
Copy from a SG EpetraPolyOrthogVector object to an interlaced vector
References Stokhos::ProductEpetraVector::getBlockVector(), and Stokhos::ProductContainer< coeff_type >::size().
      
  | 
  static | 
Copy from a SG EpetraPolyOrthogVector object to an interlaced vector
References Stokhos::ProductEpetraVector::getBlockVector(), and Stokhos::ProductContainer< coeff_type >::size().
      
  | 
  virtual | 
Get indices of SG responses.
These indices determine which response vectors support SG
Implements Stokhos::SGModelEvaluatorBase.
      
  | 
  virtual | 
Get indices of SG parameters.
These indices determine which parameter vectors support SG
Implements Stokhos::SGModelEvaluatorBase.
 1.8.5