ug4
ug::IIntegrand< TData, TWorldDim > Class Template Referenceabstract

Abstract integrand interface. More...

#include <integrate.h>

+ Inheritance diagram for ug::IIntegrand< TData, TWorldDim >:

Public Types

typedef TData data_type
 data type More...
 

Public Member Functions

virtual void set_subset (int si)
 sets the subset More...
 
int subset () const
 returns the subset More...
 
virtual ~IIntegrand ()
 
virtual void values (TData vValue[], const MathVector< worldDim > vGlobIP[], GridObject *pElem, const MathVector< worldDim > vCornerCoords[], const MathVector< 1 > vLocIP[], const MathMatrix< 1, worldDim > vJT[], const size_t numIP)=0
 returns the values of the integrand for a bunch of ips More...
 
virtual void values (TData vValue[], const MathVector< worldDim > vGlobIP[], GridObject *pElem, const MathVector< worldDim > vCornerCoords[], const MathVector< 2 > vLocIP[], const MathMatrix< 2, worldDim > vJT[], const size_t numIP)=0
 returns the values of the integrand for a bunch of ips More...
 
virtual void values (TData vValue[], const MathVector< worldDim > vGlobIP[], GridObject *pElem, const MathVector< worldDim > vCornerCoords[], const MathVector< 3 > vLocIP[], const MathMatrix< 3, worldDim > vJT[], const size_t numIP)=0
 returns the values of the integrand for a bunch of ips More...
 

Static Public Attributes

static const int worldDim = TWorldDim
 world dimension More...
 

Protected Attributes

int m_si
 subset More...
 

Detailed Description

template<typename TData, int TWorldDim>
class ug::IIntegrand< TData, TWorldDim >

Abstract integrand interface.

An integrand is a short-living (temporary) object that is generated/used in various integration functions.

Member Typedef Documentation

◆ data_type

template<typename TData , int TWorldDim>
typedef TData ug::IIntegrand< TData, TWorldDim >::data_type

data type

Constructor & Destructor Documentation

◆ ~IIntegrand()

template<typename TData , int TWorldDim>
virtual ug::IIntegrand< TData, TWorldDim >::~IIntegrand ( )
inlinevirtual

Member Function Documentation

◆ set_subset()

template<typename TData , int TWorldDim>
virtual void ug::IIntegrand< TData, TWorldDim >::set_subset ( int  si)
inlinevirtual

◆ subset()

◆ values() [1/3]

template<typename TData , int TWorldDim>
virtual void ug::IIntegrand< TData, TWorldDim >::values ( TData  vValue[],
const MathVector< worldDim vGlobIP[],
GridObject pElem,
const MathVector< worldDim vCornerCoords[],
const MathVector< 1 >  vLocIP[],
const MathMatrix< 1, worldDim vJT[],
const size_t  numIP 
)
pure virtual

returns the values of the integrand for a bunch of ips

Parameters
vValue[out]the value of the integrand at the ips
vGlobIP[in]global integration point positions
pElem[in]the element to integrate
vCornerCoords[in]corner coordinates of the element
vLocIP[in]local integration point positions
vJT[in]jacobian transposed at integration point
numIP[in]number of integration points

Implemented in ug::StdIntegrand< TData, TWorldDim, TImpl >, and ug::StdIntegrand< TData, TGridFunction::dim, UserDataIntegrand< TData, TGridFunction > >.

Referenced by ug::Integrate().

◆ values() [2/3]

template<typename TData , int TWorldDim>
virtual void ug::IIntegrand< TData, TWorldDim >::values ( TData  vValue[],
const MathVector< worldDim vGlobIP[],
GridObject pElem,
const MathVector< worldDim vCornerCoords[],
const MathVector< 2 >  vLocIP[],
const MathMatrix< 2, worldDim vJT[],
const size_t  numIP 
)
pure virtual

returns the values of the integrand for a bunch of ips

Parameters
vValue[out]the value of the integrand at the ips
vGlobIP[in]global integration point positions
pElem[in]the element to integrate
vCornerCoords[in]corner coordinates of the element
vLocIP[in]local integration point positions
vJT[in]jacobian transposed at integration point
numIP[in]number of integration points

Implemented in ug::StdIntegrand< TData, TWorldDim, TImpl >, and ug::StdIntegrand< TData, TGridFunction::dim, UserDataIntegrand< TData, TGridFunction > >.

◆ values() [3/3]

template<typename TData , int TWorldDim>
virtual void ug::IIntegrand< TData, TWorldDim >::values ( TData  vValue[],
const MathVector< worldDim vGlobIP[],
GridObject pElem,
const MathVector< worldDim vCornerCoords[],
const MathVector< 3 >  vLocIP[],
const MathMatrix< 3, worldDim vJT[],
const size_t  numIP 
)
pure virtual

returns the values of the integrand for a bunch of ips

Parameters
vValue[out]the value of the integrand at the ips
vGlobIP[in]global integration point positions
pElem[in]the element to integrate
vCornerCoords[in]corner coordinates of the element
vLocIP[in]local integration point positions
vJT[in]jacobian transposed at integration point
numIP[in]number of integration points

Implemented in ug::StdIntegrand< TData, TWorldDim, TImpl >, and ug::StdIntegrand< TData, TGridFunction::dim, UserDataIntegrand< TData, TGridFunction > >.

Member Data Documentation

◆ m_si

◆ worldDim

template<typename TData , int TWorldDim>
const int ug::IIntegrand< TData, TWorldDim >::worldDim = TWorldDim
static

world dimension


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