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

Detailed Description

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

Specialization if shape function and lower order shape function are the same.

Definition at line 81 of file NsAndWeight.h.

#include <NsAndWeight.h>

Public Member Functions

 NsAndWeight (ShapeMatrix &&N, double const weight)
 
Eigen::Ref< const Eigen::RowVectorXd > N (unsigned order) const
 
ShapeMatrix const & NHigherOrder () const
 
double weight () const
 

Private Attributes

ShapeMatrix N_
 
double weight_
 

Constructor & Destructor Documentation

◆ NsAndWeight()

Member Function Documentation

◆ N()

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

Definition at line 92 of file NsAndWeight.h.

93 {
94 // For point elements shape functions are the same for all orders, so
95 // this specialization will be selected, which is OK for any shape
96 // function order for point elements.
97 if constexpr (!std::is_same_v<ShapeFunction, NumLib::ShapePoint1>)
98 {
99 if (order >= 2)
100 {
101 OGS_FATAL(
102 "Only shape functions of order < 2 are available in the "
103 "current setting. You have requested order {}. Maybe there "
104 "is an error in the OGS project file.",
105 order);
106 }
107 }
108
109 return N_;
110 }
#define OGS_FATAL(...)
Definition Error.h:26

References OGS_FATAL.

◆ NHigherOrder()

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

Definition at line 112 of file NsAndWeight.h.

112{ return N_; }

◆ weight()

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

Member Data Documentation

◆ N_

template<typename ShapeFunction , typename ShapeMatrix >
ShapeMatrix ProcessLib::BoundaryConditionAndSourceTerm::Python::NsAndWeight< ShapeFunction, ShapeFunction, ShapeMatrix, ShapeMatrix >::N_
private

Definition at line 117 of file NsAndWeight.h.

◆ weight_

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

Definition at line 118 of file NsAndWeight.h.


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