[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