ug4
ug::UserDataIntegrandSq< TData, TGridFunction > Class Template Reference

For arbitrary UserData \(f\) (of type TData), this class defines the integrand \(f^2(u)\). More...

#include <integrate.h>

+ Inheritance diagram for ug::UserDataIntegrandSq< TData, TGridFunction >:

Public Types

typedef TData data_type
 
- Public Types inherited from ug::StdIntegrand< number, TGridFunction::dim, UserDataIntegrandSq< TData, TGridFunction > >
typedef number data_type
 data type More...
 
- Public Types inherited from ug::IIntegrand< TData, TWorldDim >
typedef TData data_type
 data type More...
 

Public Member Functions

template<int elemDim>
void evaluate (number vValue[], const MathVector< worldDim > vGlobIP[], GridObject *pElem, const MathVector< worldDim > vCornerCoords[], const MathVector< elemDim > vLocIP[], const MathMatrix< elemDim, worldDim > vJT[], const size_t numIP)
 returns the values of the integrand for a bunch of ips More...
 
 UserDataIntegrandSq (SmartPtr< UserData< TData, worldDim > > spData, const TGridFunction *pGridFct, number time)
 constructor More...
 
 UserDataIntegrandSq (SmartPtr< UserData< TData, worldDim > > spData, number time)
 constructor More...
 
- Public Member Functions inherited from ug::StdIntegrand< number, TGridFunction::dim, UserDataIntegrandSq< TData, TGridFunction > >
virtual void values (number vValue[], const MathVector< worldDim > vGlobIP[], GridObject *pElem, const MathVector< worldDim > vCornerCoords[], const MathVector< 1 > vLocIP[], const MathMatrix< 1, worldDim > vJT[], const size_t numIP)
 
virtual void values (number vValue[], const MathVector< worldDim > vGlobIP[], GridObject *pElem, const MathVector< worldDim > vCornerCoords[], const MathVector< 2 > vLocIP[], const MathMatrix< 2, worldDim > vJT[], const size_t numIP)
 
virtual void values (number vValue[], const MathVector< worldDim > vGlobIP[], GridObject *pElem, const MathVector< worldDim > vCornerCoords[], const MathVector< 3 > vLocIP[], const MathMatrix< 3, worldDim > vJT[], const size_t numIP)
 
- Public Member Functions inherited from ug::IIntegrand< TData, TWorldDim >
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 = TGridFunction::dim
 
- Static Public Attributes inherited from ug::StdIntegrand< number, TGridFunction::dim, UserDataIntegrandSq< TData, TGridFunction > >
static const int worldDim
 world dimension More...
 
- Static Public Attributes inherited from ug::IIntegrand< TData, TWorldDim >
static const int worldDim = TWorldDim
 world dimension More...
 

Protected Member Functions

number inner_prod (const MathVector< worldDim > &d1, const MathVector< worldDim > &d2)
 
number inner_prod (const number &d1, const number &d2)
 
template<typename T >
number inner_prod (const T &d1, const T &d2)
 
- Protected Member Functions inherited from ug::StdIntegrand< number, TGridFunction::dim, UserDataIntegrandSq< TData, TGridFunction > >
UserDataIntegrandSq< TData, TGridFunction > & getImpl ()
 access to implementation More...
 
const UserDataIntegrandSq< TData, TGridFunction > & getImpl () const
 const access to implementation More...
 

Private Attributes

const TGridFunction * m_pGridFct
 
SmartPtr< UserData< TData, worldDim > > m_spData
 
number m_time
 

Additional Inherited Members

- Protected Attributes inherited from ug::IIntegrand< TData, TWorldDim >
int m_si
 subset More...
 

Detailed Description

template<typename TData, typename TGridFunction>
class ug::UserDataIntegrandSq< TData, TGridFunction >

For arbitrary UserData \(f\) (of type TData), this class defines the integrand \(f^2(u)\).

Member Typedef Documentation

◆ data_type

template<typename TData , typename TGridFunction >
typedef TData ug::UserDataIntegrandSq< TData, TGridFunction >::data_type

Constructor & Destructor Documentation

◆ UserDataIntegrandSq() [1/2]

template<typename TData , typename TGridFunction >
ug::UserDataIntegrandSq< TData, TGridFunction >::UserDataIntegrandSq ( SmartPtr< UserData< TData, worldDim > >  spData,
const TGridFunction *  pGridFct,
number  time 
)
inline

◆ UserDataIntegrandSq() [2/2]

template<typename TData , typename TGridFunction >
ug::UserDataIntegrandSq< TData, TGridFunction >::UserDataIntegrandSq ( SmartPtr< UserData< TData, worldDim > >  spData,
number  time 
)
inline

Member Function Documentation

◆ evaluate()

template<typename TData , typename TGridFunction >
template<int elemDim>
void ug::UserDataIntegrandSq< TData, TGridFunction >::evaluate ( number  vValue[],
const MathVector< worldDim vGlobIP[],
GridObject pElem,
const MathVector< worldDim vCornerCoords[],
const MathVector< elemDim >  vLocIP[],
const MathMatrix< elemDim, worldDim vJT[],
const size_t  numIP 
)
inline

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

References ug::GetLocalVector(), ug::UserDataIntegrandSq< TData, TGridFunction >::inner_prod(), ug::UserDataIntegrandSq< TData, TGridFunction >::m_pGridFct, ug::IIntegrand< TData, TWorldDim >::m_si, ug::UserDataIntegrandSq< TData, TGridFunction >::m_spData, ug::UserDataIntegrandSq< TData, TGridFunction >::m_time, ug::LocalVector::resize(), UG_ASSERT, and UG_CATCH_THROW.

◆ inner_prod() [1/3]

template<typename TData , typename TGridFunction >
number ug::UserDataIntegrandSq< TData, TGridFunction >::inner_prod ( const MathVector< worldDim > &  d1,
const MathVector< worldDim > &  d2 
)
inlineprotected

References ug::VecDot().

◆ inner_prod() [2/3]

template<typename TData , typename TGridFunction >
number ug::UserDataIntegrandSq< TData, TGridFunction >::inner_prod ( const number d1,
const number d2 
)
inlineprotected

◆ inner_prod() [3/3]

template<typename TData , typename TGridFunction >
template<typename T >
number ug::UserDataIntegrandSq< TData, TGridFunction >::inner_prod ( const T &  d1,
const T &  d2 
)
inlineprotected

References UG_ASSERT.

Member Data Documentation

◆ m_pGridFct

template<typename TData , typename TGridFunction >
const TGridFunction* ug::UserDataIntegrandSq< TData, TGridFunction >::m_pGridFct
private

◆ m_spData

template<typename TData , typename TGridFunction >
SmartPtr<UserData<TData, worldDim> > ug::UserDataIntegrandSq< TData, TGridFunction >::m_spData
private

◆ m_time

template<typename TData , typename TGridFunction >
number ug::UserDataIntegrandSq< TData, TGridFunction >::m_time
private

◆ worldDim

template<typename TData , typename TGridFunction >
const int ug::UserDataIntegrandSq< TData, TGridFunction >::worldDim = TGridFunction::dim
static

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