KASKADE 7 development version
Public Types | Public Member Functions | Static Public Attributes | List of all members
Kaskade::BoundaryFace< Grid, Face, Displacement, dimw > Class Template Reference

A class for representing displaced/deformed boundary faces. More...

#include <boundaryFace.hh>

Detailed Description

template<class Grid, class Face, class Displacement, int dimw = Face::dimensionworld>
class Kaskade::BoundaryFace< Grid, Face, Displacement, dimw >

A class for representing displaced/deformed boundary faces.

We distinguish three cases:

In the first case, Face denotes a face in the grid, i.e. a codimension 1 entity. In the other two cases, Face denotes a grid cell (a codimension 0 entity).

Definition at line 44 of file boundaryFace.hh.

Public Types

using ctype = typename Face::ctype
 
using Cell = typename Grid::Codim< 0 >::Entity
 
using LocalPosition = Dune::FieldVector< ctype, facedimension >
 Local position vector in the face's reference simplex. More...
 
using GlobalPosition = Dune::FieldVector< ctype, worlddimension >
 Global position in the world. More...
 
using CellLocalPosition = Dune::FieldVector< ctype, celldimension >
 Local position in the grid cell to which this face belongs. More...
 
using CellGlobalPosition = Dune::FieldVector< ctype, griddimension >
 Global position of the grid. More...
 

Public Member Functions

 BoundaryFace (Face const &f, Displacement const *d=nullptr)
 Constructor. More...
 
 ~BoundaryFace ()
 
Face const & gridFace () const
 
std::pair< GlobalPosition, GlobalPositionboundingBox () const
 Computes the axis-aligned bounding box. More...
 
Dune::GeometryType type () const
 Returns the type of reference face. More...
 
ctype volume () const
 Computes the area of the deformed face. More...
 
GlobalPosition global (LocalPosition const &xi) const
 Computes the global world position of the given local coordinate. More...
 
GlobalPosition unitOuterNormal (LocalPosition const &xi) const
 Computes the unit outer normal of the deformed face. More...
 
std::optional< std::pair< LocalPosition, ctype > > intersection (GlobalPosition const &a, GlobalPosition const &b) const
 Computes the intersection of the boundary face with the given line segment \( [a,b] \), if there is any. More...
 

Static Public Attributes

static int const facedimension = Face::mydimension
 
static int const celldimension = Grid::dimension
 
static int const griddimension = Face::dimensionworld
 
static int const worlddimension = dimw
 

Member Typedef Documentation

◆ Cell

template<class Grid , class Face , class Displacement , int dimw = Face::dimensionworld>
using Kaskade::BoundaryFace< Grid, Face, Displacement, dimw >::Cell = typename Grid::Codim<0>::Entity

Definition at line 53 of file boundaryFace.hh.

◆ CellGlobalPosition

template<class Grid , class Face , class Displacement , int dimw = Face::dimensionworld>
using Kaskade::BoundaryFace< Grid, Face, Displacement, dimw >::CellGlobalPosition = Dune::FieldVector<ctype,griddimension>

Global position of the grid.

Definition at line 82 of file boundaryFace.hh.

◆ CellLocalPosition

template<class Grid , class Face , class Displacement , int dimw = Face::dimensionworld>
using Kaskade::BoundaryFace< Grid, Face, Displacement, dimw >::CellLocalPosition = Dune::FieldVector<ctype,celldimension>

Local position in the grid cell to which this face belongs.

Definition at line 77 of file boundaryFace.hh.

◆ ctype

template<class Grid , class Face , class Displacement , int dimw = Face::dimensionworld>
using Kaskade::BoundaryFace< Grid, Face, Displacement, dimw >::ctype = typename Face::ctype

Definition at line 52 of file boundaryFace.hh.

◆ GlobalPosition

template<class Grid , class Face , class Displacement , int dimw = Face::dimensionworld>
using Kaskade::BoundaryFace< Grid, Face, Displacement, dimw >::GlobalPosition = Dune::FieldVector<ctype,worlddimension>

Global position in the world.

Definition at line 72 of file boundaryFace.hh.

◆ LocalPosition

template<class Grid , class Face , class Displacement , int dimw = Face::dimensionworld>
using Kaskade::BoundaryFace< Grid, Face, Displacement, dimw >::LocalPosition = Dune::FieldVector<ctype,facedimension>

Local position vector in the face's reference simplex.

Definition at line 67 of file boundaryFace.hh.

Constructor & Destructor Documentation

◆ BoundaryFace()

template<class Grid , class Face , class Displacement , int dimw = Face::dimensionworld>
Kaskade::BoundaryFace< Grid, Face, Displacement, dimw >::BoundaryFace ( Face const &  f,
Displacement const *  d = nullptr 
)

Constructor.

◆ ~BoundaryFace()

template<class Grid , class Face , class Displacement , int dimw = Face::dimensionworld>
Kaskade::BoundaryFace< Grid, Face, Displacement, dimw >::~BoundaryFace ( )

Member Function Documentation

◆ boundingBox()

template<class Grid , class Face , class Displacement , int dimw = Face::dimensionworld>
std::pair< GlobalPosition, GlobalPosition > Kaskade::BoundaryFace< Grid, Face, Displacement, dimw >::boundingBox ( ) const

Computes the axis-aligned bounding box.

◆ global()

template<class Grid , class Face , class Displacement , int dimw = Face::dimensionworld>
GlobalPosition Kaskade::BoundaryFace< Grid, Face, Displacement, dimw >::global ( LocalPosition const &  xi) const

Computes the global world position of the given local coordinate.

◆ gridFace()

template<class Grid , class Face , class Displacement , int dimw = Face::dimensionworld>
Face const & Kaskade::BoundaryFace< Grid, Face, Displacement, dimw >::gridFace ( ) const
inline

Definition at line 91 of file boundaryFace.hh.

◆ intersection()

template<class Grid , class Face , class Displacement , int dimw = Face::dimensionworld>
std::optional< std::pair< LocalPosition, ctype > > Kaskade::BoundaryFace< Grid, Face, Displacement, dimw >::intersection ( GlobalPosition const &  a,
GlobalPosition const &  b 
) const

Computes the intersection of the boundary face with the given line segment \( [a,b] \), if there is any.

Returns
a pair \( (\xi,t) \) of local position and line parameter, such that \( \mathrm{global}(\xi) \approx (1-t)a+tb \) holds.

◆ type()

template<class Grid , class Face , class Displacement , int dimw = Face::dimensionworld>
Dune::GeometryType Kaskade::BoundaryFace< Grid, Face, Displacement, dimw >::type ( ) const
inline

Returns the type of reference face.

Definition at line 104 of file boundaryFace.hh.

◆ unitOuterNormal()

template<class Grid , class Face , class Displacement , int dimw = Face::dimensionworld>
GlobalPosition Kaskade::BoundaryFace< Grid, Face, Displacement, dimw >::unitOuterNormal ( LocalPosition const &  xi) const

Computes the unit outer normal of the deformed face.

◆ volume()

template<class Grid , class Face , class Displacement , int dimw = Face::dimensionworld>
ctype Kaskade::BoundaryFace< Grid, Face, Displacement, dimw >::volume ( ) const
inline

Computes the area of the deformed face.

Definition at line 112 of file boundaryFace.hh.

Member Data Documentation

◆ celldimension

template<class Grid , class Face , class Displacement , int dimw = Face::dimensionworld>
int const Kaskade::BoundaryFace< Grid, Face, Displacement, dimw >::celldimension = Grid::dimension
static

Definition at line 48 of file boundaryFace.hh.

◆ facedimension

template<class Grid , class Face , class Displacement , int dimw = Face::dimensionworld>
int const Kaskade::BoundaryFace< Grid, Face, Displacement, dimw >::facedimension = Face::mydimension
static

Definition at line 47 of file boundaryFace.hh.

◆ griddimension

template<class Grid , class Face , class Displacement , int dimw = Face::dimensionworld>
int const Kaskade::BoundaryFace< Grid, Face, Displacement, dimw >::griddimension = Face::dimensionworld
static

Definition at line 49 of file boundaryFace.hh.

◆ worlddimension

template<class Grid , class Face , class Displacement , int dimw = Face::dimensionworld>
int const Kaskade::BoundaryFace< Grid, Face, Displacement, dimw >::worlddimension = dimw
static

Definition at line 50 of file boundaryFace.hh.


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