groupeLIAMG / ttcr

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

bad allocation when calculating L use grid.raytrace(srcs, rcv, slowness, compute_L=True) for second time #69

Closed xiehoulin closed 2 months ago

xiehoulin commented 2 months ago

I used a simple method to renew the velocity by calculating the L and the diffrence between the tobs with tcal ,however bad allocation error will happen when renewd the gridient and calculate L for the second time by using grid.raytrace(srcs, rcv, slowness, compute_L=True) .

xiehoulin commented 2 months ago

codes.zip

bernard-giroux commented 2 months ago

I quickly run your code. You definitely need to apply smoothing constraints, you get a model with values on velocity in the 1e6 range after 1 iteration. This is an inversion problem, not a raytracing problem.

xiehoulin commented 2 months ago

@bernard-giroux Thank you for your answer professor -giroux , its truly an inversion problem,I want to renew the velocity by closing to Tobs picked up from frist wave ,raytracing is the main step. you mean that I must control V or slowness_input( in a normal range) while raytracing,or it will repeat calculating in grid.raytrace,which leads to bad allocation?

bernard-giroux commented 2 months ago

ttcrpy is not an inversion package and this is not the place to discuss inversion problems. I will only suggest that you read about regularization.