dune-fem 2.12-git
Loading...
Searching...
No Matches
Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator > Class Template Reference

#include <dune/fem/schemes/femscheme.hh>

Inheritance diagram for Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >:
Inheritance graph

Public Types

typedef Operator::ModelType ModelType
 type of the mathematical model
 
typedef Operator::DomainFunctionType DomainFunctionType
 
typedef Operator::RangeFunctionType RangeFunctionType
 
typedef Operator::RangeFunctionType DiscreteFunctionType
 
typedef Operator DifferentiableOperatorType
 
typedef DiscreteFunctionType::DiscreteFunctionSpaceType DiscreteFunctionSpaceType
 
typedef LinearInverseOperator LinearInverseOperatorType
 
typedef ModelType::GridPartType GridPartType
 grid view (e.g. leaf grid view) provided in the template argument list
 
typedef GridPartType::GridType GridType
 type of underlying hierarchical grid needed for data output
 
typedef DiscreteFunctionSpaceType::FunctionSpaceType FunctionSpaceType
 type of function space (scalar functions, \( f: \Omega -> R) \)
 
typedef Operator::JacobianOperatorType JacobianOperatorType
 
typedef Operator::JacobianOperatorType LinearOperatorType
 
typedef InverseOperator InverseOperatorType
 
typedef InverseOperatorType::ErrorMeasureType ErrorMeasureType
 
typedef Dune::Fem::PreconditionerFunctionWrapper< typename LinearOperatorType::RangeFunctionType, typename LinearOperatorType::DomainFunctionType > PreconditionerFunctionWrapperType
 
typedef PreconditionerFunctionWrapperType::PreconditionerFunctionType PreconditionerFunctionType
 
typedef FunctionSpaceType::RangeType RangeType
 
using DirichletBlockVector = typename AddDirichletBC< Operator, DomainFunctionType >::DirichletBlockVector
 
typedef InverseOperatorType::SolverInfoType SolverInfoType
 type of solver statistics reported (defined in inverseoperatorinterface.hh)
 

Public Member Functions

 FemScheme (const DiscreteFunctionSpaceType &space, ModelType &model, const Dune::Fem::ParameterReader &parameter=Dune::Fem::Parameter::container())
 constructor with one model
 
template<class... Models>
 FemScheme (const DiscreteFunctionSpaceType &space, const Dune::Fem::ParameterReader &parameter, Models &&... models)
 constructor for derived classes (GalerkinScheme and MassLumpingScheme) with a list of models
 
 FemScheme (DifferentiableOperatorType &fullOp, const Dune::Fem::ParameterReader &parameter)
 constructor for derived classes (LinearScheme and LinearizedScheme)
 
const DifferentiableOperatorTypefullOperator () const
 
DifferentiableOperatorTypefullOperator ()
 
std::size_t gridSizeInterior () const
 
template<typename O = DifferentiableOperatorType>
auto setQuadratureOrders (unsigned int interior, unsigned int surface) -> Dune::void_t< decltype(std::declval< O >().setQuadratureOrders(0, 0)) >
 
void setConstraints (DomainFunctionType &u) const
 
void setConstraints (const DiscreteFunctionType &u, DiscreteFunctionType &v) const
 
template<class GridFunctionType >
void setConstraints (const GridFunctionType &u, DiscreteFunctionType &v) const
 
void setConstraints (const RangeType &value, DiscreteFunctionType &u) const
 
void setConstraints (JacobianOperatorType &lin) const
 
void subConstraints (const DiscreteFunctionType &u, DiscreteFunctionType &v) const
 
void subConstraints (DiscreteFunctionType &v) const
 
void addConstraints (const DiscreteFunctionType &u, DiscreteFunctionType &v) const
 
void addConstraints (DiscreteFunctionType &v) const
 
const auto & dirichletBlocks () const
 
void operator() (const DiscreteFunctionType &arg, DiscreteFunctionType &dest) const
 
template<class GridFunction >
auto operator() (const GridFunction &arg, DiscreteFunctionType &dest) const -> Dune::void_t< decltype(std::declval< const Operator & >()(arg, dest))>
 
void setErrorMeasure (ErrorMeasureType &errorMeasure) const
 
SolverInfoType solve (const DiscreteFunctionType &rhs, DiscreteFunctionType &solution) const
 
SolverInfoType solve (const DiscreteFunctionType &rhs, DiscreteFunctionType &solution, const PreconditionerFunctionType &p) const
 
SolverInfoType solve (DiscreteFunctionType &solution) const
 
SolverInfoType solve (DiscreteFunctionType &solution, const PreconditionerFunctionType &p) const
 
template<class GridFunction , std::enable_if_t< std::is_same< decltype(std::declval< const DifferentiableOperatorType >().jacobian(std::declval< const GridFunction & >(), std::declval< JacobianOperatorType & >())), void >::value , int , i = 0>
void jacobian (const GridFunction &ubar, JacobianOperatorType &linOp) const
 
const GridPartTypegridPart () const
 
const DiscreteFunctionSpaceTypespace () const
 
const ModelTypemodel () const
 
ModelTypemodel ()
 

Static Public Attributes

static const int dimRange = FunctionSpaceType::dimRange
 
static constexpr bool addDirichletBC = AddDirichletBC<Operator,DomainFunctionType>::value
 

Protected Member Functions

SolverInfoType _solve (const DiscreteFunctionType &rhs, DiscreteFunctionType &solution) const
 

Protected Attributes

const DiscreteFunctionSpaceTypespace_
 
std::shared_ptr< DifferentiableOperatorTypefullOpPtr_
 
DifferentiableOperatorTypefullOperator_
 
InverseOperatorType invOp_
 

Member Typedef Documentation

◆ DifferentiableOperatorType

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
typedef Operator Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::DifferentiableOperatorType

◆ DirichletBlockVector

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
using Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::DirichletBlockVector = typename AddDirichletBC<Operator,DomainFunctionType>::DirichletBlockVector

◆ DiscreteFunctionSpaceType

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
typedef DiscreteFunctionType::DiscreteFunctionSpaceType Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::DiscreteFunctionSpaceType

◆ DiscreteFunctionType

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
typedef Operator::RangeFunctionType Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::DiscreteFunctionType

◆ DomainFunctionType

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
typedef Operator::DomainFunctionType Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::DomainFunctionType

◆ ErrorMeasureType

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
typedef InverseOperatorType::ErrorMeasureType Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::ErrorMeasureType

◆ FunctionSpaceType

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
typedef DiscreteFunctionSpaceType::FunctionSpaceType Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::FunctionSpaceType

type of function space (scalar functions, \( f: \Omega -> R) \)

◆ GridPartType

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
typedef ModelType::GridPartType Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::GridPartType

grid view (e.g. leaf grid view) provided in the template argument list

◆ GridType

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
typedef GridPartType::GridType Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::GridType

type of underlying hierarchical grid needed for data output

◆ InverseOperatorType

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
typedef InverseOperator Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::InverseOperatorType

◆ JacobianOperatorType

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
typedef Operator::JacobianOperatorType Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::JacobianOperatorType

◆ LinearInverseOperatorType

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
typedef LinearInverseOperator Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::LinearInverseOperatorType

◆ LinearOperatorType

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
typedef Operator::JacobianOperatorType Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::LinearOperatorType

◆ ModelType

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
typedef Operator::ModelType Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::ModelType

type of the mathematical model

◆ PreconditionerFunctionType

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
typedef PreconditionerFunctionWrapperType::PreconditionerFunctionType Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::PreconditionerFunctionType

◆ PreconditionerFunctionWrapperType

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
typedef Dune::Fem::PreconditionerFunctionWrapper< typename LinearOperatorType::RangeFunctionType, typename LinearOperatorType::DomainFunctionType > Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::PreconditionerFunctionWrapperType

◆ RangeFunctionType

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
typedef Operator::RangeFunctionType Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::RangeFunctionType

◆ RangeType

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
typedef FunctionSpaceType::RangeType Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::RangeType

◆ SolverInfoType

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
typedef InverseOperatorType::SolverInfoType Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::SolverInfoType

type of solver statistics reported (defined in inverseoperatorinterface.hh)

Constructor & Destructor Documentation

◆ FemScheme() [1/3]

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::FemScheme ( const DiscreteFunctionSpaceType space,
ModelType model,
const Dune::Fem::ParameterReader parameter = Dune::Fem::Parameter::container() 
)
inline

constructor with one model

◆ FemScheme() [2/3]

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
template<class... Models>
Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::FemScheme ( const DiscreteFunctionSpaceType space,
const Dune::Fem::ParameterReader parameter,
Models &&...  models 
)
inline

constructor for derived classes (GalerkinScheme and MassLumpingScheme) with a list of models

◆ FemScheme() [3/3]

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::FemScheme ( DifferentiableOperatorType fullOp,
const Dune::Fem::ParameterReader parameter 
)
inline

constructor for derived classes (LinearScheme and LinearizedScheme)

Member Function Documentation

◆ _solve()

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
SolverInfoType Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::_solve ( const DiscreteFunctionType rhs,
DiscreteFunctionType solution 
) const
inlineprotected

◆ addConstraints() [1/2]

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
void Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::addConstraints ( const DiscreteFunctionType u,
DiscreteFunctionType v 
) const
inline

◆ addConstraints() [2/2]

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
void Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::addConstraints ( DiscreteFunctionType v) const
inline

◆ dirichletBlocks()

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
const auto & Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::dirichletBlocks ( ) const
inline

◆ fullOperator() [1/2]

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
DifferentiableOperatorType & Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::fullOperator ( )
inline

◆ fullOperator() [2/2]

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
const DifferentiableOperatorType & Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::fullOperator ( ) const
inline

◆ gridPart()

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
const GridPartType & Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::gridPart ( ) const
inline

◆ gridSizeInterior()

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
std::size_t Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::gridSizeInterior ( ) const
inline

◆ jacobian()

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
template<class GridFunction , std::enable_if_t< std::is_same< decltype(std::declval< const DifferentiableOperatorType >().jacobian(std::declval< const GridFunction & >(), std::declval< JacobianOperatorType & >())), void >::value , int , i = 0>
void Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::jacobian ( const GridFunction &  ubar,
JacobianOperatorType linOp 
) const
inline

◆ model() [1/2]

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
ModelType & Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::model ( )
inline

◆ model() [2/2]

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
const ModelType & Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::model ( ) const
inline

◆ operator()() [1/2]

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
void Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::operator() ( const DiscreteFunctionType arg,
DiscreteFunctionType dest 
) const
inline

◆ operator()() [2/2]

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
template<class GridFunction >
auto Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::operator() ( const GridFunction &  arg,
DiscreteFunctionType dest 
) const -> Dune::void_t<decltype(std::declval<const Operator&>()(arg,dest))>
inline

◆ setConstraints() [1/5]

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
void Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::setConstraints ( const DiscreteFunctionType u,
DiscreteFunctionType v 
) const
inline

◆ setConstraints() [2/5]

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
template<class GridFunctionType >
void Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::setConstraints ( const GridFunctionType &  u,
DiscreteFunctionType v 
) const
inline

◆ setConstraints() [3/5]

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
void Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::setConstraints ( const RangeType value,
DiscreteFunctionType u 
) const
inline

◆ setConstraints() [4/5]

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
void Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::setConstraints ( DomainFunctionType u) const
inline

◆ setConstraints() [5/5]

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
void Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::setConstraints ( JacobianOperatorType lin) const
inline

◆ setErrorMeasure()

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
void Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::setErrorMeasure ( ErrorMeasureType errorMeasure) const
inline

◆ setQuadratureOrders()

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
template<typename O = DifferentiableOperatorType>
auto Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::setQuadratureOrders ( unsigned int  interior,
unsigned int  surface 
) -> Dune::void_t< decltype( std::declval< O >().setQuadratureOrders(0,0) ) >
inline

◆ solve() [1/4]

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
SolverInfoType Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::solve ( const DiscreteFunctionType rhs,
DiscreteFunctionType solution 
) const
inline

◆ solve() [2/4]

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
SolverInfoType Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::solve ( const DiscreteFunctionType rhs,
DiscreteFunctionType solution,
const PreconditionerFunctionType p 
) const
inline

◆ solve() [3/4]

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
SolverInfoType Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::solve ( DiscreteFunctionType solution) const
inline

◆ solve() [4/4]

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
SolverInfoType Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::solve ( DiscreteFunctionType solution,
const PreconditionerFunctionType p 
) const
inline

◆ space()

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
const DiscreteFunctionSpaceType & Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::space ( ) const
inline

◆ subConstraints() [1/2]

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
void Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::subConstraints ( const DiscreteFunctionType u,
DiscreteFunctionType v 
) const
inline

◆ subConstraints() [2/2]

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
void Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::subConstraints ( DiscreteFunctionType v) const
inline

Member Data Documentation

◆ addDirichletBC

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
constexpr bool Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::addDirichletBC = AddDirichletBC<Operator,DomainFunctionType>::value
staticconstexpr

◆ dimRange

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
const int Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::dimRange = FunctionSpaceType::dimRange
static

◆ fullOperator_

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
DifferentiableOperatorType& Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::fullOperator_
protected

◆ fullOpPtr_

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
std::shared_ptr< DifferentiableOperatorType > Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::fullOpPtr_
protected

◆ invOp_

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
InverseOperatorType Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::invOp_
mutableprotected

◆ space_

template<class Operator , class LinearInverseOperator , class InverseOperator = Dune::Fem::NewtonInverseOperator< typename Operator::JacobianOperatorType, LinearInverseOperator >>
const DiscreteFunctionSpaceType& Dune::Fem::FemScheme< Operator, LinearInverseOperator, InverseOperator >::space_
protected

The documentation for this class was generated from the following file: