Stokhos Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
Stokhos::AdaptivityManager Class Reference

#include <Stokhos_AdaptivityManager.hpp>

Classes

class  Sparse3TensorHash
 

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_CrsMatrixbuildMatrixFromGraph () const
 
void setupWithGraph (const Epetra_CrsGraph &graph, bool onlyUseLinear, int kExpOrder)
 
Teuchos::RCP< const Epetra_MapgetAdaptedMap () 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 ()
 

Private Member Functions

void sumInOperator (Epetra_CrsMatrix &A, const Sparse3TensorHash &Cijk, int k, const Epetra_CrsMatrix &J_k) const
 

Private Attributes

Teuchos::RCP< const Stokhos::ProductBasis< int, double > > sg_master_basis_
 
std::vector< Teuchos::RCP< const Stokhos::ProductBasis< int, double > > > sg_basis_row_dof_
 
std::vector< Teuchos::RCP< const Stokhos::ProductBasis< int, double > > > sg_basis_col_dof_
 
std::vector< int > myRowGidOffsets_
 
std::vector< int > myColGidOffsets_
 
Teuchos::RCP< Epetra_CrsGraphgraph_
 
Teuchos::RCP< Epetra_MaprowMap_
 
bool scaleOp_
 

Detailed Description

Describes and constructs all things needed for adaptivity.

Definition at line 71 of file Stokhos_AdaptivityManager.hpp.

Constructor & Destructor Documentation

◆ AdaptivityManager() [1/2]

Stokhos::AdaptivityManager::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 )

Definition at line 104 of file Stokhos_AdaptivityManager.cpp.

◆ AdaptivityManager() [2/2]

Stokhos::AdaptivityManager::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 )

Definition at line 117 of file Stokhos_AdaptivityManager.cpp.

Member Function Documentation

◆ getGlobalColId()

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)

Definition at line 97 of file Stokhos_AdaptivityManager.hpp.

◆ getGlobalRowId()

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)

Definition at line 111 of file Stokhos_AdaptivityManager.hpp.

◆ buildMatrixFromGraph()

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

Build a CRS matrix from the internally constructed graph

Definition at line 128 of file Stokhos_AdaptivityManager.cpp.

◆ setupWithGraph()

void Stokhos::AdaptivityManager::setupWithGraph ( const Epetra_CrsGraph & graph,
bool onlyUseLinear,
int kExpOrder )

Build a CRS graph from a determinstic graph

Definition at line 133 of file Stokhos_AdaptivityManager.cpp.

◆ getAdaptedMap()

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

Get map associated with this set of adaptive indices

Definition at line 124 of file Stokhos_AdaptivityManager.hpp.

◆ setupOperator()

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

Setup operator

Definition at line 144 of file Stokhos_AdaptivityManager.cpp.

◆ sumInOperator() [1/2]

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

Definition at line 180 of file Stokhos_AdaptivityManager.cpp.

◆ copyToAdaptiveVector()

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

Copy to an adaptive vector from a set of blocked vectors

Definition at line 263 of file Stokhos_AdaptivityManager.cpp.

◆ copyFromAdaptiveVector()

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

Copy from an adaptive vector to a set of blocked vectors

Definition at line 281 of file Stokhos_AdaptivityManager.cpp.

◆ getRowStochasticBasisSize()

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

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

Definition at line 148 of file Stokhos_AdaptivityManager.hpp.

◆ getColStochasticBasisSize()

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

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

Definition at line 154 of file Stokhos_AdaptivityManager.hpp.

◆ getMasterStochasticBasis()

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

Get master stochastic basis

Definition at line 159 of file Stokhos_AdaptivityManager.hpp.

◆ getRowStochasticBasis() [1/2]

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.

Definition at line 164 of file Stokhos_AdaptivityManager.hpp.

◆ getRowStochasticBasis() [2/2]

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

Get the vector of row stochastic basis functions.

Definition at line 169 of file Stokhos_AdaptivityManager.hpp.

◆ getColStochasticBasis()

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.

Definition at line 174 of file Stokhos_AdaptivityManager.hpp.

◆ isScaled()

bool Stokhos::AdaptivityManager::isScaled ( )
inline

Definition at line 177 of file Stokhos_AdaptivityManager.hpp.

◆ sumInOperator() [2/2]

void Stokhos::AdaptivityManager::sumInOperator ( Epetra_CrsMatrix & A,
const Sparse3TensorHash & Cijk,
int k,
const Epetra_CrsMatrix & J_k ) const
private

Sum into a matrix constructed from buildMatrixFromGraph using the Sparse3TensorHash if boost is enabled Cjik tensor a matrix J_k

Definition at line 191 of file Stokhos_AdaptivityManager.cpp.

Member Data Documentation

◆ sg_master_basis_

Teuchos::RCP<const Stokhos::ProductBasis<int,double> > Stokhos::AdaptivityManager::sg_master_basis_
private

Definition at line 218 of file Stokhos_AdaptivityManager.hpp.

◆ sg_basis_row_dof_

std::vector<Teuchos::RCP<const Stokhos::ProductBasis<int,double> > > Stokhos::AdaptivityManager::sg_basis_row_dof_
private

Definition at line 219 of file Stokhos_AdaptivityManager.hpp.

◆ sg_basis_col_dof_

std::vector<Teuchos::RCP<const Stokhos::ProductBasis<int,double> > > Stokhos::AdaptivityManager::sg_basis_col_dof_
private

Definition at line 220 of file Stokhos_AdaptivityManager.hpp.

◆ myRowGidOffsets_

std::vector<int> Stokhos::AdaptivityManager::myRowGidOffsets_
private

Definition at line 222 of file Stokhos_AdaptivityManager.hpp.

◆ myColGidOffsets_

std::vector<int> Stokhos::AdaptivityManager::myColGidOffsets_
private

Definition at line 223 of file Stokhos_AdaptivityManager.hpp.

◆ graph_

Teuchos::RCP<Epetra_CrsGraph> Stokhos::AdaptivityManager::graph_
private

Definition at line 225 of file Stokhos_AdaptivityManager.hpp.

◆ rowMap_

Teuchos::RCP<Epetra_Map> Stokhos::AdaptivityManager::rowMap_
private

Definition at line 226 of file Stokhos_AdaptivityManager.hpp.

◆ scaleOp_

bool Stokhos::AdaptivityManager::scaleOp_
private

Definition at line 228 of file Stokhos_AdaptivityManager.hpp.


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