Plugins
ug::Electromagnetism::CalcVolPowerElemHelperClass< TGridFunc, TElem > Class Template Reference

Helper class for the integration of the power. More...

#include <eddy_current_cmd_impl.h>

Static Public Member Functions

static void calc_power (TGridFunc *pJGGF, size_t JG_fct[], SubsetGroup &JG_ssg, TGridFunc *pEGF, size_t E_fct[], number pow[])
 Computes the integral for all elements of one type. More...
 

Private Types

typedef TGridFunc::domain_type domain_type
 
typedef domain_type::position_accessor_type position_accessor_type
 
typedef domain_type::position_type position_type
 

Static Private Member Functions

static void calc_elem_power (TGridFunc *pJGGF, size_t JG_fct[], TGridFunc *pEGF, size_t E_fct[], position_accessor_type &aaPos, TElem *pElem, number pow[])
 computes the integral over one element More...
 

Static Private Attributes

static const size_t maxEdges = NedelecT1_LDisc<domain_type, TElem>::maxNumEdges
 
static const size_t numCorners = NedelecT1_LDisc<domain_type, TElem>::numCorners
 
static const size_t numEdges = NedelecT1_LDisc<domain_type, TElem>::numEdges
 

Detailed Description

template<typename TGridFunc, typename TElem>
class ug::Electromagnetism::CalcVolPowerElemHelperClass< TGridFunc, TElem >

Helper class for the integration of the power.

This class implements the function computes the integral

\[ \int_\Omega \overline{\mathbf{J}_G} \mathbf{E} \, dx \]

over the subdomain covered by grid elements of one type.

Template Parameters
TGridFuncgrid function type
TElemgrid element type

Member Typedef Documentation

◆ domain_type

template<typename TGridFunc , typename TElem >
typedef TGridFunc::domain_type ug::Electromagnetism::CalcVolPowerElemHelperClass< TGridFunc, TElem >::domain_type
private

◆ position_accessor_type

template<typename TGridFunc , typename TElem >
typedef domain_type::position_accessor_type ug::Electromagnetism::CalcVolPowerElemHelperClass< TGridFunc, TElem >::position_accessor_type
private

◆ position_type

template<typename TGridFunc , typename TElem >
typedef domain_type::position_type ug::Electromagnetism::CalcVolPowerElemHelperClass< TGridFunc, TElem >::position_type
private

Member Function Documentation

◆ calc_elem_power()

template<typename TGridFunc , typename TElem >
static void ug::Electromagnetism::CalcVolPowerElemHelperClass< TGridFunc, TElem >::calc_elem_power ( TGridFunc *  pJGGF,
size_t  JG_fct[],
TGridFunc *  pEGF,
size_t  E_fct[],
position_accessor_type aaPos,
TElem *  pElem,
number  pow[] 
)
inlinestaticprivate

computes the integral over one element

Parameters
pJGGFgrid function of the Nedelec-DoFs of the generator current \(\mathbf{J}_G\)
JG_fctindices of the Re and Im parts in the grid function for \(\mathbf{J}_G\)
pEGFgrid function of the Nedelec-DoFs of the electric field \(\mathbf{E}\)
E_fctindices of the Re and Im parts in the grid function for \(\mathbf{E}\)
aaPosposition accessor
pElemthe element
powto add the integral (Re and Im parts)

References ug::DoFRef(), ug::Electromagnetism::NedelecT1_LDisc< TDomain, TElem >::local_mass(), ug::Electromagnetism::CalcVolPowerElemHelperClass< TGridFunc, TElem >::maxEdges, ug::Electromagnetism::CalcVolPowerElemHelperClass< TGridFunc, TElem >::numCorners, ug::Electromagnetism::CalcVolPowerElemHelperClass< TGridFunc, TElem >::numEdges, and UG_THROW.

◆ calc_power()

template<typename TGridFunc , typename TElem >
static void ug::Electromagnetism::CalcVolPowerElemHelperClass< TGridFunc, TElem >::calc_power ( TGridFunc *  pJGGF,
size_t  JG_fct[],
SubsetGroup JG_ssg,
TGridFunc *  pEGF,
size_t  E_fct[],
number  pow[] 
)
inlinestatic

Computes the integral for all elements of one type.

Parameters
pJGGFgrid function of the Nedelec-DoFs of the generator current \(\mathbf{J}_G\)
JG_fctindices of the Re and Im parts in the grid function for \(\mathbf{J}_G\)
JG_ssg(full-dim.) subsets where \(\mathbf{J}_G\) is defined (non-zero and in the kernel)
pEGFgrid function of the Nedelec-DoFs of the electric field \(\mathbf{E}\)
E_fctindices of the Re and Im parts in the grid function for \(\mathbf{E}\)
powto add the integral (Re and Im parts)

References ug::SubsetGroup::size().

Referenced by ug::Electromagnetism::CalcVolPowerHelperClass< TGridFunc >::operator()().

Member Data Documentation

◆ maxEdges

template<typename TGridFunc , typename TElem >
const size_t ug::Electromagnetism::CalcVolPowerElemHelperClass< TGridFunc, TElem >::maxEdges = NedelecT1_LDisc<domain_type, TElem>::maxNumEdges
staticprivate

◆ numCorners

template<typename TGridFunc , typename TElem >
const size_t ug::Electromagnetism::CalcVolPowerElemHelperClass< TGridFunc, TElem >::numCorners = NedelecT1_LDisc<domain_type, TElem>::numCorners
staticprivate

◆ numEdges

template<typename TGridFunc , typename TElem >
const size_t ug::Electromagnetism::CalcVolPowerElemHelperClass< TGridFunc, TElem >::numEdges = NedelecT1_LDisc<domain_type, TElem>::numEdges
staticprivate

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