DUNE-ACFEM (2.5.1)

Dune::ACFem::DiracDistribution< DiscreteFunctionSpace > Class Template Reference

Dirac-distribution. More...

#include <dune/acfem/operators/functionals/diracfunctional.hh>

+ Collaboration diagram for Dune::ACFem::DiracDistribution< DiscreteFunctionSpace >:

Public Member Functions

 DiracDistribution (const DiscreteFunctionSpaceType &space, const GlobalCoordinateType &x0, unsigned component=0)
 Constructor. More...
 
RangeType operator() (const Fem::DiscreteFunctionInterface< DFTraits > &arg) const
 
template<class DFImpl >
RangeType operator() (const Fem::DiscreteFunctionInterface< DFImpl > &arg) const
 Compute the value.
 
void coefficients (Fem::DiscreteFunctionInterface< DFTraits > &coeffs)
 Compute the basis representation, which means: do the assembling stuff.
 
template<class DFImpl >
void coefficients (Fem::DiscreteFunctionInterface< DFImpl > &coeffs)
 Compute the basis representation, which means: do the assembling stuff.
 
Access to data members
GlobalCoordinateType & x0 ()
 
const GlobalCoordinateType & x0 () const
 
unsigned & component ()
 
const unsigned & component () const
 

Detailed Description

template<class DiscreteFunctionSpace>
class Dune::ACFem::DiracDistribution< DiscreteFunctionSpace >

Dirac-distribution.

Note that this is not a functional in H1, unless you live in a one-dimensional world (where functional means as usual: linear and continuous). For continuous spaces this implementation makes use of the Fem::EnitySearch to find an element were the support (the global coordinate) of the Dirac-distribution is located in. For discontinuous spaces this is not enough if the point resides in special position, therefor simply every element is checked. This means this is rather inefficient for discontinuous FEM spaces.

Parameters
[in]DiscreteFunctionSpaceThe discrete function model the distribution acts aon.
Note
The current implementation produces a class which is quite costly to copy. Consequently, don't try to inject a temporary instance of this class into expression templates.

Constructor & Destructor Documentation

◆ DiracDistribution()

template<class DiscreteFunctionSpace >
Dune::ACFem::DiracDistribution< DiscreteFunctionSpace >::DiracDistribution ( const DiscreteFunctionSpaceType &  space,
const GlobalCoordinateType &  x0,
unsigned  component = 0 
)
inline

Constructor.

Construct a Dirac distribution for the given discrete space and given point.

Parameters
[in]spaceDiscrete function space we operate on.
[in]x0"Support" of the Dirac measure
[in]componentFor vector valued problems gives the component to generate. To fit into the DiscreteLinearFunctional frame-work this Dirac distribution has to evaluate to a scalar property.

Member Function Documentation

◆ operator()()

RangeType Dune::ACFem::DiscreteLinearFunctionalDefault< DiscreteFunctionSpace, DiracDistributionTraits< DiscreteFunctionSpace > >::operator() ( const Fem::DiscreteFunctionInterface< DFTraits > &  arg) const
inlineinherited


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.80.0 (May 1, 22:29, 2024)