OGS
ProcessLib::BoundaryConditionAndSourceTerm::Python::NsAndWeight< ShapeFunction, LowerOrderShapeFunction, ShapeMatrix, LowerOrderShapeMatrix > Struct Template Reference

Detailed Description

template<typename ShapeFunction, typename LowerOrderShapeFunction, typename ShapeMatrix, typename LowerOrderShapeMatrix>
struct ProcessLib::BoundaryConditionAndSourceTerm::Python::NsAndWeight< ShapeFunction, LowerOrderShapeFunction, ShapeMatrix, LowerOrderShapeMatrix >

Holds shape matrices and integration weight.

This struct facilitates the handling of shape functions of different order defined on the same mesh element, e.g., for Taylor-Hood elements.

Note
The Shape function template parameters are necessary only to distinguish between different specializations of this class.

Definition at line 33 of file NsAndWeight.h.

#include <NsAndWeight.h>

Public Member Functions

NsAndWeight (ShapeMatrix &&N1, LowerOrderShapeMatrix &&N2, double const weight)

double weight () const

Eigen::Ref< const Eigen::RowVectorXd > N (unsigned order) const

ShapeMatrix const & NHigherOrder () const

Private Attributes

ShapeMatrix N_higher_

LowerOrderShapeMatrix N_lower_

double weight_

◆ NsAndWeight()

template<typename ShapeFunction , typename LowerOrderShapeFunction , typename ShapeMatrix , typename LowerOrderShapeMatrix >
 ProcessLib::BoundaryConditionAndSourceTerm::Python::NsAndWeight< ShapeFunction, LowerOrderShapeFunction, ShapeMatrix, LowerOrderShapeMatrix >::NsAndWeight ( ShapeMatrix && N1, LowerOrderShapeMatrix && N2, double const weight )
inline

◆ N()

template<typename ShapeFunction , typename LowerOrderShapeFunction , typename ShapeMatrix , typename LowerOrderShapeMatrix >
 Eigen::Ref< const Eigen::RowVectorXd > ProcessLib::BoundaryConditionAndSourceTerm::Python::NsAndWeight< ShapeFunction, LowerOrderShapeFunction, ShapeMatrix, LowerOrderShapeMatrix >::N ( unsigned order ) const
inline

Definition at line 51 of file NsAndWeight.h.

52 {
53 if (order < 2)
54 {
55 return N_lower_;
56 }
57
58 if (order == 2)
59 {
60 return N_higher_;
61 }
62
64 "Only shape functions up to order 2 are supported currently. You "
65 "have requested order {}. There might be an error in the OGS "
66 "project file.",
67 order);
68 }
#define OGS_FATAL(...)
Definition Error.h:26

◆ NHigherOrder()

template<typename ShapeFunction , typename LowerOrderShapeFunction , typename ShapeMatrix , typename LowerOrderShapeMatrix >
 ShapeMatrix const & ProcessLib::BoundaryConditionAndSourceTerm::Python::NsAndWeight< ShapeFunction, LowerOrderShapeFunction, ShapeMatrix, LowerOrderShapeMatrix >::NHigherOrder ( ) const
inline

◆ weight()

template<typename ShapeFunction , typename LowerOrderShapeFunction , typename ShapeMatrix , typename LowerOrderShapeMatrix >
 double ProcessLib::BoundaryConditionAndSourceTerm::Python::NsAndWeight< ShapeFunction, LowerOrderShapeFunction, ShapeMatrix, LowerOrderShapeMatrix >::weight ( ) const
inline

◆ N_higher_

template<typename ShapeFunction , typename LowerOrderShapeFunction , typename ShapeMatrix , typename LowerOrderShapeMatrix >
 ShapeMatrix ProcessLib::BoundaryConditionAndSourceTerm::Python::NsAndWeight< ShapeFunction, LowerOrderShapeFunction, ShapeMatrix, LowerOrderShapeMatrix >::N_higher_
private

◆ N_lower_

template<typename ShapeFunction , typename LowerOrderShapeFunction , typename ShapeMatrix , typename LowerOrderShapeMatrix >
 LowerOrderShapeMatrix ProcessLib::BoundaryConditionAndSourceTerm::Python::NsAndWeight< ShapeFunction, LowerOrderShapeFunction, ShapeMatrix, LowerOrderShapeMatrix >::N_lower_
private

Definition at line 74 of file NsAndWeight.h.

◆ weight_

template<typename ShapeFunction , typename LowerOrderShapeFunction , typename ShapeMatrix , typename LowerOrderShapeMatrix >
 double ProcessLib::BoundaryConditionAndSourceTerm::Python::NsAndWeight< ShapeFunction, LowerOrderShapeFunction, ShapeMatrix, LowerOrderShapeMatrix >::weight_
private

The documentation for this struct was generated from the following file:
• ProcessLib/BoundaryConditionAndSourceTerm/Python/Utils/NsAndWeight.h