Common components for OPM, in particular build system (cmake).
The basic idea is to replace "plain" scalar values by "function evaluations": these store the function's value plus a set of derivatives for it and the chain rule is used to "drag" the derivatives along. So far, the framework only implements the "forward" approach to automatic differentiation and expression templates are not supported yet. (The latter point may change in the furture, though.) "local" means that the framework uses static arrays to represent the derivatives, i.e. the number of derivatives which are required must be specified at compile time. Compared to dynamic arrays this improves efficiency considerably if function evaluation objects must be allocated and deallocated frequently. |
||
---|---|---|
opm/material | ||
tests |