ug4
|
Integrand for the distance of two grid functions - evaluated in the norm \( |D \nabla u|^2 \). More...
#include <integrate.h>
Public Types | |
typedef H1SemiIntegrand< TGridFunction >::weight_type | weight_type |
![]() | |
typedef number | data_type |
data type | |
![]() | |
typedef TData | data_type |
data type | |
Public Member Functions | |
template<int elemDim> | |
void | evaluate (number vValue[], const MathVector< worldDim > vFineGlobIP[], 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 | |
H1EnergyDistIntegrand (TGridFunction &fineGridFct, size_t fineCmp, TGridFunction &coarseGridFct, size_t coarseCmp) | |
constructor | |
H1EnergyDistIntegrand (TGridFunction &fineGridFct, size_t fineCmp, TGridFunction &coarseGridFct, size_t coarseCmp, ConstSmartPtr< weight_type > spWeight) | |
constructor | |
virtual void | set_subset (int si) |
sets subset | |
virtual | ~H1EnergyDistIntegrand () |
![]() | |
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 | |
Private Attributes | |
ScalarGridFunctionData< TGridFunction > | m_coarseData |
const int | m_coarseTopLevel |
ScalarGridFunctionData< TGridFunction > | m_fineData |
const int | m_fineTopLevel |
SmartPtr< MultiGrid > | m_spMG |
multigrid | |
ConstSmartPtr< weight_type > | m_spWeight |
scalar weight (optional) | |
Additional Inherited Members | |
![]() | |
H1EnergyDistIntegrand< TGridFunction > & | getImpl () |
access to implementation | |
const H1EnergyDistIntegrand< TGridFunction > & | getImpl () const |
const access to implementation | |
![]() | |
int | m_si |
subset | |
Integrand for the distance of two grid functions - evaluated in the norm \( |D \nabla u|^2 \).
typedef H1SemiIntegrand<TGridFunction>::weight_type ug::H1EnergyDistIntegrand< TGridFunction >::weight_type |
|
inline |
|
inline |
|
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::DoFRef(), ug::GetLocalVector(), ug::DimReferenceMapping< TDim, TWorldDim >::global_to_local(), ug::LocalShapeFunctionSet< TDim, TShape, TGrad >::grads(), ug::DimReferenceMapping< TDim, TWorldDim >::jacobian_transposed_inverse(), ug::H1EnergyDistIntegrand< TGridFunction >::m_coarseData, ug::H1EnergyDistIntegrand< TGridFunction >::m_coarseTopLevel, ug::H1EnergyDistIntegrand< TGridFunction >::m_fineData, ug::H1EnergyDistIntegrand< TGridFunction >::m_fineTopLevel, ug::H1EnergyDistIntegrand< TGridFunction >::m_spMG, ug::H1EnergyDistIntegrand< TGridFunction >::m_spWeight, ug::MatVecMult(), ug::GridObject::reference_object_id(), ug::UserData< TData, dim, TRet >::requires_grid_fct(), ug::LocalVector::resize(), ug::LocalShapeFunctionSet< TDim, TShape, TGrad >::shape(), ug::IIntegrand< TData, TWorldDim >::subset(), UG_ASSERT, UG_CATCH_THROW, ConstSmartPtr< T, FreePolicy >::valid(), ug::VecDistanceSq(), ug::VecScaleAppend(), and ug::VecSet().
|
inlinevirtual |
sets subset
Reimplemented from ug::IIntegrand< TData, TWorldDim >.
References ug::H1EnergyDistIntegrand< TGridFunction >::m_coarseData, ug::H1EnergyDistIntegrand< TGridFunction >::m_fineData, ug::IIntegrand< TData, TWorldDim >::set_subset(), and UG_THROW.
|
private |
|
private |
|
private |
|
private |
|
private |
multigrid
Referenced by ug::H1EnergyDistIntegrand< TGridFunction >::evaluate().
|
private |
scalar weight (optional)
Referenced by ug::H1EnergyDistIntegrand< TGridFunction >::evaluate().
|
static |
world dimension of grid function