[Dune] GridCheck needs edits

Aleksejs Fomins aleksejs.fomins at lspr.ch
Thu Feb 26 18:01:03 CET 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dear Dune,

I am unhappy :(

Gridcheck performs the test

geom.local(geom.global(1 1 1))

which is impossible to pass using curvilinear geometry because Lagrange Polynomials are not bijective outside of the element.

I need your support to edit the gridcheck.cc if you want the CurvilinearGeometry to pass it...

Regards,
Aleksejs


On 26/02/15 17:34, Aleksejs Fomins wrote:
> Dear Jö,
> 
> For curvilinear geometries global->local mapping is not defined outside the element.
> 
> If I understand correctly, if someone asks me for a global coordinate strongly outside the element, then I could return a whatever local coordinate that is strongly outside the element, eg (-100, 0, 0). I hope that people only care if the coordinate is inside or outside the element and do not care of the actual local coordinate if they know it is outside.
> 
> Because if this is not the case, we have a serious design problem.
> 
> Thanks for your reply
> Aleksejs
> 
> On 26/02/15 17:25, Jö Fahlke wrote:
>> Am Thu, 26. Feb 2015, 16:58:38 +0100 schrieb Aleksejs Fomins:
>>> I am now trying to make the gridcheck run with curvilinear grid.
>>>
>>> It seems that at some point gridcheck calls the geometry.local() method for one of tetrahedra in the provided mesh. And it calls the method with a global coordinate that is clearly outside the element. I previously assumed this was an illegal action, so I throw an error there...
>>>
>>> Questions:
>>> 1) Is this expected behaviour of gridcheck?
>>> 2) If yes, what is the expected return value?
>>> 3) If no, then the problem is elsewhere. To search for it, I need debug output. Does gridcheck have debug output and if yes how to switch it on?
> 
>> Without having looked at what the grid check does: It is kind-of legal to
>> stuff a coordinate outside the element into local().  This can happen
>> e.g. during a hierarchic search, when you try to find the element that
>> contains a certain Coordinate.  You (as a grid implementor) can
>> however declare that this is not supported for your grid, as hierarchic search
>> is just a utility class.
> 
>> Another instance where local() receives outside coordinates is due to rounding
>> errors.  You should allow that, but you can take advantage of the fact that
>> these coordinate will only be very slightly outside.
> 
>> If you can smoothly extend the local() mapping to the outside of the element,
>> then you should return the result according to this smooth extension.
>> Otherwise you probably already have singularities on the boundary of the
>> element, and we have to think about that some more.
> 
>> Regards,
>> Jö.
> 
> 
> _______________________________________________
> Dune mailing list
> Dune at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBAgAGBQJU71FPAAoJEDkNM7UOEwMZ5GEP/AsT1R6wZ+1tdgnXssUJGCfa
2Tjk4KfXMfUU7dywqH9G2s+4ZM1JcjCIcXl0KithXDtiLjLnaR92xUN1oUuQqMZv
OZjt0xlqfQFKCtL0NPrGhgp1fInPYOfMXV0FJ7QVdmHmBM2Hdqsc9LZ/mnFU9LrO
ddeZnk1XBgG4WVI616t4x1d2cF8XMJIbzj9g5et2BpQO7Ry0wcUJPLJ4v1Zjw6n5
Vf776u1rC+MM/CiFfHo8A5zBXoPIxEAVoUfBy+OJZKBwZ7fXO9hz9qxSl87jBfOh
WrIntCrTWnLCZpfgLVzP66O7pbT5ibRL7ZkZBPOhFhLwQF+LjD0lzspqO3vln/jJ
IVAO8WH248bqZyMA6K3wVqwdcglD+1yMrfy9UeoTJLvaug6t3tzi4K9dbQ2egD3d
wBkrtzhpVTZf5bYMsBYfJ3UDldbCd5lsie38xMSm8qej4MMHguGdA/5zA/MCaM0I
WWnSY+yEglpzF2WpKMq0Jy1HPX+Zpq2jGswxVmS1x2laBhP/VqUPgbuxcin/ICwk
SbdrmQkbCIxSO7MBNeLy4QNrfojC3H3AigkDnUiKOI/6yMvYmze5ehNEN+50gfFV
Ay837j9VRPPckyqZRhpCue5rvAuzPFovBtB/d4IvcoPxnAX18JcIOvUypPwrhz+y
S65FniJGoSxj/pqmqtmq
=lGby
-----END PGP SIGNATURE-----




More information about the Dune mailing list