KASKADE 7 development version
Public Member Functions | List of all members
ParabolicEquation::DomainCache Struct Reference

This evaluation cache concept defines the interface that is accessed by the assembler. More...

#include <variationalfunctional.hh>

Detailed Description

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.

Inheritance diagram for ParabolicEquation::DomainCache:

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
 

Constructor & Destructor Documentation

◆ DomainCache()

ParabolicEquation::DomainCache::DomainCache ( Functional const &  f,
typename OriginVars::VariableSet const &  u,
int  flags 
)
inline

Constructs an evaluation cache from the associated functional f_, a point of linearization u_, and flags from the assembler (see VariationalFunctionalAssembler)

Parameters
[in]uevaluation point (used for b1, b2, and d1)
[in]flagsA 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.

Member Function Documentation

◆ b2()

template<int row, int col, int dim>
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

  • argA, and the test function \( v_T \) given by
  • argT.

This method need only be defined for values of row/col for which B2<row,col>::present is true.

◆ d1()

template<int row, int dim>
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.

◆ d2()

template<int row, int col, int dim>
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

  • argA, and multiplied by the test function given by
  • argT.

This method need only be defined for values of row/col for which D2<row,col>::present is true.

◆ evaluateAt()

template<class Position , class Evaluators >
void ParabolicEquation::DomainCache::evaluateAt ( Position const &  x,
Evaluators const &  evaluators 
)
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().

◆ moveTo()

void ParabolicEquation::DomainCache::moveTo ( Cell const &  )
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().


The documentation for this struct was generated from the following file: