ug4
|
For arbitrary UserData \(f\) and grid functions \(u_1\) and \(u_2\), this class (should) define the integrand \( (f(u_1)- f(u_2))^2 \). More...
#include <integrate.h>
Public Member Functions | |
template<int elemDim> | |
void | evaluate (number vValue[], const MathVector< worldDim > vGlobIP[], GridObject *pFineElem, const MathVector< worldDim > vCornerCoords[], const MathVector< elemDim > vFineLocIP[], const MathMatrix< elemDim, worldDim > vJT[], const size_t numIP) |
returns the values of the integrand for a bunch of ips | |
virtual void | set_subset (int si) |
sets subset | |
UserDataDistIntegrandSq (SmartPtr< UserData< TData, worldDim > > spData, TGridFunction &fineGridFct, size_t fineCmp, TGridFunction &coarseGridFct, size_t coarseCmp) | |
constructor (1st is fine grid function) | |
virtual | ~UserDataDistIntegrandSq () |
![]() | |
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) |
returns the values of the integrand for a bunch of ips | |
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) |
returns the values of the integrand for a bunch of ips | |
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) |
returns the values of the integrand for a bunch of ips | |
![]() | |
int | subset () const |
returns the subset | |
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 | |
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 | |
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 | |
Static Public Attributes | |
static const int | worldDim = TGridFunction::dim |
world dimension of grid function | |
![]() | |
static const int | worldDim |
world dimension | |
![]() | |
static const int | worldDim = TWorldDim |
world dimension | |
Protected Member Functions | |
number | inner_dist2 (const MathVector< worldDim > &v1, const MathVector< worldDim > &v2) |
number | inner_dist2 (const number &v1, const number &v2) |
template<typename T > | |
number | inner_dist2 (const T &d1, const T &d2) |
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) |
![]() | |
UserDataDistIntegrandSq< TData, TGridFunction > & | getImpl () |
access to implementation | |
const UserDataDistIntegrandSq< TData, TGridFunction > & | getImpl () const |
const access to implementation | |
Protected Attributes | |
ScalarGridFunctionData< TGridFunction > | m_coarseData |
const int | m_coarseTopLevel |
ScalarGridFunctionData< TGridFunction > | m_fineData |
const int | m_fineTopLevel |
SmartPtr< UserData< TData, worldDim > > | m_spData |
SmartPtr< MultiGrid > | m_spMG |
multigrid | |
double | m_time |
![]() | |
int | m_si |
subset | |
Additional Inherited Members | |
![]() | |
typedef number | data_type |
data type | |
![]() | |
typedef TData | data_type |
data type | |
For arbitrary UserData \(f\) and grid functions \(u_1\) and \(u_2\), this class (should) define the integrand \( (f(u_1)- f(u_2))^2 \).
|
inline |
constructor (1st is fine grid function)
References ug::UserDataDistIntegrandSq< TData, TGridFunction >::m_coarseData, ug::UserDataDistIntegrandSq< TData, TGridFunction >::m_coarseTopLevel, ug::UserDataDistIntegrandSq< TData, TGridFunction >::m_fineData, ug::UserDataDistIntegrandSq< TData, TGridFunction >::m_fineTopLevel, and UG_THROW.
|
inlinevirtual |
|
inline |
returns the values of the integrand for a bunch of ips
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::CollectCornerCoordinates(), ug::GetLocalVector(), ug::DimReferenceMapping< TDim, TWorldDim >::global_to_local(), ug::UserDataDistIntegrandSq< TData, TGridFunction >::inner_dist2(), ug::UserDataDistIntegrandSq< TData, TGridFunction >::m_coarseData, ug::UserDataDistIntegrandSq< TData, TGridFunction >::m_coarseTopLevel, ug::UserDataDistIntegrandSq< TData, TGridFunction >::m_fineData, ug::UserDataDistIntegrandSq< TData, TGridFunction >::m_fineTopLevel, ug::IIntegrand< TData, TWorldDim >::m_si, ug::UserDataDistIntegrandSq< TData, TGridFunction >::m_spData, ug::UserDataDistIntegrandSq< TData, TGridFunction >::m_spMG, ug::UserDataDistIntegrandSq< TData, TGridFunction >::m_time, ug::GridObject::reference_object_id(), ug::LocalVector::resize(), UG_CATCH_THROW, and ug::VecSet().
|
inlineprotected |
References ug::VecDistanceSq().
|
inlineprotected |
|
inlineprotected |
References UG_ASSERT.
|
inlineprotected |
References ug::VecDot().
|
inlineprotected |
|
inlineprotected |
References UG_ASSERT.
|
inlinevirtual |
sets subset
Reimplemented from ug::IIntegrand< TData, TWorldDim >.
References ug::UserDataDistIntegrandSq< TData, TGridFunction >::m_coarseData, ug::UserDataDistIntegrandSq< TData, TGridFunction >::m_fineData, ug::IIntegrand< TData, TWorldDim >::set_subset(), and UG_THROW.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
multigrid
Referenced by ug::UserDataDistIntegrandSq< TData, TGridFunction >::evaluate().
|
protected |
|
static |
world dimension of grid function