ug4
ug::IInterfaceExtrapolation< TDomain, TAlgebra > Class Template Reference

Base class for the extrapolation over an embedded boundary. More...

#include <dom_disc_embb.h>

+ Inheritance diagram for ug::IInterfaceExtrapolation< TDomain, TAlgebra >:

Public Types

typedef TAlgebra algebra_type
 algebra type for the functions to extrapolate More...
 
typedef TDomain domain_type
 domain type More...
 
typedef algebra_type::matrix_type matrix_type
 matrix type More...
 
typedef algebra_type::vector_type vector_type
 vector type (for the functions to extrapolate) More...
 

Public Member Functions

virtual int check_elem_lsf (size_t n_co, GridObject *pElem, int si, bool use_hanging, const MathVector< dim > vCornerCoords[], number time)
 (slower version) checks whether the element is intersected by the interface, or what, and prepares the data More...
 
virtual int check_elem_lsf (size_t n_co, GridObject *pElem, int si, int g_level, bool use_hanging, const MathVector< dim > vCornerCoords[], number time)
 checks whether the element is intersected by the interface, or what, and prepares the data More...
 
virtual bool corner_inside (size_t co) const
 returns true if the corner is "inside" (use after check_elem_lsf) More...
 
virtual void extrapolate_by_lsf (size_t num_co, number *u, size_t fct) const
 extrapolates a component of the solution to the vertices behind the interface (by averaging) More...
 
virtual void extrapolate_by_lsf (size_t num_co, size_t base_co, number *u, size_t fct) const
 extrapolates a component of the solution to the vertices behind the interface (w.r.t. a base corner) More...
 
 IInterfaceExtrapolation ()
 Constructor. More...
 
virtual number lsf_at (size_t co) const
 returns the effective value of the LSF at a corner (use after check_elem_lsf) More...
 
virtual ~IInterfaceExtrapolation ()
 Destructor. More...
 

Static Public Attributes

static const int dim = domain_type::dim
 dimensionality (the World dimension) More...
 

Detailed Description

template<typename TDomain, typename TAlgebra>
class ug::IInterfaceExtrapolation< TDomain, TAlgebra >

Base class for the extrapolation over an embedded boundary.

This class provides an interface for the access to the extrapolation over an embedded boundary.

Template Parameters
TDomaindomain type
TAlgebraalgebra type for the functions to extrapolate

Member Typedef Documentation

◆ algebra_type

template<typename TDomain , typename TAlgebra >
typedef TAlgebra ug::IInterfaceExtrapolation< TDomain, TAlgebra >::algebra_type

algebra type for the functions to extrapolate

◆ domain_type

template<typename TDomain , typename TAlgebra >
typedef TDomain ug::IInterfaceExtrapolation< TDomain, TAlgebra >::domain_type

domain type

◆ matrix_type

template<typename TDomain , typename TAlgebra >
typedef algebra_type::matrix_type ug::IInterfaceExtrapolation< TDomain, TAlgebra >::matrix_type

matrix type

◆ vector_type

template<typename TDomain , typename TAlgebra >
typedef algebra_type::vector_type ug::IInterfaceExtrapolation< TDomain, TAlgebra >::vector_type

vector type (for the functions to extrapolate)

Constructor & Destructor Documentation

◆ IInterfaceExtrapolation()

template<typename TDomain , typename TAlgebra >
ug::IInterfaceExtrapolation< TDomain, TAlgebra >::IInterfaceExtrapolation ( )
inline

Constructor.

◆ ~IInterfaceExtrapolation()

template<typename TDomain , typename TAlgebra >
virtual ug::IInterfaceExtrapolation< TDomain, TAlgebra >::~IInterfaceExtrapolation ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ check_elem_lsf() [1/2]

template<typename TDomain , typename TAlgebra >
virtual int ug::IInterfaceExtrapolation< TDomain, TAlgebra >::check_elem_lsf ( size_t  n_co,
GridObject pElem,
int  si,
bool  use_hanging,
const MathVector< dim vCornerCoords[],
number  time 
)
inlinevirtual

(slower version) checks whether the element is intersected by the interface, or what, and prepares the data

Parameters
n_conumber of the corners of the element
pElemthe element to process
sisubset of the element
use_hangingif there can be hanging nodes
vCornerCoordscoordinates of the corners of the element
timethe phisical time

Reimplemented in ug::LSGFDomainDiscretization< TDomain, TAlgebra, TExtrapolation >.

References UG_THROW.

◆ check_elem_lsf() [2/2]

template<typename TDomain , typename TAlgebra >
virtual int ug::IInterfaceExtrapolation< TDomain, TAlgebra >::check_elem_lsf ( size_t  n_co,
GridObject pElem,
int  si,
int  g_level,
bool  use_hanging,
const MathVector< dim vCornerCoords[],
number  time 
)
inlinevirtual

checks whether the element is intersected by the interface, or what, and prepares the data

Parameters
n_conumber of the corners of the element
pElemthe element to process
sisubset of the element
g_levelgrid level of the element
use_hangingif there can be hanging nodes
vCornerCoordscoordinates of the corners of the element
timethe phisical time

Reimplemented in ug::LSGFDomainDiscretization< TDomain, TAlgebra, TExtrapolation >.

References UG_THROW.

◆ corner_inside()

template<typename TDomain , typename TAlgebra >
virtual bool ug::IInterfaceExtrapolation< TDomain, TAlgebra >::corner_inside ( size_t  co) const
inlinevirtual

returns true if the corner is "inside" (use after check_elem_lsf)

Parameters
cothe corner

Reimplemented in ug::LSGFDomainDiscretization< TDomain, TAlgebra, TExtrapolation >.

References UG_THROW.

◆ extrapolate_by_lsf() [1/2]

template<typename TDomain , typename TAlgebra >
virtual void ug::IInterfaceExtrapolation< TDomain, TAlgebra >::extrapolate_by_lsf ( size_t  num_co,
number u,
size_t  fct 
) const
inlinevirtual

extrapolates a component of the solution to the vertices behind the interface (by averaging)

Parameters
num_conumber of the corners
unodal values to extrapolate
fctindex of the function (to identify to type of the extrapolation)

Reimplemented in ug::LSGFDomainDiscretization< TDomain, TAlgebra, TExtrapolation >.

References UG_THROW.

◆ extrapolate_by_lsf() [2/2]

template<typename TDomain , typename TAlgebra >
virtual void ug::IInterfaceExtrapolation< TDomain, TAlgebra >::extrapolate_by_lsf ( size_t  num_co,
size_t  base_co,
number u,
size_t  fct 
) const
inlinevirtual

extrapolates a component of the solution to the vertices behind the interface (w.r.t. a base corner)

Parameters
num_conumber of the corners
base_cothe base corner
unodal values to extrapolate
fctindex of the function (to identify to type of the extrapolation)

Reimplemented in ug::LSGFDomainDiscretization< TDomain, TAlgebra, TExtrapolation >.

References UG_THROW.

◆ lsf_at()

template<typename TDomain , typename TAlgebra >
virtual number ug::IInterfaceExtrapolation< TDomain, TAlgebra >::lsf_at ( size_t  co) const
inlinevirtual

returns the effective value of the LSF at a corner (use after check_elem_lsf)

Parameters
cothe corner

Reimplemented in ug::LSGFDomainDiscretization< TDomain, TAlgebra, TExtrapolation >.

References UG_THROW.

Member Data Documentation

◆ dim

template<typename TDomain , typename TAlgebra >
const int ug::IInterfaceExtrapolation< TDomain, TAlgebra >::dim = domain_type::dim
static

dimensionality (the World dimension)


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