DFT-EFE
 
Loading...
Searching...
No Matches
dftefe::quadrature Namespace Reference

Namespaces

namespace  QuadratureValuesContainerInternal
 

Classes

class  QuadraturePointAttributes
 Class to store the attributes of a quad point, such as the cell Id it belongs, the quadPointId within the cell it belongs to, and the quadrature rule (defined by quadratureRuleId) it is part of. More...
 
class  QuadratureRule
 
class  QuadratureRuleAdaptive
 
class  QuadratureRuleAdaptiveDefaults
 
class  QuadratureRuleAttributes
 
class  QuadratureRuleAttributesDefaults
 
class  QuadratureRuleContainer
 
class  QuadratureRuleGauss
 
class  QuadratureRuleGaussIterated
 
class  QuadratureRuleGaussSubdividedDefaults
 
class  QuadratureRuleGLL
 
class  QuadratureValuesContainer
 

Enumerations

enum class  QuadratureFamily {
  GAUSS , GLL , GAUSS_VARIABLE , GLL_VARIABLE ,
  ADAPTIVE , GAUSS_SUBDIVIDED
}
 
enum class  QuadratureRuleType {
  GAUSS_1 , GAUSS_2 , GAUSS_3 , GAUSS_4 ,
  GAUSS_5 , GAUSS_6 , GAUSS_7 , GAUSS_8 ,
  GAUSS_9 , GAUSS_10 , GAUSS_11 , GAUSS_12 ,
  GAUSS_VARIABLE , GLL_1 , GLL_2 , GLL_3 ,
  GLL_4 , GLL_5 , GLL_6 , GLL_7 ,
  GLL_8 , GLL_9 , GLL_10 , GLL_11 ,
  GLL_12 , GLL_VARIABLE , ADAPTIVE
}
 

Functions

void integrate (const utils::ScalarSpatialFunction< double > &function, const QuadratureRuleContainer &quadratureRuleContainer, double &integral)
 
template<typename ValueType1 , typename ValueType2 , dftefe::utils::MemorySpace memorySpace>
void add (linearAlgebra::blasLapack::scalar_type< ValueType1, ValueType2 > a, const QuadratureValuesContainer< ValueType1, memorySpace > &u, linearAlgebra::blasLapack::scalar_type< ValueType1, ValueType2 > b, const QuadratureValuesContainer< ValueType2, memorySpace > &v, QuadratureValuesContainer< linearAlgebra::blasLapack::scalar_type< ValueType1, ValueType2 >, memorySpace > &w, linearAlgebra::LinAlgOpContext< memorySpace > &linAlgOpContext)
 Perform \( w = a*u + b*v \). More...
 
template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
QuadratureValuesContainer< ValueType, memorySpace > add (ValueType a, const QuadratureValuesContainer< ValueType, memorySpace > &u, ValueType b, QuadratureValuesContainer< ValueType, memorySpace > &v, linearAlgebra::LinAlgOpContext< memorySpace > &linAlgOpContext)
 Perform \( v = a*u + b*v \). More...
 
template<typename ValueType1 , typename ValueType2 , dftefe::utils::MemorySpace memorySpace>
void scale (ValueType1 alpha, const QuadratureValuesContainer< ValueType2, memorySpace > &u, QuadratureValuesContainer< linearAlgebra::blasLapack::scalar_type< ValueType1, ValueType2 >, memorySpace > &w, linearAlgebra::LinAlgOpContext< memorySpace > &linAlgOpContext)
 Perform \( w = a*u\). More...
 
template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
void scale (ValueType alpha, QuadratureValuesContainer< ValueType, memorySpace > &u, linearAlgebra::LinAlgOpContext< memorySpace > &linAlgOpContext)
 Perform \( u = a*u\). More...
 
template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
void add (ValueType a, const QuadratureValuesContainer< ValueType, memorySpace > &u, ValueType b, QuadratureValuesContainer< ValueType, memorySpace > &v, linearAlgebra::LinAlgOpContext< memorySpace > &linAlgOpContext)
 Perform \( v = a*u + b*v \). More...
 

Variables

static const std::map< QuadratureRuleType, size_type_dftefe_quadrature_rule_to_1d_num_points_map_
 
static const std::map< QuadratureRuleType, QuadratureFamily_dftefe_quadrature_rule_to_quad_family_
 

Enumeration Type Documentation

◆ QuadratureFamily

Enumerator
GAUSS 
GLL 
GAUSS_VARIABLE 
GLL_VARIABLE 
ADAPTIVE 
GAUSS_SUBDIVIDED 

◆ QuadratureRuleType

Enumerator
GAUSS_1 
GAUSS_2 
GAUSS_3 
GAUSS_4 
GAUSS_5 
GAUSS_6 
GAUSS_7 
GAUSS_8 
GAUSS_9 
GAUSS_10 
GAUSS_11 
GAUSS_12 
GAUSS_VARIABLE 
GLL_1 
GLL_2 
GLL_3 
GLL_4 
GLL_5 
GLL_6 
GLL_7 
GLL_8 
GLL_9 
GLL_10 
GLL_11 
GLL_12 
GLL_VARIABLE 
ADAPTIVE 

Function Documentation

◆ add() [1/3]

template<typename ValueType1 , typename ValueType2 , dftefe::utils::MemorySpace memorySpace>
void dftefe::quadrature::add ( linearAlgebra::blasLapack::scalar_type< ValueType1, ValueType2 >  a,
const QuadratureValuesContainer< ValueType1, memorySpace > &  u,
linearAlgebra::blasLapack::scalar_type< ValueType1, ValueType2 >  b,
const QuadratureValuesContainer< ValueType2, memorySpace > &  v,
QuadratureValuesContainer< linearAlgebra::blasLapack::scalar_type< ValueType1, ValueType2 >, memorySpace > &  w,
linearAlgebra::LinAlgOpContext< memorySpace > &  linAlgOpContext 
)

Perform \( w = a*u + b*v \).

Parameters
[in]ascalar
[in]uQuadratureValuesContainer
[in]bscalar
[in]vQuadratureValuesContainer
[out]wResulting QuadratureValuesContainer
Here is the call graph for this function:
Here is the caller graph for this function:

◆ add() [2/3]

template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
QuadratureValuesContainer< ValueType, memorySpace > dftefe::quadrature::add ( ValueType  a,
const QuadratureValuesContainer< ValueType, memorySpace > &  u,
ValueType  b,
QuadratureValuesContainer< ValueType, memorySpace > &  v,
linearAlgebra::LinAlgOpContext< memorySpace > &  linAlgOpContext 
)

Perform \( v = a*u + b*v \).

Parameters
[in]ascalar
[in]uQuadratureValuesContainer
[in]bscalar
[in]vQuadratureValuesContainer
Returns
Resulting QuadratureValuesContainer w
Here is the call graph for this function:

◆ add() [3/3]

template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
void dftefe::quadrature::add ( ValueType  a,
const QuadratureValuesContainer< ValueType, memorySpace > &  u,
ValueType  b,
QuadratureValuesContainer< ValueType, memorySpace > &  v,
linearAlgebra::LinAlgOpContext< memorySpace > &  linAlgOpContext 
)

Perform \( v = a*u + b*v \).

Parameters
[in]ascalar
[in]uQuadratureValuesContainer
[in]bscalar
[in]vQuadratureValuesContainer
Returns
Resulting QuadratureValuesContainer w
Here is the call graph for this function:

◆ integrate()

void dftefe::quadrature::integrate ( const utils::ScalarSpatialFunction< double > &  function,
const QuadratureRuleContainer quadratureRuleContainer,
double &  integral 
)
Here is the call graph for this function:

◆ scale() [1/2]

template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
void dftefe::quadrature::scale ( ValueType  alpha,
QuadratureValuesContainer< ValueType, memorySpace > &  u,
linearAlgebra::LinAlgOpContext< memorySpace > &  linAlgOpContext 
)

Perform \( u = a*u\).

Parameters
[in]ascalar
[in]uQuadratureValuesContainer
Returns
Resulting QuadratureValuesContainer u
Here is the call graph for this function:

◆ scale() [2/2]

template<typename ValueType1 , typename ValueType2 , dftefe::utils::MemorySpace memorySpace>
void dftefe::quadrature::scale ( ValueType1  alpha,
const QuadratureValuesContainer< ValueType2, memorySpace > &  u,
QuadratureValuesContainer< linearAlgebra::blasLapack::scalar_type< ValueType1, ValueType2 >, memorySpace > &  w,
linearAlgebra::LinAlgOpContext< memorySpace > &  linAlgOpContext 
)

Perform \( w = a*u\).

Parameters
[in]ascalar
[in]uQuadratureValuesContainer
[out]wResulting QuadratureValuesContainer
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ _dftefe_quadrature_rule_to_1d_num_points_map_

const std::map<QuadratureRuleType, size_type> dftefe::quadrature::_dftefe_quadrature_rule_to_1d_num_points_map_
static
Initial value:
= {
{QuadratureRuleType::GAUSS_1, 1}, {QuadratureRuleType::GAUSS_2, 2},
{QuadratureRuleType::GAUSS_3, 3}, {QuadratureRuleType::GAUSS_4, 4},
{QuadratureRuleType::GAUSS_5, 5}, {QuadratureRuleType::GAUSS_6, 6},
{QuadratureRuleType::GAUSS_7, 7}, {QuadratureRuleType::GAUSS_8, 8},
{QuadratureRuleType::GAUSS_9, 9}, {QuadratureRuleType::GAUSS_10, 10},
{QuadratureRuleType::GAUSS_11, 11}, {QuadratureRuleType::GAUSS_12, 12},
{QuadratureRuleType::GLL_1, 1}, {QuadratureRuleType::GLL_2, 2},
{QuadratureRuleType::GLL_3, 3}, {QuadratureRuleType::GLL_4, 4},
{QuadratureRuleType::GLL_5, 5}, {QuadratureRuleType::GLL_6, 6},
{QuadratureRuleType::GLL_7, 7}, {QuadratureRuleType::GLL_8, 8},
{QuadratureRuleType::GLL_9, 9}, {QuadratureRuleType::GLL_10, 10},
{QuadratureRuleType::GLL_11, 11}, {QuadratureRuleType::GLL_12, 12}}

◆ _dftefe_quadrature_rule_to_quad_family_

const std::map<QuadratureRuleType, QuadratureFamily> dftefe::quadrature::_dftefe_quadrature_rule_to_quad_family_
static
Initial value:
= {
{QuadratureRuleType::GAUSS_1, QuadratureFamily::GAUSS},
{QuadratureRuleType::GAUSS_2, QuadratureFamily::GAUSS},
{QuadratureRuleType::GAUSS_3, QuadratureFamily::GAUSS},
{QuadratureRuleType::GAUSS_4, QuadratureFamily::GAUSS},
{QuadratureRuleType::GAUSS_5, QuadratureFamily::GAUSS},
{QuadratureRuleType::GAUSS_6, QuadratureFamily::GAUSS},
{QuadratureRuleType::GAUSS_7, QuadratureFamily::GAUSS},
{QuadratureRuleType::GAUSS_8, QuadratureFamily::GAUSS},
{QuadratureRuleType::GAUSS_9, QuadratureFamily::GAUSS},
{QuadratureRuleType::GAUSS_10, QuadratureFamily::GAUSS},
{QuadratureRuleType::GAUSS_11, QuadratureFamily::GAUSS},
{QuadratureRuleType::GAUSS_12, QuadratureFamily::GAUSS},
{QuadratureRuleType::GLL_1, QuadratureFamily::GLL},
{QuadratureRuleType::GLL_2, QuadratureFamily::GLL},
{QuadratureRuleType::GLL_3, QuadratureFamily::GLL},
{QuadratureRuleType::GLL_4, QuadratureFamily::GLL},
{QuadratureRuleType::GLL_5, QuadratureFamily::GLL},
{QuadratureRuleType::GLL_6, QuadratureFamily::GLL},
{QuadratureRuleType::GLL_7, QuadratureFamily::GLL},
{QuadratureRuleType::GLL_8, QuadratureFamily::GLL},
{QuadratureRuleType::GLL_9, QuadratureFamily::GLL},
{QuadratureRuleType::GLL_10, QuadratureFamily::GLL},
{QuadratureRuleType::GLL_11, QuadratureFamily::GLL},
{QuadratureRuleType::GLL_12, QuadratureFamily::GLL}}