KASKADE 7 development version
Classes | Namespaces | Typedefs | Functions | Variables
functional_aux.hh File Reference

Utility classes for the definition and use of variational functionals. More...

#include <type_traits>
#include <utility>
#include <dune/common/fvector.hh>
#include <dune/common/fmatrix.hh>
#include "fem/functionspace.hh"

Go to the source code of this file.

Classes

class  Kaskade::FunctionalBase< Type >
 Convenience base class for the easy definition of variational functionals and weak formulations. More...
 
struct  Kaskade::FunctionalBase< Type >::D1< row >
 Static a priori default information about the right hand side blocks. More...
 
struct  Kaskade::FunctionalBase< Type >::D2< row, col >
 Static a priori default information about the matrix blocks. More...
 
struct  Kaskade::FunctionalBase< Type >::B2< row, col >
 
struct  Kaskade::Functional_Aux_Detail::checkSymmetry< Functional, n >
 
struct  Kaskade::Functional_Aux_Detail::checkSymmetry< Functional,-1 >
 
class  Kaskade::TrivialCacheBase< AnsatzVars, TestVars >
 Base class simplifying the definition of domain and boundary caches. More...
 
class  Kaskade::CacheBase< Functional, Cache, ScalarT >
 Provides implementations of d1 and d2 for (possibly mixed) use of scalar and power spaces. More...
 
class  Kaskade::LinearizationAt< Functional_ >
 Proxy class for the linearization of a nonlinear functional. More...
 
struct  Kaskade::LinearizationAt< Functional_ >::D1< row >
 Rhs block information. More...
 
struct  Kaskade::LinearizationAt< Functional_ >::D2< row, col >
 matrix block information More...
 
class  Kaskade::LinearizationDifferenceAt< Functional_ >
 Proxy class for evaluating differences of linearizations of a nonlinear functional. More...
 
class  Kaskade::LinearizationDifferenceAt< Functional_ >::DomainCache
 
class  Kaskade::LinearizationDifferenceAt< Functional_ >::BoundaryCache
 
struct  Kaskade::LinearizationDifferenceAt< Functional_ >::D1< row >
 Rhs block information. More...
 
struct  Kaskade::LinearizationDifferenceAt< Functional_ >::D2< row, col >
 matrix block information More...
 
class  Kaskade::SemiLinearizationAt< Functional >
 Proxy class for the linearization of semi-linear time stepping schemes. More...
 
class  Kaskade::SemiLinearizationAtInner< Functional >
 

Namespaces

namespace  Kaskade
 
 
namespace  Kaskade::Functional_Aux_Detail
 

Typedefs

template<class TestVars , int row>
using Kaskade::D1Result = Dune::FieldVector< typename TestVars::Scalar, TestVars::template Components< row >::m >
 The return type of the d1() method of DomainCache and BoundaryCache. More...
 
template<class TestVars , int row, class AnsatzVars , int col>
using Kaskade::D2Result = Dune::FieldMatrix< typename TestVars::Scalar, TestVars::template Components< row >::m, AnsatzVars::template Components< col >::m >
 The return type of the d1() method of DomainCache and BoundaryCache. More...
 

Functions

template<class Functional >
LinearizationDifferenceAt< Functional > Kaskade::linearizationDifference (Functional const &f, typename Functional::OriginVars::VariableSet const &u1, typename Functional::OriginVars::VariableSet const &u2)
 Convenience routine: construct linearization without having to know the type of the functional. More...
 

Variables

template<class Functional , int n>
constexpr bool Kaskade::symmetryCheck = Functional_Aux_Detail::checkSymmetry<Functional,n>::pass
 
template<class Functional >
constexpr bool Kaskade::hasInnerBoundaryCache
 Checks whether InnerBoundaryCache is declared in Functional. More...
 

Detailed Description

Utility classes for the definition and use of variational functionals.

Author
Anton Schiela, Lars Lubkoll

Definition in file functional_aux.hh.