Provides implementations of d1 and d2 for (possibly mixed) use of scalar and power spaces.
More...
template<class Functional, class Cache, class ScalarT = typename Functional::Scalar>
class Kaskade::CacheBase< Functional, Cache, ScalarT >
Provides implementations of d1 and d2 for (possibly mixed) use of scalar and power spaces.
Implemented using CRTP. Just derive publicly from this functional if you want to use it. Uses VariationalArg as perturbation.
- Todo:
- docme better
- Template Parameters
-
Functional | actual functional (only transports static information) |
Cache | Functional::DomainCache or Functional::BoundaryCache, must implement Scalar d1_impl(...); and Scalar d2_impl(...); |
Definition at line 327 of file functional_aux.hh.
|
template<int row, int dimw> |
Scalar | d1_local (VariationalArg< Scalar, dimw, TestComponents< row >::value > const &arg) const |
| forward to implementation via CRTP More...
|
|
template<int row, int dimw> |
Dune::FieldVector< Scalar, 1 > | d1 (VariationalArg< Scalar, dimw, TestComponents< row >::value > const &arg) const |
|
template<int row, int dimw, class enable = typename std::enable_if_t<Functional_Aux_Detail::LessThan<1,TestComponents<row>::value>::value>> |
Vector< row > | d1 (VariationalArg< Scalar, dimw > const &scalarArg) const |
| scalar argument for multi-component variables More...
|
|
template<int row, int col, int dim> |
Scalar | d2_local (VariationalArg< Scalar, dim, TestComponents< row >::value > const &arg1, VariationalArg< Scalar, dim, AnsatzComponents< col >::value > const &arg2) const |
| forward to implementation via CRTP More...
|
|
template<int row, int col, int dim, class enable1 = typename std::enable_if_t<Functional_Aux_Detail::LessThan<1,TestComponents<row>::value>::value>, class enable2 = typename std::enable_if_t<Functional_Aux_Detail::LessThan<1,AnsatzComponents<row>::value>::value>> |
Dune::FieldMatrix< Scalar, 1, 1 > | d2 (VariationalArg< Scalar, dim, TestComponents< row >::value > const &arg1, VariationalArg< Scalar, dim, AnsatzComponents< col >::value > const &arg2) const |
|
template<int row, int col, int dim, int m2, class enable1 = typename std::enable_if<Functional_Aux_Detail::LessThan<1,TestComponents<row>::value>::value>::type, class enable2 = typename std::enable_if<Functional_Aux_Detail::Equals<m2,AnsatzComponents<col>::value>::value>::type, class enable3 = typename std::enable_if<Functional_Aux_Detail::LessThan<1,AnsatzComponents<col>::value>::value>::type> |
Vector< row > | d2 (VariationalArg< Scalar, dim > const &scalarArg, VariationalArg< Scalar, dim, m2 > const &arg2) const |
| scalar argument for multi-component variables More...
|
|
template<int row, int col, int dim, int m1, class enable1 = typename std::enable_if<Functional_Aux_Detail::Equals<m1,TestComponents<row>::value>::value>::type, class enable2 = typename std::enable_if<Functional_Aux_Detail::LessThan<1,TestComponents<row>::value>::value>::type, class enable3 = typename std::enable_if<Functional_Aux_Detail::LessThan<1,AnsatzComponents<col>::value>::value>::type> |
Vector< row > | d2 (VariationalArg< Scalar, dim, m1 > const &arg1, VariationalArg< Scalar, dim > const &scalarArg) const |
| scalar argument for multi-component variables More...
|
|
template<int row, int col, int dim> |
Matrix< row, col > | d2 (VariationalArg< Scalar, dim > const &scalarArg1, VariationalArg< Scalar, dim > const &scalarArg2) const |
| scalar argument for multi-component variables More...
|
|
template<int row, int col, int dim> |
Scalar | b2_local (VariationalArg< Scalar, dim, TestComponents< row >::value > const &arg1, VariationalArg< Scalar, dim, AnsatzComponents< col >::value > const &arg2) const |
| forward to implementation via CRTP More...
|
|
template<int row, int col, int dim, class enable1 = typename std::enable_if<Functional_Aux_Detail::LessThan<1,TestComponents<row>::value>::value>::type, class enable2 = typename std::enable_if<Functional_Aux_Detail::LessThan<1,AnsatzComponents<row>::value>::value>::type> |
Dune::FieldMatrix< Scalar, 1, 1 > | b2 (VariationalArg< Scalar, dim, TestComponents< row >::value > const &arg1, VariationalArg< Scalar, dim, AnsatzComponents< col >::value > const &arg2) const |
|
template<int row, int col, int dim, int m2, class enable1 = typename std::enable_if<Functional_Aux_Detail::LessThan<1,TestComponents<row>::value>::value>::type, class enable2 = typename std::enable_if<Functional_Aux_Detail::Equals<m2,AnsatzComponents<col>::value>::value>::type, class enable3 = typename std::enable_if<Functional_Aux_Detail::LessThan<1,AnsatzComponents<col>::value>::value>::type> |
Vector< row > | b2 (VariationalArg< Scalar, dim > const &scalarArg, VariationalArg< Scalar, dim, m2 > const &arg2) const |
| scalar argument for multi-component variables More...
|
|
template<int row, int col, int dim, int m1, class enable1 = typename std::enable_if<Functional_Aux_Detail::Equals<m1,TestComponents<row>::value>::value>::type, class enable2 = typename std::enable_if<Functional_Aux_Detail::LessThan<1,TestComponents<row>::value>::value>::type, class enable3 = typename std::enable_if<Functional_Aux_Detail::LessThan<1,AnsatzComponents<col>::value>::value>::type> |
Vector< row > | b2 (VariationalArg< Scalar, dim, m1 > const &arg1, VariationalArg< Scalar, dim > const &scalarArg) const |
| scalar argument for multi-component variables More...
|
|
template<int row, int col, int dim> |
Matrix< row, col > | b2 (VariationalArg< Scalar, dim > const &scalarArg1, VariationalArg< Scalar, dim > const &scalarArg2) const |
| scalar argument for multi-component variables More...
|
|
void | moveTo (Entity const &) |
|
void | evaluateAt (Position const &, Evaluators const &) |
|
Scalar | d0 () |
|
Dune::FieldVector< Scalar, TestVars::template components< row > > | d1 (VariationalArg< Scalar, dim > const &arg) const |
|
Dune::FieldMatrix< Scalar, TestVars::template components< row >, AnsatzVars::template components< row > > | d2 (VariationalArg< Scalar, dim > const &, VariationalArg< Scalar, dim > const &) const |
|