Meshing a water layer above an irregular surface

Hello everybody,
I am facing a meshing issue for some time now and I wanted to know if maybe you could help me?

I a working in geophysics and I want to mesh water layers above irregular surfaces. I attach you a typical (very small) example (with just topography: geometryTest.cub and with the real geometry: TestExample.cub).

Until know I have considered three strategies:

  1. Directly from TestExample.cub meshing all volumes with tetmesh and running THex but it does not often create good quality mesh (scaled jacobian > 0.1-0.2)

  2. Meshing the sea bottom (always easy with pave and sweep in my case), extruding the mesh and cutting it at z=0. It creates an already meshed (ugly) sea layer. You can obtain it from geometryTest.cub by running the following commands:

open “geometryTest.cub”
compress
Surface 2 copy
webcut volume 2 with general plane xy offset 0
merge all
imprint all
delete body 2 3
compress
surface 6 7 size auto factor 4 propagate
surface 6 7 scheme pave
mesh surface 6 7
volume 1 redistribute nodes on
volume 1 scheme Sweep source surface 6 7 target surface 1 sweep transform least squares propagate bias
volume 1 autosmooth target off
mesh volume 1
surf 6 copy
sweep surface 8 direction z distance 1500
merge all
imprint all
volume 2 redistribute nodes on
volume 2 scheme Sweep source surface 6 target surface 13 sweep transform least squares propagate bias
volume 2 autosmooth target off
mesh volume 2
create mesh geometry hex in volume 2 with z_coord < 0 feature_angle 135
delete vol 2

The final model shows water walls on the coasts. These walls are not problematic in my cases (far bigger than that one) but the planeness of the sea is imperative. Hence, from that step, I was considering using a kind of pillowing plus smoothing operations but I did not manage to obtain something.

  1. I have heard about the Sculpt meshing feature, can it mesh my water layers? Sculpt does not seem to work on my version of Cubit (15.1) nor Trelis (15.0) but It seems to have parallel meshing capabilities, if it works in my case that would be perfect for me! If you think it will work, how can I obtain and run it?
    If the water layer is meshed I guess that I can then sweep the resulting surface mesh of the sea bottom to obtain the mesh of the underlayer?

Thank you so much for your help! I wish you a good day.

Alexis
TestExample.cub (1.99 MB)
geometryTest.cub (1.89 MB)

Hi there,
Have you tried Geocubit to do the meshing?
Cheers

Alexis,

One approach is to offset the curve on volume 2 and use it to cut a triangular volume (magenta colored volume in attached image) out of volume 2. You can sweep volume 3 and all the others should sweep too. I’ve attached some files. You’ll need to use Trelis beta because it has a newer verion of ACIS which doesn’t fail on some of the operations used. I’ve attached both water.sat and water_cut.sat in the attached water.zip file.

–Corey

Here’s how I did it:
reset
import acis ‘water.sat’
vol all scale .001
create curve offset curve 1 distance -.3
create vertex on curve 18 fraction .1
create curve vertex 20 21
imprint tolerant surf 8 with curve 25 26 27 tolerance .05
webcut volume 2 sweep surface 13 vector 0 0 -1 through_all
export acis ‘water_cut.sat’
water.zip (1.73 MB)

Hi all!
Lidong: Thank you for your answer, however Geocubit is not able to mesh that kind of model (I am working with Emanuele Casarotti who wrote it)

Corey_ernst: Thank you very much for your answer! However I still don’t understand how to obtain a suitable mesh from the water_cut.sat you sent me… I agree that the volume 3 it meshable so as the volume 1 but I don’t understand how you mesh the volume 2?

all: I have found (part of) a solution using Bolt (csimsoft.com/boltoverview.jsp). This algorithm is just awesome! It allows to mesh the water part correctly. I obtain the model attached.

Then, by sweeping the sea-bottom mesh it should be easy to obtain the whole mesh but the bottom sea surface is now a little bit different than the bed rock surface (sea the picture attached). I have to fill the holes with the volume 1. Do you know how I can do that?

For the moment I can’t do anything because I have a ACIS/Facet geometry engines conflict (I always have that problem, I don’t understand why it is not easily possible to switch from one engine to another!). Do you know how to solve that too?

Thank you so much!
waterMeshedWithBolt2.tar.gz (1.72 MB)

Hi abottero,

Many thanks for your reply. I tried the new Bolt to make a mesh of the model you attached before. However, the result I got does’t like yours. All the meshes along the side curves are smoothed to a cured shape, which doesn’t strictly follow the original shape. Especially the coastline, it curved down a litter bit. See photo. Do you set up something in the Bolt before meshing, so the meshing can exactly follow the model geometry?

The meshing leaves some space between the solid earth volume and water volume. I think if we could project the meshing strategy on the surface of water part to the solid earth, then it may be helpful. But don’t know how to do it….

I am working on a very large scale problem and being in contact with Emanuele for a while about how to use geocubit…
water_mesh.png