aaspip / pyekfmm

A python package for 3D fast-marching-based traveltime calculation and its applications in seismology
GNU General Public License v3.0
47 stars 10 forks source link

Can the "fmm.stream3d" function in this program be used for ray tracing in complex, heterogeneous velocity models? #4

Closed dulu1 closed 11 months ago

dulu1 commented 11 months ago

Thanks for implementing and sharing these useful package. Can the "fmm.stream3d" function in this program be used for ray tracing in complex, heterogeneous velocity models? When I was conducting tests, I found that it seems to only be able to trace a portion of the path. Is there any requirement on the velocity model or tracking points in order to trace the complete path? Thanks!

dulu

chenyk1990 commented 11 months ago

It should be able, but anisotropy is not enabled currently.

On Tue, Oct 10, 2023 at 3:21 AM dulu1 @.***> wrote:

Thanks for implementing and sharing these useful package. Can the "fmm.stream" function in this program be used for ray tracing in complex, heterogeneous velocity models?

Thanks!

dulu

— Reply to this email directly, view it on GitHub https://github.com/aaspip/pyekfmm/issues/4, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADHCWEWKYYSFJCSNHK2PI4LX6UAPXAVCNFSM6AAAAAA5Z57LL6VHI2DSMVQWIX3LMV43ASLTON2WKOZRHEZTINZUGEZTCNY . You are receiving this because you are subscribed to this thread.Message ID: @.***>

dulu1 commented 11 months ago

Thanks for your reply. When I was conducting tests, I found that it seems to only be able to trace a portion of the path. Is there any requirement on the velocity model or tracking points in order to trace the complete path?

chenyk1990 commented 11 months ago

No there are no such requirements or limitations. You can check the ray tracing examples and mimic that by changing a new velocity model. Most likely you do not use the function correctly.

On Tue, Oct 10, 2023 at 9:34 AM dulu1 @.***> wrote:

Thanks for your reply. When I was conducting tests, I found that it seems to only be able to trace a portion of the path. Is there any requirement on the velocity model or tracking points in order to trace the complete path?

— Reply to this email directly, view it on GitHub https://github.com/aaspip/pyekfmm/issues/4#issuecomment-1755556452, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADHCWETZ66SA7WH53ZNQFQTX6VMF5AVCNFSM6AAAAAA5Z57LL6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJVGU2TMNBVGI . You are receiving this because you commented.Message ID: @.***>

dulu1 commented 11 months ago

Thanks for your reply. Your answer has been very helpful to me.

dulu1 commented 11 months ago

After changing the receiver location from 101,101,101 to 51,61,101 in 'test_pyekfmm_fig4.py', there appeared missing parts in the ray tracing. from ''paths,nrays=fmm.stream3d(-tx,-ty, -tz, 101, 101, ii, step=0.1, maxvert=10000)'' to ''paths,nrays=fmm.stream3d(-tx,-ty, -tz, 51, 61, ii, step=0.1, maxvert=10000)''.If I use fmm.trimrays after that,The missing parts became a straight line. for ii in range(1,102,50): paths,nrays=fmm.stream3d(-tx,-ty, -tz, 61, 51, ii, step=0.1, maxvert=10000) plt.plot((51-1)*dy,(61-1)*dx,(ii-1)*dz,'vb',markersize=10); #paths=fmm.trimrays(paths,start_points=np.array([1,1,1]),T=0.5) plt.plot((paths[1,:]-1)*dy,(paths[0,:]-1)*dx,(paths[2,:]-1)*dz,'g--',markersize=20); Screenshot 2023-10-10 233615

chenyk1990 commented 11 months ago

Interesting issue! Thank you for letting me know. I will look into it and get back to you.

On Tue, Oct 10, 2023 at 10:40 AM dulu1 @.***> wrote:

It will not have any missing parts when x=y.

— Reply to this email directly, view it on GitHub https://github.com/aaspip/pyekfmm/issues/4#issuecomment-1755712806, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADHCWESMBHMBXA5CUZXDT73X6VT6TAVCNFSM6AAAAAA5Z57LL6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJVG4YTEOBQGY . You are receiving this because you commented.Message ID: @.***>

chenyk1990 commented 11 months ago

Hi, you can update the pyekfmm package and run

test_pyekfmm_fig4.py again. In the current case, it works when x!=y.

Let me know if it works for you.

On Tue, Oct 10, 2023 at 10:37 AM dulu1 @.***> wrote:

After changing the receiver location from 101,101,101 to 51,61,101 in 'test_pyekfmm_fig4.py', there appeared missing parts in the ray tracing. from ''paths,nrays=fmm.stream3d(-tx,-ty, -tz, 101, 101, ii, step=0.1, maxvert=10000)'' to ''paths,nrays=fmm.stream3d(-tx,-ty, -tz, 51, 61, ii, step=0.1, maxvert=10000)''.If I use fmm.trimrays after that,The missing parts became a straight line. for ii in range(1,102,50): paths,nrays=fmm.stream3d(-tx,-ty, -tz, 61, 51, ii, step=0.1, maxvert=10000) plt.plot((51-1)dy,(61-1)dx,(ii-1)*dz,'vb',markersize=10);

paths=fmm.trimrays(paths,start_points=np.array([1,1,1]),T=0.5)

plt.plot((paths[1,:]-1)dy,(paths[0,:]-1)dx,(paths[2,:]-1)*dz,'g--',markersize=20); [image: Screenshot 2023-10-10 233615] https://user-images.githubusercontent.com/141817945/273973136-2a661a4c-3b52-4d71-8dc8-226f03f99c1a.jpg

— Reply to this email directly, view it on GitHub https://github.com/aaspip/pyekfmm/issues/4#issuecomment-1755707221, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADHCWEVNDT5FCGI5LA3P7C3X6VTSLAVCNFSM6AAAAAA5Z57LL6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJVG4YDOMRSGE . You are receiving this because you commented.Message ID: @.***>

dulu1 commented 11 months ago

I installed using pip, and perhaps pip hasn't been updated yet. However, after extracting the modified part of your source code and running it, I found that the issue has been resolved. Thank you for your help! Thank you once again for your patience!

chenyk1990 commented 11 months ago

Anisotropic ray tracing requires inputting anisotropic parameters, basically you cannot input such parameters so you cannot make it work. If only velocity is used, it is still isotopic ray tracing. Hope this helps!

On Tue, Oct 10, 2023 at 9:33 PM dulu1 @.***> wrote:

What you initially mentioned, "anisotropy is not enabled currently" .Does this mean that there will be errors in the results of ray tracing if I use an anisotropic velocity model?

— Reply to this email directly, view it on GitHub https://github.com/aaspip/pyekfmm/issues/4#issuecomment-1756651882, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADHCWEWJK344YXJGRN7ZJGDX6YAONAVCNFSM6AAAAAA5Z57LL6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJWGY2TCOBYGI . You are receiving this because you commented.Message ID: @.***>

dulu1 commented 11 months ago

Thank you very much for your answer, all my questions have been resolved. Thank you again!

chenyk1990 commented 11 months ago

You're welcome!

On Tue, Oct 10, 2023 at 10:01 PM dulu1 @.***> wrote:

Thank you very much for your answer, all my questions have been resolved. Thank you again!

— Reply to this email directly, view it on GitHub https://github.com/aaspip/pyekfmm/issues/4#issuecomment-1756684138, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADHCWEXMYSKTQHBQBRXMNRLX6YDZVAVCNFSM6AAAAAA5Z57LL6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJWGY4DIMJTHA . You are receiving this because you commented.Message ID: @.***>