DUNE-ACFEM (unstable)

Dune::ACFem::GridFunction::LocalFunctionPlaceholder< LocalFunction, IndeterminateId > Class Template Reference

A placeholder tensor which wraps a Dune::Fem LocalFunction. More...

#include <dune/acfem/functions/placeholders/localfunctionplaceholder.hh>

Public Member Functions

template<class Point , std::enable_if_t<(IsQuadraturePoint< Point >::value||IsFieldVector< Point >::value), int > = 0>
void setValue (const Point &point)
 Trigger the update of the stored values by evaluating the wrapped localfunction. More...
 
void bind (const EntityType &entity)
 Bind the wrapped LocalFunction to the given entity. More...
 
void unbind ()
 Unbind the wrapped LocalFunction from any Entity it is bound to.
 
LocalFunction localFunction () &&
 Return the wrapped LocalFunction while maintaining its reference and const qualification.
 
auto & localFunction () &
 Return the wrapped LocalFunction as a mutable reference.
 
const auto & localFunction () const &
 Return the wrapped LocalFunction as a const reference.
 
const auto & gridFunction () const
 Return the wrapped grid-function.
 
const auto & gridPart () const
 Return the gridPart of the wrapped function.
 

Static Public Member Functions

static constexpr auto indeterminateId ()
 Return the id of the indeterminate the placeholder is assumed to depend on.
 

Detailed Description

template<class LocalFunction, std::size_t IndeterminateId = Policy::indeterminateId()>
class Dune::ACFem::GridFunction::LocalFunctionPlaceholder< LocalFunction, IndeterminateId >

A placeholder tensor which wraps a Dune::Fem LocalFunction.

Parameters
LocalFunctionThe local function which provides the values.
IndeterminateIdThe id of the indeterminate tensor the placeholder is assumed to depend on. The derivative method is overloaded such that the derivative w.r.t. to IndeterminateId will generate the placeholder tensor which takes its values from the jacobian() method of the wrapped LocalFunction.

Member Function Documentation

◆ bind()

template<class LocalFunction , std::size_t IndeterminateId = Policy::indeterminateId()>
void Dune::ACFem::GridFunction::LocalFunctionPlaceholder< LocalFunction, IndeterminateId >::bind ( const EntityType &  entity)
inline

Bind the wrapped LocalFunction to the given entity.

Parameters
entityThe entity to bind to.

◆ setValue()

template<class LocalFunction , std::size_t IndeterminateId = Policy::indeterminateId()>
template<class Point , std::enable_if_t<(IsQuadraturePoint< Point >::value||IsFieldVector< Point >::value), int > = 0>
void Dune::ACFem::GridFunction::LocalFunctionPlaceholder< LocalFunction, IndeterminateId >::setValue ( const Point &  point)
inline

Trigger the update of the stored values by evaluating the wrapped localfunction.

Calling setValue() without binding the wrapped LocalFunction to an entity by calling the bind() method may cause runtime errors.

Parameters
[in]Point

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 (Jul 15, 22:36, 2024)