DUNE-ACFEM (2.5.1)

Building Blocks

A couple of elementary grid functions which can be combined using GridFunctionExpressions. More...

Classes

struct  Dune::ACFem::X< N >
 Used as "tag" for coordinateGridFunction() and coordinateVectorFunction(). More...
 

Functions

template<class GridPart >
static auto Dune::ACFem::identityGridFunction (const GridPart &gridPart)
 A grid-function which returns the world coordinates of its argument. More...
 
template<class GridPart , unsigned N>
static auto Dune::ACFem::coordinateGridFunction (const GridPart &gridPart, const std::integral_constant< unsigned, N > &dummy)
 A grid-function which returns the N-th component of the world coordinates of its argument. More...
 
template<class GridPart , unsigned N>
static ConstantGridFunction< Fem::FunctionSpace< typename GridPart::ctype, typename GridPart::ctype, GridPart::dimensionworld, GridPart::dimensionworld >, GridPart > Dune::ACFem::coordinateVectorFunction (const GridPart &gridPart, const std::integral_constant< unsigned, N > &dummy)
 Construct a unit coordinate vector.
 
template<class GridFunction >
LocalFunctionWrapper< LocalDivergenceAdapter< GridFunction >, typename GridFunction::GridPartType > Dune::ACFem::divergence (const Fem::Function< typename GridFunction::FunctionSpaceType, GridFunction > &f_, const std::string &name="")
 Take the divergence of a given function.
 
template<class GridFunction >
LocalFunctionWrapper< LocalGradientAdapter< GridFunction >, typename GridFunction::GridPartType > Dune::ACFem::gradient (const Fem::Function< typename GridFunction::FunctionSpaceType, GridFunction > &f_, const std::string &name="")
 Take the gradient of a given function.
 
template<class CharacteristicFunction , class GridFunction0 , class GridFunction1 >
LocalFunctionWrapper< LocalPiecewiseAdapter< CharacteristicFunction, GridFunction0, GridFunction1 >, typename GridFunction0::GridPartType > Dune::ACFem::piecewise (const Fem::Function< typename CharacteristicFunction::FunctionSpaceType, CharacteristicFunction > &characteristic, const Fem::Function< typename GridFunction0::FunctionSpaceType, GridFunction0 > &function0, const Fem::Function< typename GridFunction1::FunctionSpaceType, GridFunction1 > &function1, const std::string &name="")
 Form a piecewise defined function where the domain decomposition is defined by the indicator function of one of the sub-domains. More...
 
template<class CharacteristicFunction , class GridFunction1 >
LocalFunctionWrapper< LocalPiecewiseAdapter< CharacteristicFunction, ConstantGridFunction< typename GridFunction1::FunctionSpaceType, typename GridFunction1::GridPartType >, GridFunction1 >, typename GridFunction1::GridPartType > Dune::ACFem::piecewise (const Fem::Function< typename CharacteristicFunction::FunctionSpaceType, CharacteristicFunction > &characteristic, const typename GridFunction1::FunctionSpaceType::RangeType value0, const Fem::Function< typename GridFunction1::FunctionSpaceType, GridFunction1 > &function1, const std::string &name="")
 specialization for GridFunction0 of RangeType
 
template<class CharacteristicFunction , class GridFunction0 >
LocalFunctionWrapper< LocalPiecewiseAdapter< CharacteristicFunction, GridFunction0, ConstantGridFunction< typename GridFunction0::FunctionSpaceType, typename GridFunction0::GridPartType > >, typename GridFunction0::GridPartType > Dune::ACFem::piecewise (const Fem::Function< typename CharacteristicFunction::FunctionSpaceType, CharacteristicFunction > &characteristic, const Fem::Function< typename GridFunction0::FunctionSpaceType, GridFunction0 > &function0, const typename GridFunction0::FunctionSpaceType::RangeType value1, const std::string &name="")
 specialization for GridFunction1 of RangeType
 
template<class CharacteristicFunction , class FunctionSpaceType >
LocalFunctionWrapper< LocalPiecewiseAdapter< CharacteristicFunction, ConstantGridFunction< FunctionSpaceType, typename CharacteristicFunction::GridPartType >, ConstantGridFunction< FunctionSpaceType, typename CharacteristicFunction::GridPartType > >, typename CharacteristicFunction::GridPartType > Dune::ACFem::piecewise (const Fem::Function< typename CharacteristicFunction::FunctionSpaceType, CharacteristicFunction > &characteristic, const typename FunctionSpaceType::RangeType value0, const typename FunctionSpaceType::RangeType value1, const std::string &name="")
 specialization for GridFunction0 and GridFunction1 of RangeType
 
template<class GridFunction , class Indicator = EntireBoundaryIndicatorType>
BoundarySupportedFunction< GridFunction, Indicator > Dune::ACFem::boundarySupportedFunction (const Fem::Function< typename GridFunction::FunctionSpaceType, GridFunction > &f, const BoundaryIndicatorInterface< Indicator > &c=EntireBoundaryIndicatorType())
 Generate a function with partial support on the boundary.
 
template<class GridFunction , class Indicator >
BoundarySupportedFunction< GridFunction, Indicator > Dune::ACFem::boundarySupportedFunction (const BoundarySupportedFunction< GridFunction, Indicator > &f, const EntireBoundaryIndicatorType &=EntireBoundaryIndicatorType())
 Avoid re-wrapping.
 
template<class OperatorParts , class Solution >
LocalFunctionWrapper< LocalRightHandSideAdapter< OperatorParts, Solution >, typename Solution::GridPartType > Dune::ACFem::rightHandSide (const OperatorPartsInterface< OperatorParts > &operatorParts, const Fem::Function< typename Solution::FunctionSpaceType, Solution > &solution_, const std::string &name="")
 Take any PDE operatorparts and an "exact solutio" and generate a right-hand-side force-density such that the PDE-operatorparts should reproduce the given "solution" – provided that the boundary conditions match also ...
 

Detailed Description

A couple of elementary grid functions which can be combined using GridFunctionExpressions.

Convenience funtions to aid in the construction of elementary function "atoms".

Function Documentation

◆ coordinateGridFunction()

template<class GridPart , unsigned N>
static auto Dune::ACFem::coordinateGridFunction ( const GridPart &  gridPart,
const std::integral_constant< unsigned, N > &  dummy 
)
inlinestatic

A grid-function which returns the N-th component of the world coordinates of its argument.

See als IdentityGridFunction.

References Dune::ACFem::wrapToGridFunction().

Referenced by main().

◆ identityGridFunction()

template<class GridPart >
static auto Dune::ACFem::identityGridFunction ( const GridPart &  gridPart)
inlinestatic

A grid-function which returns the world coordinates of its argument.

This can be used to conveniently define more complicated data-functions for bulk forces and the like, e.g.

IdentityGridFunction<GridPartType> X(gridPart);
CoordinateGridFunction<GridPartType, 0> X0(gridPart);
auto f = exp(10.0 * X * X) + sin(3.0 * X0 - 5.)

The resulting function object is in so far efficient as the GridFunctionExpression templates take care of the computation of the global coordinates; X will only be computed a single time.

References Dune::ACFem::wrapToGridFunction().

Referenced by main().

◆ piecewise()

template<class CharacteristicFunction , class GridFunction0 , class GridFunction1 >
LocalFunctionWrapper<LocalPiecewiseAdapter<CharacteristicFunction, GridFunction0, GridFunction1>, typename GridFunction0::GridPartType> Dune::ACFem::piecewise ( const Fem::Function< typename CharacteristicFunction::FunctionSpaceType, CharacteristicFunction > &  characteristic,
const Fem::Function< typename GridFunction0::FunctionSpaceType, GridFunction0 > &  function0,
const Fem::Function< typename GridFunction1::FunctionSpaceType, GridFunction1 > &  function1,
const std::string &  name = "" 
)

Form a piecewise defined function where the domain decomposition is defined by the indicator function of one of the sub-domains.

Parameters
[in]characteristicThe indicitor function of the sub-domain where function1 defines the function values. characteristic may either be an analytic function or a grid-function.
[in]function0A grid-function defining the values of the compound-function where characteristic evaluates to less or equal than 0.5.
[in]function1A grid function defining the values of the compound-function where characteristic evaluates to greater than 0.5.
Returns
A LocalFunctionWrapper for the piecewise defined function.

References Dune::ACFem::max().

Referenced by main().

Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (Apr 25, 22:37, 2024)