Replies: 8 comments 13 replies
-
So the domain must be a signed distance function. You can create this function by thresholding the velocity where Now once I have the signed distance function, I'd pass it to Keep in mind if you use So in summary here's some pseudo code that is untested since I do not have the
|
Beta Was this translation helpful? Give feedback.
-
@handechao did this help you out? Please let me know if you need for me to clarify anything further. |
Beta Was this translation helpful? Give feedback.
-
still a work in progress but I added some functions to the open PR (misc fixes) that enable you to read in your velocity model. I'll come back to this in a couple days.
|
Beta Was this translation helpful? Give feedback.
-
@handechao you should be able to install the latest branch I have to tune the spatial filter sigma to get the right representation of the irregular surface. I've done it before, I just need to find my code. Will take a couple days. |
Beta Was this translation helpful? Give feedback.
-
If you run with a small sigma, and run |
Beta Was this translation helpful? Give feedback.
-
Set the spatial_filter to some multiple of the minimum edge length. so
seems to work for a variety of cases. Clean up the remaining degenerate elements with |
Beta Was this translation helpful? Give feedback.
-
@handechao The binary file wasn't be read in correctly. I'd encourage you to plot slices to do a sanity check if you do this next time. The second thing was your 0-level set didn't pass through the domain (partly the result of the fact you weren't reading the file in correctly), so I increased the threshold to 0.1 m/s instead of 0 m/s. I used a Gaussian Blur again to regularize the 0-level set with a sigma of 0.5 grid units. In the future, if you're signed distance never crosses 0 inside the domain, this indicates the 0-level set is not contained within the domain. Now the current issue is the filtering which will need some more experimentation to get right.
|
Beta Was this translation helpful? Give feedback.
-
@handechao I think I have a good solution. In order to capture the irregular free surface, but have quality boundaries on the sides, I compute the intersection with a cube. This can also be used to add in your absorbing boundary layer if you wish. See the code below and the image:
|
Beta Was this translation helpful? Give feedback.
-
Hi guys! Here is my question.
I have a segy model with an irregular surface. The Vp above the surface is 0 m/s. Using 'domain=rectangle' is not worked and mesh above the irregular surface, which is not desired, will also be generated.
Is there any function that can delete those points and cells above the surface? Or, whether it can skip the region in which Vp is 0? Or, Should I provide the coordinates of the irregular surface to define the geometry?
Beta Was this translation helpful? Give feedback.
All reactions