[dune-functions] GridFunction interface
Carsten Gräser
graeser at mi.fu-berlin.de
Fri Mar 20 16:52:05 CET 2015
Hi Christian,
Am 20.03.2015 um 16:32 schrieb Christian Engwer:
> Hi Oli,
>
>> I am not convinced either. In fact I'd find 1) more unexpected than 2).
>> If I have a function that depends on some coordinates I'd expect its
>> derivatives to be wrt to these coordinates. So if the function is a local
>> function I'd expect the derivatives to be wrt to local coordinates.
>> If I want them wrt global coordinates then I'd need to multiply by
>> JacobianInverseTransform.
>
> No, the problem was/is that you don't know what to do, because it
> depends on your particular type of function. Or lets ask the other way
> around, what would your local function return in case of the RT0
> function. Would it already perform the piola transformation?
>
> Christian
I still don't understand this point. The problem I mentioned,
and (as far as I understand) Olis answer is only about local
coordinates for the domain. Perhaps a formula will shed some light:
Lets assume f:\Omega \to V, E a fixed element, R the reference
element, and T:R \to E the geomertry map. Now let
g = localFunction(f);
g.bind(E);
Then we have g = f \circ T^{-1} : R \to V. But with approach 1)
we would have
derivative(g) = f' \circ T^{-1} != g'
and derivative(g)(x) \in L(E,V) instead of L(R,V). In contrast
2) would lead to derivative(g) = g' and derivative(g)(x) \in L(R,V)
as expected.
As far as I understand you're taking about local E-dependent
coordinates for the range V which is orthogonal to the problem
mentioned above.
Best,
Carsten
More information about the dune-functions
mailing list