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

#include <Stokhos_AdaptivityManager.hpp>

Public Member Functions

 AdaptivityManager (const Teuchos::RCP< const Stokhos::ProductBasis< int, double > > &sg_master_basis, const std::vector< Teuchos::RCP< const Stokhos::ProductBasis< int, double > > > &sg_basis_row_dof, const Epetra_CrsGraph &determ_graph, bool onlyUseLinear, int kExpOrder, bool scaleOp=true)
 
 AdaptivityManager (const Teuchos::RCP< const Stokhos::ProductBasis< int, double > > &sg_master_basis, const std::vector< Teuchos::RCP< const Stokhos::ProductBasis< int, double > > > &sg_basis_row_dof, const Epetra_Comm &comm, bool scaleOp=true)
 
int getGlobalColId (int determLid, int basisIndex) const
 
int getGlobalRowId (int determLid, int basisIndex) const
 
Teuchos::RCP< Epetra_CrsMatrix > buildMatrixFromGraph () const
 
void setupWithGraph (const Epetra_CrsGraph &graph, bool onlyUseLinear, int kExpOrder)
 
Teuchos::RCP< const Epetra_Map > getAdaptedMap () const
 
void setupOperator (Epetra_CrsMatrix &A, const Sparse3Tensor< int, double > &Cijk, Stokhos::EpetraOperatorOrthogPoly &poly, bool onlyUseLinear=false, bool includeMean=true) const
 
void sumInOperator (Epetra_CrsMatrix &A, const Stokhos::Sparse3Tensor< int, double > &Cijk, int k, const Epetra_CrsMatrix &J_k) const
 
void copyToAdaptiveVector (const Stokhos::EpetraVectorOrthogPoly &x_sg, Epetra_Vector &x) const
 
void copyFromAdaptiveVector (const Epetra_Vector &x, Stokhos::EpetraVectorOrthogPoly &x_sg) const
 
int getRowStochasticBasisSize (int determLid) const
 
int getColStochasticBasisSize (int determLid) const
 
Teuchos::RCP< const
Stokhos::ProductBasis< int,
double > > 
getMasterStochasticBasis () const
 
Teuchos::RCP< const
Stokhos::ProductBasis< int,
double > > 
getRowStochasticBasis (int determLid) const
 
const std::vector
< Teuchos::RCP< const
Stokhos::ProductBasis< int,
double > > > & 
getRowStochasticBasis () const
 
Teuchos::RCP< const
Stokhos::ProductBasis< int,
double > > 
getColStochasticBasis (int determLid) const
 
bool isScaled ()
 

Detailed Description

Describes and constructs all things needed for adaptivity.

Member Function Documentation

Teuchos::RCP< Epetra_CrsMatrix > Stokhos::AdaptivityManager::buildMatrixFromGraph ( ) const

Build a CRS matrix from the internally constructed graph

void Stokhos::AdaptivityManager::copyFromAdaptiveVector ( const Epetra_Vector &  x,
Stokhos::EpetraVectorOrthogPoly x_sg 
) const

Copy from an adaptive vector to a set of blocked vectors

References Stokhos::ProductEpetraVector::getBlockVector(), and Stokhos::ProductContainer< coeff_type >::size().

void Stokhos::AdaptivityManager::copyToAdaptiveVector ( const Stokhos::EpetraVectorOrthogPoly x_sg,
Epetra_Vector &  x 
) const

Copy to an adaptive vector from a set of blocked vectors

References Stokhos::ProductEpetraVector::getBlockVector().

Teuchos::RCP<const Epetra_Map> Stokhos::AdaptivityManager::getAdaptedMap ( ) const
inline

Get map associated with this set of adaptive indices

Teuchos::RCP<const Stokhos::ProductBasis<int,double> > Stokhos::AdaptivityManager::getColStochasticBasis ( int  determLid) const
inline

Get stochastic basis associated with a particular deterministic column local id.

int Stokhos::AdaptivityManager::getColStochasticBasisSize ( int  determLid) const
inline

How many stochastic degrees of freedom are associated with a particular deterministic row degree of freedom.

int Stokhos::AdaptivityManager::getGlobalColId ( int  determLid,
int  basisIndex 
) const
inline

Given a deterministic local column ID and a basis index determine the global column ID in the fully assembled system.

Parameters
[in]determLidDeterministic local column ID
[in]basisIndexIndex into the stochastic basis associated with this column ID.
Returns
Associated index in the global system.
Note
basisIndex must be less than getRowStochasticBasisSize(determLid)
int Stokhos::AdaptivityManager::getGlobalRowId ( int  determLid,
int  basisIndex 
) const
inline

Given a deterministic local row ID and a basis index determine the global row ID in the fully assembled system.

Parameters
[in]determLidDeterministic local row ID
[in]basisIndexIndex into the stochastic basis associated with this row ID.
Returns
Associated index in the global system.
Note
basisIndex must be less than getRowStochasticBasisSize(determLid)
Teuchos::RCP<const Stokhos::ProductBasis<int,double> > Stokhos::AdaptivityManager::getMasterStochasticBasis ( ) const
inline

Get master stochastic basis

Teuchos::RCP<const Stokhos::ProductBasis<int,double> > Stokhos::AdaptivityManager::getRowStochasticBasis ( int  determLid) const
inline

Get stochastic basis associated with a particular deterministic row local id.

const std::vector<Teuchos::RCP<const Stokhos::ProductBasis<int,double> > >& Stokhos::AdaptivityManager::getRowStochasticBasis ( ) const
inline

Get the vector of row stochastic basis functions.

int Stokhos::AdaptivityManager::getRowStochasticBasisSize ( int  determLid) const
inline

How many stochastic degrees of freedom are associated with a particular deterministic row degree of freedom.

void Stokhos::AdaptivityManager::setupOperator ( Epetra_CrsMatrix &  A,
const Sparse3Tensor< int, double > &  Cijk,
Stokhos::EpetraOperatorOrthogPoly poly,
bool  onlyUseLinear = false,
bool  includeMean = true 
) const
void Stokhos::AdaptivityManager::setupWithGraph ( const Epetra_CrsGraph &  graph,
bool  onlyUseLinear,
int  kExpOrder 
)

Build a CRS graph from a determinstic graph

void Stokhos::AdaptivityManager::sumInOperator ( Epetra_CrsMatrix &  A,
const Stokhos::Sparse3Tensor< int, double > &  Cijk,
int  k,
const Epetra_CrsMatrix &  J_k 
) const

Sum into a matrix constructed from buildMatrixFromGraph using the Cjik tensor a matrix J_k


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