[Dune] Basic question on coordinate transformation

Aleksejs Fomins aleksejs.fomins at lspr.ch
Wed Jun 10 15:40:42 CEST 2015


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

Dear Dune,

I have always been puzzled by Jacobian transformations. And now, I might have a bug in their implementation in curvilinear geometry, so I thought it's a good time to sort out the unclear steps.

When I look at, e.g., affine geometry, I see that the Jacobian Transposed is defined in such a way that
(1) global() = origin + J * local
So "J" is a matrix that transforms from local to global coordinates.

However, if I look at the implementation of a surface normal, e.g. in GeometryGrid->Intersection->outerNormal I see that
refNormal = refElement.integrationOuterNormal( indexInInside() );
jit.mv( refNormal, normal );
so in order to transform the local (reference) normal to global coordinates, one multiplies it by the inverse of the Jacobian.

I am somewhat unable to convince myself why this works. My simplest counter-proof is to take the above equation (1) at 2 different locations and subtract from one another

p_global = g2 - g1 = J * l2 - J * l1 = J (l2 - l1) = J * p_local

I would be grateful if somebody could hint me on why the transformation of the normal is correct, or perhaps the nicest place to read about this.

Thank you,
Aleksejs
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBAgAGBQJVeD5aAAoJEDkNM7UOEwMZE3YQAJTSXa6sBp+YFaINcmn4XyIZ
aWtBHw7QLX1to/ilVRM52sdgYQrJlAZQBjwDo+Ch8vGfU61W6jxTLiyUkuxR1X8/
bJKPX+aRpN7tVqL8pNu2cgAVmG8wfGPHF48pCiOFD2yw01yQUMu0SRam8qQwt+yl
5CA9JG7TZ3CUhJrr86TYBNENeXNlfipyTnplzd/5qxaoMRZ0LKsZm/5F00OJhAZF
mlFFBsvEkcwcMm1GvJfJulHbENA49q8xeSwPUfj21T2I1VkIiIx5ybb5Lp1r+fvM
24W9kn4nB3ifhuVtmPrpDa977b6nmqBxChmLQNbTnbQmXjjRD3vM7SljOJOMhQRO
8+pgy0MMJu183/ERzzyARnbwjP+SfAPx7jo8bLN72y4W4GyErKeZvErNV/EoUMJX
RiR6voeavjcdonQVE8XnLwTVD7kzipT+ezc8/wgqSOXicNBmCDYjTx6uuPddZzlC
BRePLGaAghajYczylgAK8gYoElTg/m4xLJ9Vsn/faPCsP1yJbt9bNth+DtMJUUMs
ni2+9TjuLwZjrhkB2CsX/vOD774zPXgyV1vTHyzUCSbIQCH9RPdm2SLn6NN9+QiR
Nay6g/f2JTp/hqriQK597NXHUwtQYdSSaef+BOp/FupqtUqZkdFvcaVJAkWdxuGG
2za2SUezI31sZBNtZR0+
=gI6C
-----END PGP SIGNATURE-----




More information about the Dune mailing list