Create a hill model

Hello everyone,
I want to build a small mountain model of 30kmx30kmx15km. As shown in the following figure. How to implement it?
Thank you very much for your help.
Jinchi Wang
image

Hello @Jinchiwang,
how much control do you want to have over the topology of the mountain?

Your picture looks like a surface out of a rotated spline that was united with a brick. That would be a axisymmetric mountain. Do you need it like that?

Hi,
Yes, what I want is this kind of effect, but modeling is a challenge for me. Can you give me some advice?
Thanks!

Hi @Jinchiwang,

for representing the mountain geometry i would recommend to use at least 3 curves. The first and the last ensures that the top and bottom of the mountain will be tangential, this will prevent us from getting some weird geometry when we rotate. Before the rotation we add 2 curves, so that we can make a surface. This surface can be rotated to create our mountain.

reset
#{radius=5e+3}
#{height=4e+3}

create vertex location 0 0 {height}
create vertex location {radius*1/9} 0 {height*8.8/9}
create vertex location {radius*3/10} 0 {height*7/8}
create vertex location {radius*4/5} 0 {height*1/5}
create vertex location {radius} 0 0
create vertex location 0 0 0

create curve spline location vertex 2 3 4 delete
create curve tangent vertex 2 1 end direction -1 0 0 
create curve tangent vertex 4 5 end direction 1 0 0 
create curve vertex 1 6
create curve vertex 5 6

create surface curve all

grafik

When we rotate the surface 360 degrees. We are stuck with a volume that has undeletable curves from top to bottom. It will be meshable, but i am not fond of that, i would rather have a more symmetric topology.

grafik

So we will only rotate 90 degree and reflect the quarter mountain to get a full one. After that we create the brick and unite the volumes.

sweep surface all zaxis angle 90
Volume all copy reflect x
volume all copy reflect y

brick x 30e+3 y 30e+3 z 15e+3
move volume 5 z -7.5e+3

unite volume all

To mesh this volume we will make use of virtual geometries. This way we can make one surface for the top of the brick. We will set the pave scheme for this top surface and then we are ready to mesh.

composite create surface all with z_coord >=0 keep angle 15 

surface all size 500 
surface all with z_coord>=0 scheme pave
mesh surface all with z_coord>=0

volume all size 500

mesh vol all

When we take a look at the mesh in the inner mountain. We will see that mesh is aligned with the mountain topology.

grafik

If the mountain is flat, this will not be an issue. But what will be if mountain is high and got a small radius?

A more decomposed geometry will give us more control over the mesh.

This will get us a way better mesh quality.

reset
#{radius=3e+3}
#{height=5e+3}
#{layer=1e+3}

create vertex location 0 0 {height}
create vertex location {radius*1/9} 0 {height*8.8/9}
create vertex location {radius*3/10} 0 {height*7/8}
create vertex location {radius*4/5} 0 {height*1/5}
create vertex location {radius} 0 0
create vertex location {radius} 0 {-layer}
create vertex location 0 0 -{layer}

create curve spline location vertex 2 3 4 delete
create curve tangent vertex 2 1 end direction -1 0 0 
create curve tangent vertex 4 5 end direction 1 0 0 
create curve vertex 1 7
create curve vertex 6 7
create curve vertex 6 5

create surface curve all

sweep surface all zaxis angle 90
Volume all copy reflect x
volume all copy reflect y

brick x 30e+3 y 30e+3 z 15e+3
move volume 5 z -7.5e+3

webcut volume all with plane zplane offset -{layer}
webcut volume all with plane yplane offset {radius*6/5}
webcut volume all with plane xplane offset {radius*6/5}
webcut volume all with plane yplane offset -{radius*6/5}
webcut volume all with plane xplane offset -{radius*6/5}

subtract volume 1 2 3 4 from volume 15  keep_tool 
webcut volume 1 2 3 4 with cylinder radius {radius*1/5} axis z

imprint vol all
merge vol all

composite create surface all with z_coord >={height*7/8} keep angle 15 

surface all size 500 
volume all size 500

surface 210 scheme pave
mesh surface 210

surface 206 scheme hole rad_intervals 10 
mesh surface 206

mesh vol all

I hope this will give you some hints for your geometry.

Hi,Norbert
I’m sorry for replying so late. First of all, thank you very much for helping me build the model. The model you built is the effect I want, but I have another question. If I want to build a basin model, how can I achieve it?
Looking forward to your reply.
Jinchi Wang

Do you have a picture of an example for me?

Hi,Norbert
The basin model I want to build is similar to the hill model, except that the upward hill is transformed into a downward basin. The following diagram shows its plan and profile. Thank you for your help!
Jinchi Wang

Hi @Jinchiwang,
in the picture its stated that the basin has its own bulk modulus, so i will not delete it’s geometry.

Meshing such geometry is really similar to the hill model. A good approach here is to cut the model in quarters. This way we can utilize the polyhedron scheme. We just have to ensure smooth surfaces so that we don’t get malformed hexes. This can be done with composite surfaces.

reset
#{radius=5e+3}
#{height=-4e+3}

create vertex location 0 0 {height}
create vertex location {radius*1/9} 0 {height*8.8/9}
create vertex location {radius*3/10} 0 {height*7/8}
create vertex location {radius*4/5} 0 {height*1/5}
create vertex location {radius} 0 0
create vertex location 0 0 0

#create curve spline location vertex 2 3 4 delete
create curve spline location vertex 2 3 4 5 delete
create curve tangent vertex 2 1 end direction -1 0 0 
#create curve tangent vertex 4 5 end direction 1 0 0 
create curve vertex 1 6
create curve vertex 5 6

create surface curve all

sweep surface all zaxis angle 90
Volume all copy reflect x
volume all copy reflect y

brick x 30e+3 y 30e+3 z 15e+3
move volume 5 z -7.5e+3

#unite volume all
subtract volume 1 to 4 from volume 5  keep_tool

webcut volume 5  with plane xplane offset 0 
webcut volume 5 6  with plane yplane offset 0 

composite create surface 13 11  keep angle 15 
composite create surface 4 2  keep angle 15 
composite create surface 8 6  keep angle 15 
composite create surface 18 16  keep angle 15 
composite create surface 28 27  keep angle 15 
composite create surface 33 32  keep angle 15 
composite create surface 35 34  keep angle 15 
composite create surface 31 30  keep angle 15 

imprint vol all
merge vol all

Volume all size 500
Volume all scheme polyhedron

mesh vol all

And a short look inside.

Hi,Norbert
Thank you for your generous help. The model construction effect is very good, which will play an important role in my future work.
Thank you very much!
Jinchi Wang