Mariano, I think you are looking for a raytracing procedure which solves the raypath between the source and receiver with one of the usual approaches: 1) bending 2) shooting 3) or unified approach. In bending you fix the source and receiver positions. It searches the Fermat path which is stationary starting from an initial guess of raypath connecting the source and receiver (with a minimization or stationarity condition).
The shooting procedure fixes the condition at the source (the starting angle) and tries iteratively (with trial-and-error searching algorithm) to reach the receiver within a fixed distance error. In this case you need of a raytracer program.
The two approach are alternative, the main advantage of bending is the convergence velocity, viceversa the shooting method (less fast) does not requires the initial guess of the ray path or constraints on the form of the ray.
I don't know which approach you are using to develop your raytracing procedure.
Anyway advise you to see the CREWES site (Consortium for Reasearch of Elastic Waves in Exploration Seismology) where you can download, besides more other processing and modelling scripts) some useful matlab scripts for a 2D raytracer which you can use to construct a raytracing procedure based on a shooting approach with an affordable implementation.
Assuming that you have considered some analytical flow profile or medium at rest , you can try to validate your code by estimating the restarted time for each ray. Amiet correction methodology is also an option.
Mariano, I think you are looking for a raytracing procedure which solves the raypath between the source and receiver with one of the usual approaches: 1) bending 2) shooting 3) or unified approach. In bending you fix the source and receiver positions. It searches the Fermat path which is stationary starting from an initial guess of raypath connecting the source and receiver (with a minimization or stationarity condition).
The shooting procedure fixes the condition at the source (the starting angle) and tries iteratively (with trial-and-error searching algorithm) to reach the receiver within a fixed distance error. In this case you need of a raytracer program.
The two approach are alternative, the main advantage of bending is the convergence velocity, viceversa the shooting method (less fast) does not requires the initial guess of the ray path or constraints on the form of the ray.
I don't know which approach you are using to develop your raytracing procedure.
Anyway advise you to see the CREWES site (Consortium for Reasearch of Elastic Waves in Exploration Seismology) where you can download, besides more other processing and modelling scripts) some useful matlab scripts for a 2D raytracer which you can use to construct a raytracing procedure based on a shooting approach with an affordable implementation.
Hello Roberto. I am actually trying to use a wavefront tracing by Sava... I will check the crewes website but I think it only have a raytracing method for layered media.
if you want to calculate the aberration of a wavefront, the telescope-optics.net site is very useful. In case you want just the ray paths and want to know, e.g. where a ray hits the optical axis, you can just use geometrical calculations incorporating snells law of refraction and the mathematics of triangles. If you know dOA and rk (see attached file) you can calculate alpha, which would be the incident angle and then use snells law and carry on. Another option is the software FRED from Photon Engineering. As a student you get a free trial version for one semester after registration and a letter from your supervisor. This software is very powerful and you can create and trace almost every system you want.
Does your code work with stacked reflected seismic data? This question is more like what Phung has asked, though I just have the typical SEGY seismic stacked data. Will appreciate your input.
Sorry Kathleen, the code only works for a media with lateral and vertical velocity gradients. Reflection and refraction are not considered as the code is intended for tomography use.
I am a beginner to MATLAB and I have to design a code to image an array of points in 3D space through which 3D ray tracing is done through the lens, and final image is obtained as spots on a screen (after refraction). Please help me out regarding the same on Research Gate or through my E-mail ID: [email protected]