DUNE PDELab (2.8)

Dune::PDELab::DiscreteGridFunction< T, X > Class Template Reference

convert a grid function space and a coefficient vector into a grid function More...

#include <dune/pdelab/gridfunctionspace/gridfunctionspaceutilities.hh>

Public Types

typedef T::GridViewType GridViewType
 Type of the GridView.
 
typedef LeafNodeTag NodeTag
 The type tag that describes a LeafNode.
 

Public Member Functions

 DiscreteGridFunction (const GFS &gfs, const X &x_)
 Construct a DiscreteGridFunction. More...
 
 DiscreteGridFunction (std::shared_ptr< const GFS > gfs, std::shared_ptr< const X > x_)
 Construct a DiscreteGridFunction. More...
 
const Traits::GridViewType & getGridView () const
 get a reference to the GridView
 
void evaluate (const typename Traits::ElementType &e, const typename Traits::DomainType &x, typename Traits::RangeType &y) const
 Evaluate the GridFunction at given position. More...
 
Output::DataSetType dataSetType () const
 Return the data set type of this function.
 
void setDataSetType (Output::DataSetType dataSetType)
 Set the data set type of this function.
 

Static Public Attributes

static const bool isLeaf = true
 Mark this class as a leaf in a dune-typetree.
 
static const bool isPower = false
 Mark this class as a non power in the dune-typetree.
 
static const bool isComposite = false
 Mark this class as a non composite in the dune-typetree.
 
static const std::size_t CHILDREN = 0
 Leafs have no children.
 

Detailed Description

template<typename T, typename X>
class Dune::PDELab::DiscreteGridFunction< T, X >

convert a grid function space and a coefficient vector into a grid function

If a GridFunctionSpace with local-valued finite elements is used, this class can only be used for scalar functions, since for vector-valued local finite elements the values must be transformed, and the transformation depends on the type of element. For H(div) elements (Raviart-Thomas) look at DiscreteGridFunctionPiola.

If a GridFunctionSpace with finite elements using the new global-valued interface is used, this class can be used as-is even for vector-valued functions.

If you have a GridFunctionSpace tree of 1-component grid-function spaces, and want to collectively treat them as a vector-valued grid-function, look at VectorDiscreteGridFunction.

Template Parameters
TType of GridFunctionSpace
XType of coefficients vector
Examples
recipe-communication.cc, and recipe-operator-splitting.cc.

Constructor & Destructor Documentation

◆ DiscreteGridFunction() [1/2]

template<typename T , typename X >
Dune::PDELab::DiscreteGridFunction< T, X >::DiscreteGridFunction ( const GFS &  gfs,
const X &  x_ 
)
inline

Construct a DiscreteGridFunction.

Parameters
gfsThe GridFunctionsSpace
x_The coefficients vector

◆ DiscreteGridFunction() [2/2]

template<typename T , typename X >
Dune::PDELab::DiscreteGridFunction< T, X >::DiscreteGridFunction ( std::shared_ptr< const GFS >  gfs,
std::shared_ptr< const X >  x_ 
)
inline

Construct a DiscreteGridFunction.

Parameters
gfsshared pointer to the GridFunctionsSpace
x_shared pointer to the coefficients vector

Member Function Documentation

◆ evaluate()

void Dune::PDELab::GridFunctionInterface< GridFunctionTraits< T::Traits::GridViewType, BasisInterfaceSwitch< FiniteElementInterfaceSwitch< T::Traits::FiniteElementType >::Basis >::RangeField, BasisInterfaceSwitch< FiniteElementInterfaceSwitch< T::Traits::FiniteElementType >::Basis >::dimRange, BasisInterfaceSwitch< FiniteElementInterfaceSwitch< T::Traits::FiniteElementType >::Basis >::Range > , DiscreteGridFunction< T, X > >::evaluate ( const typename Traits::ElementType e,
const typename Traits::DomainType x,
typename Traits::RangeType y 
) const
inlineinherited

Evaluate the GridFunction at given position.

Evaluates components of the grid function at the given position and returns these values in a vector.

Parameters
[in]eThe entity to evaluate on
[in]xThe position in entity-local coordinates
[out]yThe result of the evaluation

The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Dec 21, 23:30, 2024)