Evaluation of coefficient functions
In several contexts, the need for evaluation of coefficient functions other than trial function or linearization point have become apparent:
- Operator splitting
- Adjoint operators
- Interpolation of data
- High order geometries
My current view on supporting this is the following:
- There is no support in automatic driver generation (that would become a mess), instead the
add_generated_executable
function will get more love - All objects are to be defined as
Coefficient
- The
LocalOperator
constructor takes const references on vector objects, Problem: How can we achieve a well-defined order here? -
evaluate_coefficient{,_gradient}
implement the evaluation (easy part)
Btw, I think that this is the right moment to get fully rid of the parameter class. It is just complicating the build process right now. The only thing it does - storing the time - might as well be done on the local operator, or am I wrong?
Thoughts?