dune-fem 2.8.0
|
#include <dune/fem/schemes/femscheme.hh>
Classes | |
struct | SolverInfo |
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 underyling hierarchical grid needed for data output | |
typedef DiscreteFunctionSpaceType::FunctionSpaceType | FunctionSpaceType |
type of function space (scalar functions, ![]() | |
typedef Operator::JacobianOperatorType | JacobianOperatorType |
typedef Operator::JacobianOperatorType | LinearOperatorType |
typedef Dune::Fem::NewtonInverseOperator< LinearOperatorType, LinearInverseOperatorType > | InverseOperatorType |
typedef InverseOperatorType::ErrorMeasureType | ErrorMeasureType |
typedef FunctionSpaceType::RangeType | RangeType |
using | DirichletBlockVector = typename AddDirichletBC< Operator, DomainFunctionType >::DirichletBlockVector |
Public Member Functions | |
FemScheme (const DiscreteFunctionSpaceType &space, ModelType &model, const Dune::Fem::ParameterReader ¶meter=Dune::Fem::Parameter::container()) | |
const DifferentiableOperatorType & | fullOperator () const |
DifferentiableOperatorType & | fullOperator () |
template<typename O = DifferentiableOperatorType> | |
auto | setQuadratureOrders (unsigned int interior, unsigned int surface) -> Dune::void_t< decltype(std::declval< O >().setQuadratureOrders(0, 0)) > |
template<typename O = Operator> | |
std::enable_if_t< AddDirichletBC< O, DomainFunctionType >::value, void > | setConstraints (DomainFunctionType &u) const |
template<typename O = Operator> | |
std::enable_if_t< AddDirichletBC< O, DomainFunctionType >::value, void > | setConstraints (const DiscreteFunctionType &u, DiscreteFunctionType &v) const |
template<typename O = Operator> | |
std::enable_if_t< AddDirichletBC< O, DomainFunctionType >::value, void > | subConstraints (const DiscreteFunctionType &u, DiscreteFunctionType &v) const |
template<typename O = Operator> | |
std::enable_if_t< AddDirichletBC< O, DomainFunctionType >::value, void > | setConstraints (const RangeType &value, DiscreteFunctionType &u) 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 |
SolverInfo | solve (const DiscreteFunctionType &rhs, DiscreteFunctionType &solution) const |
SolverInfo | solve (DiscreteFunctionType &solution) 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 GridPartType & | gridPart () const |
const DiscreteFunctionSpaceType & | space () const |
const ModelType & | model () const |
ModelType & | model () |
Static Public Attributes | |
static const int | dimRange = FunctionSpaceType::dimRange |
static constexpr bool | addDirichletBC = AddDirichletBC<Operator,DomainFunctionType>::value |
Protected Member Functions | |
template<typename O = Operator> | |
std::enable_if_t< AddDirichletBC< O, DomainFunctionType >::value, void > | setZeroConstraints (DiscreteFunctionType &u) const |
template<class... Args> | |
void | setZeroConstraints (Args &&...) const |
template<typename O = Operator> | |
std::enable_if_t< AddDirichletBC< O, DomainFunctionType >::value, void > | setModelConstraints (DiscreteFunctionType &u) const |
template<class... Args> | |
void | setModelConstraints (Args &&...) const |
Protected Attributes | |
const DiscreteFunctionSpaceType & | space_ |
DifferentiableOperatorType | implicitOperator_ |
InverseOperatorType | invOp_ |
typedef Operator FemScheme< Operator, LinearInverseOperator >::DifferentiableOperatorType |
using FemScheme< Operator, LinearInverseOperator >::DirichletBlockVector = typename AddDirichletBC<Operator,DomainFunctionType>::DirichletBlockVector |
typedef DiscreteFunctionType::DiscreteFunctionSpaceType FemScheme< Operator, LinearInverseOperator >::DiscreteFunctionSpaceType |
typedef Operator::RangeFunctionType FemScheme< Operator, LinearInverseOperator >::DiscreteFunctionType |
typedef Operator::DomainFunctionType FemScheme< Operator, LinearInverseOperator >::DomainFunctionType |
typedef InverseOperatorType::ErrorMeasureType FemScheme< Operator, LinearInverseOperator >::ErrorMeasureType |
typedef DiscreteFunctionSpaceType::FunctionSpaceType FemScheme< Operator, LinearInverseOperator >::FunctionSpaceType |
type of function space (scalar functions,
typedef ModelType::GridPartType FemScheme< Operator, LinearInverseOperator >::GridPartType |
grid view (e.g. leaf grid view) provided in the template argument list
typedef GridPartType::GridType FemScheme< Operator, LinearInverseOperator >::GridType |
type of underyling hierarchical grid needed for data output
typedef Dune::Fem::NewtonInverseOperator< LinearOperatorType, LinearInverseOperatorType > FemScheme< Operator, LinearInverseOperator >::InverseOperatorType |
typedef Operator::JacobianOperatorType FemScheme< Operator, LinearInverseOperator >::JacobianOperatorType |
typedef LinearInverseOperator FemScheme< Operator, LinearInverseOperator >::LinearInverseOperatorType |
typedef Operator::JacobianOperatorType FemScheme< Operator, LinearInverseOperator >::LinearOperatorType |
typedef Operator::ModelType FemScheme< Operator, LinearInverseOperator >::ModelType |
type of the mathematical model
typedef Operator::RangeFunctionType FemScheme< Operator, LinearInverseOperator >::RangeFunctionType |
typedef FunctionSpaceType::RangeType FemScheme< Operator, LinearInverseOperator >::RangeType |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprotected |
|
inlineprotected |
|
inline |
|
inlineprotected |
|
inlineprotected |
|
inline |
|
inline |
|
inline |
|
inline |
|
staticconstexpr |
|
static |
|
protected |
|
mutableprotected |
|
protected |