groupeLIAMG / ttcr

Codes to do raytracing for geophysical applications
GNU General Public License v3.0
85 stars 34 forks source link

Error while computing raypaths: going outside grid #62

Closed cumttc closed 1 year ago

cumttc commented 1 year ago

I am writing to seek your expertise and assistance in resolving a problem I've encountered while working with ttcrpy.

The issue I'm facing pertains to the ray path going beyond the preset grid. After examining the code, specifically the "getTraveltimeFromRaypath" function, I have identified that the problem occurs when the algorithm tries to determine the next point in the ray path, and this next point, referred to as "curr_pt," falls outside the boundaries of the grid.

I have attached my code for reference. In this code, I have selected random source and receiver coordinates within the range of the grid space. However, I have observed that there is a probability of triggering this error when running the code. Strangely, when I change the selection method to 'DSPM,' this error is not reported.

I would greatly appreciate your insights and guidance in resolving this issue. If you could review my code and provide any suggestions or modifications that could help ensure the ray path remains within the preset grid, it would be immensely helpful.

Thank you in advance for your time and assistance. I look forward to hearing from you 。 demo.txt

bernard-giroux commented 1 year ago

Hi, This is a known limitation of the approach, especially for velocity model with strong variations. The solution is to extend the mesh to have a buffer zone around the receivers. Another possibility is to use the SPM algorithm, which does not rely on tracing the raypaths from the travel time gradient (please see the paper by Nasr in Geophysical Prospecting (2020) for the details(.