Dune Core Modules (unstable)

Dune::YaspGeometry< mydim, cdim, GridImp > Class Template Reference

The general version that handles all codimensions but 0 and dim. More...

#include <dune/grid/yaspgrid/yaspgridgeometry.hh>

Public Types

typedef GridImp::ctype ctype
 define type used for coordinates in grid module
 
typedef FieldVector< ctype, dim > LocalCoordinate
 Type used for a vector of element coordinates.
 
typedef FieldVector< ctype, coorddim > GlobalCoordinate
 Type used for a vector of world coordinates.
 
typedef ctype Volume
 Type used for volume.
 
typedef std::conditional< dim==coorddim, DiagonalMatrix< ctype, dim >, FieldMatrix< ctype, dim, coorddim > >::type JacobianTransposed
 Return type of jacobianTransposed. More...
 
typedef std::conditional< dim==coorddim, DiagonalMatrix< ctype, dim >, FieldMatrix< ctype, coorddim, dim > >::type JacobianInverseTransposed
 Return type of jacobianInverseTransposed. More...
 
using Jacobian = std::conditional_t< dim==coorddim, DiagonalMatrix< ctype, dim >, FieldMatrix< ctype, coorddim, dim > >
 Return type of jacobian. More...
 
using JacobianInverse = std::conditional_t< dim==coorddim, DiagonalMatrix< ctype, dim >, FieldMatrix< ctype, dim, coorddim > >
 Return type of jacobianInverse. More...
 

Public Member Functions

 YaspGeometry (const FieldVector< ctype, cdim > &ll, const FieldVector< ctype, cdim > &ur, const std::bitset< cdim > &shift)
 constructor from midpoint and extension and a bitset defining which unit vectors span the entity
 
GeometryType type () const
 Type of the cube. Here: a hypercube of the correct dimension.
 
GlobalCoordinate global (const LocalCoordinate &local) const
 Map a point in local (element) coordinates to world coordinates.
 
LocalCoordinate local (const GlobalCoordinate &global) const
 Map a point in global (world) coordinates to element coordinates.
 
JacobianTransposed jacobianTransposed ([[maybe_unused]] const LocalCoordinate &local) const
 Jacobian transposed of the transformation from local to global coordinates.
 
JacobianInverseTransposed jacobianInverseTransposed ([[maybe_unused]] const LocalCoordinate &local) const
 Inverse Jacobian transposed of the transformation from local to global coordinates.
 
Jacobian jacobian ([[maybe_unused]] const LocalCoordinate &local) const
 Jacobian of the transformation from local to global coordinates.
 
JacobianInverse jacobianInverse ([[maybe_unused]] const LocalCoordinate &local) const
 Inverse Jacobian of the transformation from local to global coordinates.
 
Volume integrationElement ([[maybe_unused]] const LocalCoordinate &local) const
 Return the integration element, i.e., the determinant term in the integral transformation formula.
 
GlobalCoordinate center () const
 Return center of mass of the element.
 
int corners () const
 Return the number of corners of the element.
 
GlobalCoordinate corner (int k) const
 Return world coordinates of the k-th corner of the element.
 
Volume volume () const
 Return the element volume.
 
bool affine () const
 Return if the element is affine. Here: yes.
 

Static Public Attributes

constexpr static int mydimension
 Dimension of the cube element.
 
constexpr static int coorddimension
 Dimension of the world space that the cube element is embedded in.
 

Detailed Description

template<int mydim, int cdim, class GridImp>
class Dune::YaspGeometry< mydim, cdim, GridImp >

The general version that handles all codimensions but 0 and dim.

Template Parameters
mydimthe codimension
cdimthe coordinate dimension (NOT codim)

Member Typedef Documentation

◆ Jacobian

using Dune::AxisAlignedCubeGeometry< GridImp::ctype , dim, coorddim >::Jacobian = std::conditional_t<dim==coorddim, DiagonalMatrix<ctype,dim>, FieldMatrix<ctype,coorddim,dim> >
inherited

Return type of jacobian.

This is a fast DiagonalMatrix if dim==coorddim, and a FieldMatrix otherwise. The FieldMatrix will never contain more than one entry per row, hence it could be replaced by something more efficient.

◆ JacobianInverse

using Dune::AxisAlignedCubeGeometry< GridImp::ctype , dim, coorddim >::JacobianInverse = std::conditional_t<dim==coorddim, DiagonalMatrix<ctype,dim>, FieldMatrix<ctype,dim,coorddim> >
inherited

Return type of jacobianInverse.

This is a fast DiagonalMatrix if dim==coorddim, and a FieldMatrix otherwise. The FieldMatrix will never contain more than one entry per row, hence it could be replaced by something more efficient.

◆ JacobianInverseTransposed

typedef std::conditional<dim==coorddim, DiagonalMatrix<ctype,dim>, FieldMatrix<ctype,coorddim,dim> >::type Dune::AxisAlignedCubeGeometry< GridImp::ctype , dim, coorddim >::JacobianInverseTransposed
inherited

Return type of jacobianInverseTransposed.

This is a fast DiagonalMatrix if dim==coorddim, and a FieldMatrix otherwise. The FieldMatrix will never contain more than one entry per column, hence it could be replaced by something more efficient.

◆ JacobianTransposed

typedef std::conditional<dim==coorddim, DiagonalMatrix<ctype,dim>, FieldMatrix<ctype,dim,coorddim> >::type Dune::AxisAlignedCubeGeometry< GridImp::ctype , dim, coorddim >::JacobianTransposed
inherited

Return type of jacobianTransposed.

This is a fast DiagonalMatrix if dim==coorddim, and a FieldMatrix otherwise. The FieldMatrix will never contain more than one entry per row, hence it could be replaced by something more efficient.


The documentation for this class was generated from the following files:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (Mar 27, 23:31, 2024)