KASKADE 7 development version
Classes | Namespaces | Functions
newton_bridge.hh File Reference

Bridge classes that connect low level FE algorithms to higher level algorithms. More...

#include <typeinfo>
#include <iostream>
#include <fstream>
#include <memory>
#include <numeric>
#include <utility>
#include <sys/wait.h>
#include <sys/types.h>
#include <boost/signals2.hpp>
#include <boost/bind.hpp>
#include <boost/fusion/include/transform.hpp>
#include "abstract_interface.hh"
#include "algorithm_base.hh"
#include "algorithm/dune_bridge.hh"
#include "linalg/linearsystem.hh"
#include "linalg/direct.hh"
#include "linalg/umfpack_solve.hh"
#include "fem/hierarchicErrorEstimator.hh"
#include "fem/istlinterface.hh"
#include "fem/norms.hh"
#include "io/iobase.hh"
#include "algorithm/kaskadeBridge.hh"

Go to the source code of this file.

Classes

struct  Kaskade::Bridge::VectorTraits< VectorImpl >
 Traits class to unify the assignment of std::vector to a Vector. More...
 
struct  Kaskade::Bridge::VectorTraits< VariableSet< Descr > >
 Specialization for variable sets. More...
 
struct  Kaskade::Bridge::VectorTraits< VariableSet< Descr > >::ComponentWiseScalarMult
 
class  Kaskade::Bridge::Vector< Implementation >
 Mathematical Vector that supports copy-on-write, implements AbstractFunctionSpaceElement. More...
 
class  Kaskade::Bridge::Functional< FunctionalImpl, DomainImpl, ImageImpl >
 Object that represents the linearization of a nonlinear functional, implements AbstractLineariztion. More...
 
class  Kaskade::Bridge::KaskadeNormalStepFunctional< FunctionalImpl, DomainImpl, ImageImpl >
 Bridge class for Functionals. Its most prominent task is to create linearizations, implements AbstractFunctional. More...
 
class  Kaskade::Bridge::KaskadeTangentialStepFunctional< FunctionalImpl, DomainImpl, ImageImpl >
 Bridge class for Functionals. Its most prominent task is to create linearizations, implements AbstractFunctional. More...
 
class  Kaskade::Bridge::ParameterFunctional< Func, VectorImpl >
 A functional that may depend on parameters, implements AbstractParameterFunctional. More...
 
class  Kaskade::Bridge::C1ParameterFunctional< Func, VectorImpl >
 A functional that may depend on parameters, implements AbstractC1ParameterFunctional. More...
 
struct  Kaskade::Bridge::SpaceTransfer
 

Namespaces

namespace  Kaskade
 
 
namespace  Kaskade::Bridge
 Namespace of Classes that implement the abstract interface classes via the bridge-pattern.
 

Functions

template<class Implementation >
Implementation & Kaskade::Bridge::getImpl (AbstractFunctionSpaceElement &v)
 Get the implementation of an AbstractFunctionSpaceElement. More...
 
template<class Implementation >
Implementation const & Kaskade::Bridge::getImpl (AbstractFunctionSpaceElement const &v)
 Get the implementation of an AbstractFunctionSpaceElement. More...
 
template<class Variables , class Functional >
std::unique_ptr< AbstractFunctional > Kaskade::Bridge::getFunctional (std::unique_ptr< Functional > &&F)
 
template<class Variables , class Functional >
std::unique_ptr< AbstractFunctional > Kaskade::Bridge::getFunctional (Functional *&&F)
 
template<class T >
std::unique_ptr< T > Kaskade::Bridge::makeUP (T *t)
 Convenience routine: makes an unique_ptr of the right type. More...
 

Detailed Description

Bridge classes that connect low level FE algorithms to higher level algorithms.

Author
Anton Schiela

Usually these classes are implemented using the "pointer to implementation (pimpl)" idiom. Newton's Method and similar algorithms can be formulated in terms of abstract quantities by including aInterface.hh. Moreover, since all base classes beginning with "Abstract..." are not templates, the higher level algorithms can be pre-compiled.

Definition in file newton_bridge.hh.