autotwin / mesh

Mesh data types
MIT License
1 stars 2 forks source link

Define nodesets on surfaces of all-hex meshes created from STL isosurfaces #24

Closed hovey closed 2 years ago

hovey commented 2 years ago

CC to @elejeune11 @calehma @carlsenrw @tripaanu @wangyrmu and @hovey FYI:

This is a toy problem to demonstrate, with a small number of elements, the question I have.

In Cubit, I use two STL files (sphere_radius_5.stl and sphere_radius_10.stl).
Then, from the Sculpt Command Panel, with default settings then with cell size overwritten to 1.0, I mesh the two stl domains, and get two blocks, as expected.

Finally, I want to define nodesets at the outer radius (the outermost radius of the outer block) and the inner radius (the interface between the two blocks).
Let’s start with the inner-to-outer sphere interface:

I try to define nodesets via “create new nodeset” with Surface 1 selected (the interface between the two spheres). Result: The node set shows Node Count of 0, which is not expected. Expected: a list of the nodes that are present on the interface between the two spheres.

Question(s):

  1. Is it possible to recover the surfaces from the Sculpted mesh?

My analysis so far has indicated:

step01 step04
hovey commented 2 years ago

Cubit support conveyed:

Sculpt can generate sidesets with the gen_sideset option.

Ckeck out Section 9. BOUNDARY CONDITIONS of the Sculpt documentation.

If you want nodeset you can easily generate nodesets from sidesets

import stl "supplied_files/sphere_radius_5.stl" feature_angle 135 merge
import stl "supplied_files/sphere_radius_10.stl" feature_angle 135 merge
sculpt volume all gen_sidesets 2
export mesh "mesh.g" overwrite
reset
import mesh "mesh.g" no_geom
nodeset 1 add  node in face in sideset 1
hovey commented 2 years ago

Completed on check in 1bb036a5ee8ae71bb9085e7ff307bdf4740abffa