DUNE-ACFEM (2.5.1)
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()
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().