Intrepid2
Public Member Functions | Public Attributes | List of all members
Intrepid2::OperatorTensorDecomposition Struct Reference

For a multi-component tensor basis, specifies the operators to be applied to the components to produce the composite operator on the tensor basis. More...

#include <Intrepid2_TensorBasis.hpp>

Public Member Functions

 OperatorTensorDecomposition (const std::vector< EOperator > &opsBasis1, const std::vector< EOperator > &opsBasis2, const std::vector< double > vectorComponentWeights)
 
 OperatorTensorDecomposition (const std::vector< std::vector< EOperator > > &vectorEntryOps, const std::vector< double > &vectorComponentWeights)
 
 OperatorTensorDecomposition (const std::vector< EOperator > &basisOps, const double weight=1.0)
 
 OperatorTensorDecomposition (const EOperator &opBasis1, const EOperator &opBasis2, double weight=1.0)
 
 OperatorTensorDecomposition (const EOperator &opBasis1, const EOperator &opBasis2, const EOperator &opBasis3, double weight=1.0)
 
ordinal_type numVectorComponents () const
 
ordinal_type numBasisComponents () const
 
double weight (const ordinal_type &vectorComponentOrdinal) const
 
bool identicallyZeroComponent (const ordinal_type &vectorComponentOrdinal) const
 
EOperator op (const ordinal_type &vectorComponentOrdinal, const ordinal_type &basisOrdinal) const
 
template<typename DeviceType , typename OutputValueType , class PointValueType >
OperatorTensorDecomposition expandedDecomposition (std::vector< Teuchos::RCP< Basis< DeviceType, OutputValueType, PointValueType > > > &bases)
 takes as argument bases that are components in this decomposition, and decomposes them further if they are tensor bases. Returns a fully expanded decomposition. More...
 

Public Attributes

std::vector< std::vector< EOperator > > ops
 
std::vector< double > weights
 
ordinal_type numBasisComponents_
 

Detailed Description

For a multi-component tensor basis, specifies the operators to be applied to the components to produce the composite operator on the tensor basis.

Definition at line 165 of file Intrepid2_TensorBasis.hpp.

Constructor & Destructor Documentation

◆ OperatorTensorDecomposition() [1/5]

Intrepid2::OperatorTensorDecomposition::OperatorTensorDecomposition ( const std::vector< EOperator > &  opsBasis1,
const std::vector< EOperator > &  opsBasis2,
const std::vector< double >  vectorComponentWeights 
)
inline

Definition at line 172 of file Intrepid2_TensorBasis.hpp.

◆ OperatorTensorDecomposition() [2/5]

Intrepid2::OperatorTensorDecomposition::OperatorTensorDecomposition ( const std::vector< std::vector< EOperator > > &  vectorEntryOps,
const std::vector< double > &  vectorComponentWeights 
)
inline

Definition at line 189 of file Intrepid2_TensorBasis.hpp.

◆ OperatorTensorDecomposition() [3/5]

Intrepid2::OperatorTensorDecomposition::OperatorTensorDecomposition ( const std::vector< EOperator > &  basisOps,
const double  weight = 1.0 
)
inline

Definition at line 217 of file Intrepid2_TensorBasis.hpp.

◆ OperatorTensorDecomposition() [4/5]

Intrepid2::OperatorTensorDecomposition::OperatorTensorDecomposition ( const EOperator &  opBasis1,
const EOperator &  opBasis2,
double  weight = 1.0 
)
inline

Definition at line 224 of file Intrepid2_TensorBasis.hpp.

◆ OperatorTensorDecomposition() [5/5]

Intrepid2::OperatorTensorDecomposition::OperatorTensorDecomposition ( const EOperator &  opBasis1,
const EOperator &  opBasis2,
const EOperator &  opBasis3,
double  weight = 1.0 
)
inline

Definition at line 231 of file Intrepid2_TensorBasis.hpp.

Member Function Documentation

◆ expandedDecomposition()

template<typename DeviceType , typename OutputValueType , class PointValueType >
OperatorTensorDecomposition Intrepid2::OperatorTensorDecomposition::expandedDecomposition ( std::vector< Teuchos::RCP< Basis< DeviceType, OutputValueType, PointValueType > > > &  bases)
inline

takes as argument bases that are components in this decomposition, and decomposes them further if they are tensor bases. Returns a fully expanded decomposition.

Definition at line 278 of file Intrepid2_TensorBasis.hpp.

Referenced by Intrepid2::Basis_TensorBasis< BasisBaseClass >::getOperatorDecomposition(), and Intrepid2::Basis_TensorBasis3< BasisBaseClass >::getOperatorDecomposition().

◆ identicallyZeroComponent()

bool Intrepid2::OperatorTensorDecomposition::identicallyZeroComponent ( const ordinal_type &  vectorComponentOrdinal) const
inline

Definition at line 253 of file Intrepid2_TensorBasis.hpp.

◆ numBasisComponents()

ordinal_type Intrepid2::OperatorTensorDecomposition::numBasisComponents ( ) const
inline

Definition at line 243 of file Intrepid2_TensorBasis.hpp.

◆ numVectorComponents()

ordinal_type Intrepid2::OperatorTensorDecomposition::numVectorComponents ( ) const
inline

Definition at line 238 of file Intrepid2_TensorBasis.hpp.

◆ op()

EOperator Intrepid2::OperatorTensorDecomposition::op ( const ordinal_type &  vectorComponentOrdinal,
const ordinal_type &  basisOrdinal 
) const
inline

Definition at line 260 of file Intrepid2_TensorBasis.hpp.

◆ weight()

double Intrepid2::OperatorTensorDecomposition::weight ( const ordinal_type &  vectorComponentOrdinal) const
inline

Definition at line 248 of file Intrepid2_TensorBasis.hpp.

Member Data Documentation

◆ numBasisComponents_

ordinal_type Intrepid2::OperatorTensorDecomposition::numBasisComponents_

Definition at line 170 of file Intrepid2_TensorBasis.hpp.

◆ ops

std::vector< std::vector<EOperator> > Intrepid2::OperatorTensorDecomposition::ops

Definition at line 168 of file Intrepid2_TensorBasis.hpp.

◆ weights

std::vector<double> Intrepid2::OperatorTensorDecomposition::weights

Definition at line 169 of file Intrepid2_TensorBasis.hpp.


The documentation for this struct was generated from the following file: