phoebe-project / phoebe2

PHOEBE - Eclipsing Binary Star Modeling Software
http://phoebe-project.org
GNU General Public License v3.0
80 stars 30 forks source link

Implementing curvature depending offsetting #23

Closed horvatm closed 8 years ago

horvatm commented 8 years ago

Implementing curvature depending offsetting of the triangular mesh to enable this feature also for non-convex bodies.

horvatm commented 8 years ago

To enable curvature depending offseting do:

dict = mesh_offseting(A, V, NatV, T, curvature="True")

kecnry commented 8 years ago

see commits https://github.com/phoebe-project/phoebe2/commit/20b500486364d24501e019f26c8e26f6dd0d622a https://github.com/phoebe-project/phoebe2/commit/3cef8a556b4e549b184356412687632dd7140dc7 https://github.com/phoebe-project/phoebe2/commit/37982bc776a0c54179244811fc06ecb9e00b8dbb https://github.com/phoebe-project/phoebe2/commit/e1ff0dafa932bd8b3c628e3ab5e4c506ca75c9fb

Here is an example of the horizon of a fairly-distorted roche star at quarter phase in plane-of-sky polar coordinates (theta=0 is the "nose"). The black curves are the residuals between the rho of the surface elements and the analytic horizon.

Without curvature-dependent offsetting, you can see that the nose fails to offset enough (rho is too small) and over-compensates in areas with flatter curvature: horizon_curv_resid_3_false

With curvature-dependent offsetting, you can see that the residuals are more symmetric and have less systematics: horizon_curv_resid_3_true

In the future we could perhaps improve the algorithm to perform better, and could also skip this step for stars which we know are approximately spherical, but for now let's mark this as implemented and closed.