DUNE-ACFEM (2.5.1)

ModelParameters

Parameters are quasi-constant quantities, like the time-step size in one time-step when solving transient problems with finite element methods. More...

Classes

struct  Dune::ACFem::ParameterSpace< Field, dim >
 A model for the vector space a parameter value lives in. More...
 
class  Dune::ACFem::ParameterInterface< ParameterImpl >
 Parameters are quasi-constant quantities, like the time-step size in one time-step when solving transient problems with finite element methods. More...
 
class  Dune::ACFem::DefaultParameter< ParameterImpl >
 Just for completeness, there is no default implementation. More...
 
struct  Dune::ACFem::ParameterSpaceTraits< Type >
 The default template definition for this struct constructs a 1-dimensional parameter-value space (i.e. More...
 
struct  Dune::ACFem::ParameterSpaceTraits< FieldVector< Field, dim > >
 The default template definition for this struct constructs a 1-dimensional parameter-value space (i.e. More...
 
class  Dune::ACFem::TrivialParameter< Value >
 A simple wrapper: a really constant parameter. More...
 
class  Dune::ACFem::ZeroParameter< Value >
 The zero parameter, unconditionally evalute to zero. More...
 
class  Dune::ACFem::TimeStepParameter< TimeProvider >
 A Parameter-class which gives access to the current time-step size of an underlying Dune::Fem::TimeProvider. More...
 
class  Dune::ACFem::InverseTimeStepParameter< TimeProvider >
 A Parameter-class which gives access to the inverse of the current time-step size of an underlying Dune::Fem::TimeProvider. More...
 
class  Dune::ACFem::TimeViewParameter< TimeProvider >
 A Parameter-class which returns the absolute time corresponding to a fixed fraction of the current time-step. More...
 

Functions

template<class Value >
ParameterValue< Value >::ResultType Dune::ACFem::parameterValue (const Value &value)
 Return the unaltered argument for non-parameters and otherwise the parameter value. More...
 

Detailed Description

Parameters are quasi-constant quantities, like the time-step size in one time-step when solving transient problems with finite element methods.

One of their purpose is to inject such parameters into expression-templates without losing access to the parameter. There is only one end-user method in the ParameterInterface, namely the method to get hold of the current value of the parameter. This is called ParameterInterface::value(). Useful examples for parameters are the TimeStepParameter and InverseTimeStepParameter as well as the TimeViewParameter classes. There is also a TrivialParameter class which wraps a mere scalar into the parameter-framework. The function parameterValue() is useful for template stuff; it returns its argument for real constants, and evaluates the ParameterInterface::value() method if called with something derived from ParameterInterface.

Note
As with the RangeType of Dune::Fem functions ParameterInterface::value() always evaluates to a vector. For the scalar case this is a vector with one component.

Function Documentation

◆ parameterValue()

template<class Value >
ParameterValue< Value >::ResultType Dune::ACFem::parameterValue ( const Value &  value)

Return the unaltered argument for non-parameters and otherwise the parameter value.

That is, this is the identity operator for something not derived from ParameterInterface and evaluates to ParameterInterface::value() otherwise. This is more or less a technical helper function to make it easier to use parameters and real constants in expressions.

Referenced by Dune::ACFem::BinaryFunctionExpression< SMultiplyOperation, FactorType, FunctionType >::evaluate(), Dune::ACFem::BinaryGridFunctionExpression< SMultiplyOperation, Factor, Function >::evaluate(), Dune::ACFem::BinaryGridFunctionExpression< BinOp, LeftFunction, RightFunction >::LocalFunction::evaluate(), Dune::ACFem::BinaryGridFunctionExpression< SMultiplyOperation, Factor, Function >::expressionName(), Dune::ACFem::BinaryOperatorPartsExpression< SMultiplyOperation, Factor, OperandType >::flux(), Dune::ACFem::BinaryOperatorPartsExpression< SMultiplyOperation, Factor, OperandType >::fluxDivergence(), Dune::ACFem::BinaryFunctionExpression< SMultiplyOperation, FactorType, FunctionType >::hessian(), Dune::ACFem::BinaryGridFunctionExpression< SMultiplyOperation, Factor, Function >::hessian(), Dune::ACFem::BinaryGridFunctionExpression< BinOp, LeftFunction, RightFunction >::LocalFunction::hessian(), Dune::ACFem::BinaryFunctionExpression< SMultiplyOperation, FactorType, FunctionType >::jacobian(), Dune::ACFem::BinaryGridFunctionExpression< SMultiplyOperation, Factor, Function >::jacobian(), Dune::ACFem::BinaryGridFunctionExpression< BinOp, LeftFunction, RightFunction >::LocalFunction::jacobian(), Dune::ACFem::BinaryOperatorPartsExpression< SMultiplyOperation, Factor, OperandType >::linearizedFlux(), Dune::ACFem::BinaryOperatorPartsExpression< SMultiplyOperation, Factor, OperandType >::linearizedRobinFlux(), Dune::ACFem::BinaryOperatorPartsExpression< SMultiplyOperation, Factor, OperandType >::linearizedSource(), Dune::ACFem::BinaryModelExpression< SMultiplyOperation, Factor, ModelType >::name(), Dune::ACFem::BinaryOperatorPartsExpression< SMultiplyOperation, Factor, OperandType >::name(), Dune::ACFem::BinaryOperatorPartsExpression< SMultiplyOperation, Factor, OperandType >::robinFlux(), and Dune::ACFem::BinaryOperatorPartsExpression< SMultiplyOperation, Factor, OperandType >::source().

Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 12, 23:30, 2024)