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

Variables and their descriptions. More...

#include <algorithm>
#include <array>
#include <cassert>
#include <iostream>
#include <boost/fusion/algorithm.hpp>
#include <boost/fusion/include/fold.hpp>
#include <boost/fusion/include/make_vector.hpp>
#include <boost/fusion/include/size.hpp>
#include <boost/fusion/sequence.hpp>
#include <boost/mpl/int.hpp>
#include <boost/type_traits/remove_reference.hpp>
#include <boost/type_traits/remove_const.hpp>
#include "fem/fixdune.hh"
#include "fem/functionspace.hh"
#include "fem/linearspace.hh"
#include "io/iobase.hh"
#include "linalg/crsutil.hh"

Go to the source code of this file.

Classes

struct  Kaskade::VariableDescription< spaceId, components, Id >
 A class storing elementary information about a single variable.This includes the number of components, the id and name of the variable, and the index of the associated FEFunctionSpace from which the variable comes. More...
 
struct  Kaskade::SpaceIndex< spaceIndex >
 Helper class for specifying the FE space index of a variable. More...
 
struct  Kaskade::Components< components >
 Helper class for specifying the number of components of a variable. More...
 
struct  Kaskade::VariableId< id >
 DEPRECATED. More...
 
struct  Kaskade::Variable< A, B, C >
 A class defining elementary information about a single variable. More...
 
struct  Kaskade::ConstructElement< Spaces >
 A boost::fusion functor for generating function space elements for given variables. More...
 
struct  Kaskade::ConstructElement< Spaces >::result< Arg >
 For a given variable, defines the correct FunctionSpaceElement type. More...
 
struct  Kaskade::ConstructElement< Spaces >::result< ConstructElement< Spaces >(Variable)>
 
struct  Kaskade::ConstructCoefficientVector< Spaces >
 A boost::fusion functor for generating coefficient vectors for given variables. More...
 
struct  Kaskade::ConstructCoefficientVector< Spaces >::result< Arg >
 
struct  Kaskade::ConstructCoefficientVector< Spaces >::result< ConstructCoefficientVector< Spaces >(Variable)>
 
class  Kaskade::VariableSet< VSDescriptions >
 A class for storing a heterogeneous collection of FunctionSpaceElement s. More...
 
class  Kaskade::VariableSetDescription< SpaceList, VariableList >
 A class that stores information about a set of variables. More...
 
struct  Kaskade::VariableSetDescription< SpaceList, VariableList >::Components< idx >
 DEPRECATED, use components instead. More...
 
struct  Kaskade::VariableSetDescription< SpaceList, VariableList >::SpaceIndex< idx >
 DEPRECATED, use spaceIndex instead. More...
 
class  Kaskade::VariableSetDescription< SpaceList, VariableList >::CoefficientVectorRepresentation< first, last >
 Typedefs for coefficient vector representations of contiguous subranges of the variables. More...
 

Namespaces

namespace  Kaskade
 
 

Typedefs

template<class VariableSet , class Method >
using EvaluateVariables = decltype(evaluateVariables(std::declval< VariableSet >(), std::declval< typename VariableSet::Descriptions::Evaluators >(), std::declval< Method >()))
 The type of evaluated variables as returned by evaluateVariables. More...
 
using Kaskade::ValueMethod = decltype(valueMethod)
 The type of the valueMethod helper functor. More...
 
using Kaskade::DerivativeMethod = decltype(derivativeMethod)
 The type of the derivativeMethod helper functor. More...
 

Functions

template<class Variables , class Functions , class Evaluators , class Method >
auto Kaskade::evaluateFunctions (Functions const &fs, Evaluators const &eval, Method const &method=Method())
 A function evaulating all functions in a variable set using the provided method. More...
 
template<class VariableSet , class Method >
auto Kaskade::evaluateVariables (VariableSet const &vars, typename VariableSet::Descriptions::Evaluators const &eval, Method const &method=Method())
 A function evaulating all functions in a variable set using the provided method. More...
 

Variables

constexpr auto valueMethod = [](auto const& f, auto const& eval) { return f.value(eval); }
 Helper method for evaluating whole variable sets. More...
 
constexpr auto derivativeMethod = [](auto const& f, auto const& eval) { return f.derivative(eval); }
 Helper method for evaluating whole variable sets. More...
 

Detailed Description

Variables and their descriptions.

Author
Martin Weiser

This file contains a number of core classes of Kaskade, needed to define a problem. The important ones are:

The other classes are auxilliary

Definition in file variables.hh.