Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ellipsoidal chunk push and pull functions #1950

Closed
MFraters opened this issue Oct 5, 2017 · 2 comments · Fixed by #2175
Closed

ellipsoidal chunk push and pull functions #1950

MFraters opened this issue Oct 5, 2017 · 2 comments · Fixed by #2175
Assignees
Milestone

Comments

@MFraters
Copy link
Member

MFraters commented Oct 5, 2017

While working on #1941 I noticed that the push and pull function for the ellipsoidal chunk do not exactly undo each others tranformation. Although the cartesian x and y are as far as I have seen exactly recovered, the z dimension is not.

For the test use the ellipsoidal chunk defaults and I start with a cartesian point (25000 25000 50000), which after a pull_back becomes (0.785398163 1.2159859 -6295224.83) and after a push_forward of this it becomes (25000 25000 55272.2164). A pull_back of this results in (0.785398163 1.22986595 -6291444.98) and a push_forward of this results in (25000 25000 59292.7979), etc..

Now it this a point, very deep in the earth, and I haven't tested it for more realistic Cartesian points. The equations used in this geometry model are from deal.ii step 53, but are not explained there where they exactly come from. But the ellipsoidal to Cartesian equation (in push_forward) is easy to find and seems to be correct. For the conversion from Cartesian to ellipsoidal coordinates (in pull_back), when I look on the internet, it seems to point at that usually an iteration is needed to get an precise solution and it could mean that this implementation is just an approximation. Although the equations which I have found for Cartesian to ellipsoidal coordinates are similar, I haven't been able to find this exact equation.

@bangerth Do you know where this equation is based on? Or maybe Sarah Stamps or Luca Heltai?

@bangerth
Copy link
Contributor

The ellipsoidal chunk model uses the WGS84 geometry for which the equations (in EllipsoidalChunkGeometry::push_forward_ellipsoid() and EllipsoidalChunkGeometry::pull_back_ellipsoid) are implemented in source/geometry_models/ellipsoidal_chunk.cc. The formulas for this model originally came from @dsarahstamps and I don't know where she had them from.

@dsarahstamps -- do you recall a reference for these formulas?

@bangerth bangerth added this to the 2.0 milestone Feb 27, 2018
@jdannberg
Copy link
Contributor

Let's check how big the error is for points that are in the Earth's mantle, further away from the origin. If we find the error is sufficiently small, let's postpone this until after ASPECT 2.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants