prism+tets

Dear Colleagues,

I do an attempt to generate a single layer mesh of 6-nodes prisms
on an unstructured tet-mesh. This is to have single layer
of shb-type shell elements covering the tetrahedral mesh.
Therefore, I generated a quarter of a sphere (volume to be
meshed with the first order tets) an a “skin” of a 3d-layer
(volume to be meshed with the 6-nodes prisms).

However, I am not successful at all, but it looks
it should be possible.
Could give any advice ?

Best regards,
Elek Postek

Hello,

the prism elements can only be obtained from a topologically prismatic volume. Can you send me the model in order to allow me to check whether the geometry fits with this requirements or not?

If do you already have created the ‘ring volume’ to be meshed with prisms, and this volume is topologically two similar tops, connected by lateral four-sided surfaces,
(you can create this volume for example form the copy window, with a offset of surfaces extruding a volume, or in the particular case of a sphere instead an offset operation a scale could be used. Offset is an approximated operation, scale is an exact geometrical operation)

then you could mesh this volume semi-structuredly.
Mesh->Semistructured->Volumes
select the volume (the ring) specifying the amount of divisions in the structured direction (1 in your case)

Mesh->Element type->Prism
and select the volume (by default volume elements are tetrahedra)

GiD will try to automatic detect the semi-structured direction (and select a master-surface), in case of doubt or ambiguity you can splicitly set the direction with
Mesh->Semistructured->Set->Structured direction
or alternativally set the master surfaces of semi-structured volumes
Mesh->Semistructured->Set->Master surface


GiD could also create boundary layer meshes, without require any geometrical modification,
Mesh->Boundary layer
This allow create very thin elements close to some boundaries (but they will be tetrahedra also, no prisms), setting the amount of layers and its sizes following some law.

Dear Colleagues,
Thank your for your answers.
When writing in the command line
Mescape Geometry Create Reconstruct OneSurfForEachElement
I obtain a message - Reconstruct - unknown command (rather surprising).

This is the attachment with the geo file
as “abelcs” asked to send.

regards,
Elek
layer_2.zip (1.98 KB)

I attach your model, reseting all your mesh data and settign the ring volume as semi-structured with tetras
layer_2.zip (207 KB)
About the message “Reconstruct - unknown command” using
Mescape Geometry Create Reconstruct OneSurfForEachElement
probably is because your GiD version (see Help->About) is not modern enough and the command doesn’t exists
It exists in last developer versions (current is the 12.1.7d)

Hello,
Thank you for the model. It helps a lot.

Let me ask:
Is there a way to generate a very thin layer of prism
(they are shb-shell like elements, 6 nodes)?

Supposing, the radius of a sphere is 0.5m,
and the thickness of the layer is 3.0e-04m.
The layer covers the sphere that is
discretized with unstructured tetrahedra,
and the prisms match the discretization of the sphere.

regards,
Elek

It doesn’t matter if the tickness of your ring is small, it it the same case that I explained.
e.g
create a sphere r=0.5 and create the ring volumes with a copy of surfaces with scale=1.0006 (1.0006=0.5+3e.4/0.5) extruding volumes.
(simple be careful to not to set the ‘collapse’ checkbutton of the copy window, to avoid join again the close entities)
and set the ring volumes to be meshed semi-structured with 1 division and to be meshed with prisms.

Hello,

maybe another option you have is to use the boundary layer mesh (see reference manual). This allows you to define some layers of elements with a given size normal to the surface, avoiding the need to edit the geometry. The thing is that in that case only tetrahedra are generated (not prisms).

Hello,
It is a very good idea for boundary layer in fluids.
However, in this case, the boundary is covered
by the SHB-shell-like elements - 6-nodes.
They are very thin prisms.
Regards, Elek

ear Colleagues,

I have a surface mesh that I generated with Patran.
I transferred it from patran neutral file
to gid.msh using strings. It means that
the coordinates are exactly the same
as in the neutral file.

I would like to have a volume
(not necessarily sphere) filled
with linear tets.
Therefore, I use
Mescape Geometry Create Reconstruct OneSurfForEachElement

then I attempt to create volume.

I use Create Volume By contour from the menu,
and I select all surfaces.
However, I get the following response;

line number 2 is 3 times into volume generation, must be even
line number 3 is 3 times into volume generation, must be even
line number 6 is 3 times into volume generation, must be even
line number 9 is 3 times into volume generation, must be even
line number 10 is 3 times into volume generation, must be even
line number 11 is 3 times into volume generation, must be even
line number 15 is 3 times into volume generation, must be even
line number 18 is 3 times into volume generation, must be even
line number 19 is 3 times into volume generation, must be even
line number 20 is 3 times into volume generation, must be even
line number 24 is 3 times into volume generation, must be even
line number 27 is 3 times into volume generation, must be even
surface 1 is over 2 surfaces
surface 2 is over 2 surfaces
surface 4 is over 2 surfaces
surface 7 is over 2 surfaces
surface 9 is over 2 surfaces
surface 10 is over 2 surfaces
surface 97 is over 2 surfaces
surface 98 is over 2 surfaces
surface 100 is over 2 surfaces
surface 103 is over 2 surfaces
surface 105 is over 2 surfaces
surface 106 is over 2 surfaces
Problem with lines: 2 3 6 9 10 11 15 18 19 20 24 27
Problem with surfaces: 1 2 4 7 9 10 97 98 100 103 105 106


I do not see anything special in the entities,
however, there is sth. wrong.


Would you mind to give a hint ?


regards,
Elek

Hello,
This is the gid_mesh file as well,
regards,
Elek
mem_out.zip (18 KB)

Your initial mesh has a portion of the sphere duplicaded, with overlapped triangles.
Using View->Higherentites->Edges
you will see the part with a repeated sector:


You could manually delete the unwanted triangles before the conversion to surface, or delete the surfaces after the conversion.

I attach a GiD model converted to surfaces, deleting unwanted ones and with a volume created.
mem_out_gid.rar (241 KB)

Thank you, it was an error in patran
geometry “duplicated durface”
EP.

hello, there is such a long command:

Mescape Geometry Create Reconstruct OneSurfForEachElement
283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370
escape

Is it possible to shorten it, not to enumerate all entities, for example,
Mescape Geometry Create Reconstruct OneSurfForEachElement
283 to 370
escape

best regards,
Elek

yes, while selecting the list of entities could be shorten with the syntax a:b
200 283:370
meaning the items 200 283 284 … 369 370

And at Tcl level you can convert a list of increasing integers from the ‘compact’ to the ‘expanded’ syntax with these procedures (defined in dev_kit.tcl of our scripts, this file has common tools for Tcl/Tk GiD developers)

set expanded [GidUtils::UnCompactNumberList $items]

or vice-versa

set compacted [GidUtils::CompactNumberList $expanded]

e.g.
if do you write in the lower command line this test:

-np- WarnWinText  [GidUtils::CompactNumberList {283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370}]

you will obtain

283:370