[Dune] BasicGeometry and affine

Martin Nolte nolte at mathematik.uni-freiburg.de
Thu Feb 3 10:12:18 CET 2011


Hi Jö,

the mapping internally determines whether it is affine. This is pretty
complicated. A mapping is affine, if
* the template argument alwaysAffine is true
* the constructor is passed a flag affine = true
* the Jacobian is constant (which is computed dynamically)

There is _no_ way of telling the mapping that it should always behave non-affine
(because it is always slower than the affine version). Nontheless, we could use
the affine argument of the constructor to allow this.

In any case, the affine argument should be passed to the constructor again.

I'm not sure when (if necessary at all), the mapping checks for affinity (which
actually has to compute the jacobian once).

Best,

Martin

On 02/03/2011 12:24 AM, Jö Fahlke wrote:
> Am Wed,  2. Feb 2011, 22:35:31 +0100 schrieb Jö Fahlke:
>> The BasicGeometry has one constructor which takes a parameter "affine":
>>
>>   template< class CoordVector >
>>   DUNE_DEPRECATED
>>   BasicGeometry(const unsigned int topologyId, const CoordVector &coords,
>>                 const bool affine);
> 
> Actually, I just noticed that this constructor does not work at all, because
> it calls MappingProvider::construct() with the affine flag, which is not
> supported.
> 
> So let me rephrase my question:  Is there a way to tell a BasicGeometry that
> it is affine, or does it figure that out on its own?  And it affinity is
> determined automatically, are e.g. quadrilaterals that happen to be affine
> actually considered affine or are they always considere non-affine?
> 
> Bye,
> Jö.
> 
> 
> 
> 
> _______________________________________________
> Dune mailing list
> Dune at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune

-- 
Martin Nolte <nolte at mathematik.uni-freiburg.de>

Universität Freiburg                                   phone: +49-761-203-5642
Abteilung für angewandte Mathematik                    fax:   +49-761-203-5632
Hermann-Herder-Straße 10
79104 Freiburg, Germany




More information about the Dune mailing list