KASKADE 7 development version
|
This evaluation cache concept defines the interface that is accessed by the assembler. More...
#include <variationalfunctional.hh>
This evaluation cache concept defines the interface that is accessed by the assembler.
This is not a base class, only a documentation!
Different objects have to be independent w.r.t. parallel execution.
Definition at line 850 of file variationalfunctional.hh.
Public Member Functions | |
DomainCache (Functional const &f, typename OriginVars::VariableSet const &u, int flags) | |
void | moveTo (Cell const &) |
template<class Position , class Evaluators > | |
void | evaluateAt (Position const &x, Evaluators const &evaluators) |
template<int row, int dim> | |
Dune::FieldVector< Scalar, Variables::template components< row > > | d1 (VariationalArg< Scalar, dim > const &arg) const |
template<int row, int col, int dim> | |
Dune::FieldMatrix< Scalar, Variables::template components< row >, Variables::template components< col > > | d2 (VariationalArg< Scalar, dim > const &argT, VariationalArg< Scalar, dim > const &argA) const |
template<int row, int col, int dim> | |
Dune::FieldMatrix< Scalar, Variables::template components< row >, Variables::template components< col > > | b2 (VariationalArg< Scalar, dim > const &argT, VariationalArg< Scalar, dim > const &argA) const |
|
inline |
Constructs an evaluation cache from the associated functional f_, a point of linearization u_, and flags from the assembler (see VariationalFunctionalAssembler)
[in] | u | evaluation point (used for b1, b2, and d1) |
[in] | flags | A bit field that tells the cache what parts are to be assembled. If flags & Assembler::RHS is false, d1() will never be called. If flags & Assembler::VALUE is false, d0() will never be called, and d2() will never be called if flags & Assembler::MATRIX is false. This information can be used to restrict the computation to the actually required quantities. |
Definition at line 865 of file variationalfunctional.hh.
Dune::FieldMatrix< Scalar, Variables::template components< row >, Variables::template components< col > > ParabolicEquation::DomainCache::b2 | ( | VariationalArg< Scalar, dim > const & | argT, |
VariationalArg< Scalar, dim > const & | argA | ||
) | const |
Returns the product \(v_T B_{\rm row,col} v_A\) with the ansatz function \( v_A\) given by
This method need only be defined for values of row/col for which B2<row,col>::present is true.
Dune::FieldVector< Scalar, Variables::template components< row > > ParabolicEquation::DomainCache::d1 | ( | VariationalArg< Scalar, dim > const & | arg | ) | const |
Returns the component \(f_{\mathrm{row}}\) multiplied by the test function given by arg.
Dune::FieldMatrix< Scalar, Variables::template components< row >, Variables::template components< col > > ParabolicEquation::DomainCache::d2 | ( | VariationalArg< Scalar, dim > const & | argT, |
VariationalArg< Scalar, dim > const & | argA | ||
) | const |
Returns the directional derivative of \(f_{\mathrm{row}}\) with respect to the variables \(u_{\mathrm{col}}\) in direction of the test functions given by
This method need only be defined for values of row/col for which D2<row,col>::present is true.
|
inline |
Construct all data that is constant at one point. Default implementation in EvalCacheBase: assert(false)
Definition at line 880 of file variationalfunctional.hh.
Referenced by Kaskade::SemiImplicitEulerStep< PE >::BoundaryCache::evaluateAt(), and Kaskade::SemiImplicitEulerStep< PE >::DomainCache::evaluateAt().
|
inline |
Construct all data that is constant on a cell. Default implementation in EvalCacheBase: does nothing
Definition at line 871 of file variationalfunctional.hh.
Referenced by Kaskade::SemiImplicitEulerStep< PE >::BoundaryCache::moveTo(), and Kaskade::SemiImplicitEulerStep< PE >::DomainCache::moveTo().