KASKADE 7 development version
Classes | Namespaces | Typedefs | Enumerations | Functions
functionspace.hh File Reference

FEFunctionSpace and FunctionSpaceElement and the like. More...

#include <cassert>
#include <map>
#include <sstream>
#include <boost/mpl/int.hpp>
#include <boost/mpl/range_c.hpp>
#include <boost/multi_array.hpp>
#include <boost/signals2.hpp>
#include <boost/type_traits/remove_pointer.hpp>
#include <boost/type_traits/remove_reference.hpp>
#include <boost/fusion/algorithm.hpp>
#include <boost/fusion/sequence.hpp>
#include "dune/common/config.h"
#include "dune/common/fmatrixev.hh"
#include "dune/geometry/quadraturerules.hh"
#include "dune/istl/bvector.hh"
#include "fem/gridmanager.hh"
#include "fem/pshapefunctions.hh"
#include "fem/shapefunctioncache.hh"
#include "linalg/crsutil.hh"
#include "utilities/detailed_exception.hh"

Go to the source code of this file.

Classes

struct  Kaskade::SpaceType< Spaces, Idx >
 Extracts the type of FE space with given index from set of spaces. More...
 
class  Kaskade::FunctionSpaceElement< FunctionSpace, m >
 A class for representing finite element functions. More...
 
class  Kaskade::FunctionSpace_Detail::ToDomainRepresentation< FEFunction >
 
class  Kaskade::FunctionSpace_Detail::ToDomainRepresentation< FunctionSpaceElement< FEFunctionSpace< BoundaryMapper< DomainMapper, Scalar, GridView > >, m > >
 
class  Kaskade::FEFunctionSpace< LocalToGlobalMapper >
 A representation of a finite element function space defined over a domain covered by a grid.
More...
 
struct  Kaskade::FEFunctionSpace< LocalToGlobalMapper >::Element< m >
 DEPRECATED use Element_t<m> instead. More...
 
struct  Kaskade::FEFunctionSpace< LocalToGlobalMapper >::Evaluator
 A helper class that stores all informations necessary to evaluate FE functions at a certain point. More...
 
class  Kaskade::GetEvaluators< Cache >
 A boost::fusion functor for creating an evaluator from the space, using a shape function cache that is given on construction of the functor. More...
 
class  Kaskade::GetEvaluatorTypes
 A boost::fusion functor for extracting the evaluator type from a pointer to a FE space. This is more or less redundant to GetEvaluators, but no shape function cache type needs to be provided. More...
 
class  Kaskade::GetVarArgs< Evaluators >
 A boost::fusion functor for creating a variational arg from the space, using a shape function cache that is given on construction of the functor. More...
 
struct  Kaskade::GetVarArgs< Evaluators >::result< T >
 
struct  Kaskade::GetVarArgs< Evaluators >::result< GetVarArgs(VD)>
 

Namespaces

namespace  Kaskade
 
 
namespace  Kaskade::FunctionSpace_Detail
 

Typedefs

template<class Spaces >
using Kaskade::Evaluators = typename boost::fusion::result_of::as_vector< typename boost::fusion::result_of::transform< Spaces, GetEvaluatorTypes >::type >::type
 the heterogeneous sequence type of Evaluators for the given spaces More...
 

Enumerations

enum  Kaskade::ProblemType { Kaskade::VariationalFunctional , Kaskade::WeakFormulation }
 A type for describing the nature of a PDE problem. More...
 

Functions

template<class Cell , class ctype >
std::pair< Cell, Dune::FieldVector< ctype, Cell::dimension > > Kaskade::findCellOnLevel (Cell cell, Dune::FieldVector< ctype, Cell::dimension > xi, int level=std::numeric_limits< int >::max())
 Returns a descendant or ancestor cell of the given cell containing the specified local coordinate. More...
 
template<class GridView >
Cell< GridView > Kaskade::findCell (GridView const &gv, GlobalPosition< GridView > global)
 Returns a cell of the given grid containing the specified global coordinate. More...
 
template<class Space , int m, class InIter >
InIter Kaskade::vectorFromSequence (FunctionSpaceElement< Space, m > &v, InIter in)
 
template<class Evaluators , class Cell >
void Kaskade::moveEvaluatorsToCell (Evaluators &evals, Cell const &cell)
 Moves all provided evaluators to the given cell. More...
 
template<class Evaluators , class Cell , class Index >
void Kaskade::moveEvaluatorsToCell (Evaluators &evals, Cell const &cell, Index idx)
 Moves all provided evaluators to the given cell with provided index. More...
 
template<class Evaluator , class QuadratureRule >
void Kaskade::useQuadratureRuleInEvaluators (Evaluator &evals, QuadratureRule const &qr, int subId)
 Tells all evaluators to use the given quadrature rule on the given subentity. More...
 
template<class Evaluators , class CoordType , int dim, int subDim>
void Kaskade::moveEvaluatorsToIntegrationPoint (Evaluators &evals, Dune::FieldVector< CoordType, dim > const &x, Dune::QuadratureRule< CoordType, subDim > const &qr, int ip, int subId)
 Moves all provided evaluators to the given integration point, evaluating the shape functions there. More...
 
template<class Evaluators , class CoordType , int dim>
void Kaskade::moveEvaluatorsToIntegrationPoint (Evaluators &evals, Dune::FieldVector< CoordType, dim > const &x)
 Moves all provided evaluators to the given integration point, evaluating the shape functions there. More...
 
template<class Evaluators >
int Kaskade::maxOrder (Evaluators const &evals)
 Computes the maximum ansatz order used in a collection of evaluators. More...
 

Detailed Description

FEFunctionSpace and FunctionSpaceElement and the like.

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 functionspace.hh.