15.9 Periodic Space Filling Models (Tile)
This appendix describes commands for producing good-quality meshes of models that tile space, such as polycrystalline materials models. Such models are often referred to as "periodic", but since that term already has a different meaning in Cubit, the keyword "tile" is used instead. Meshes may be smoothed across periodic boundaries. Periodic boundary conditions can be automatically set up, according to ALEGRA conventions (SAND99-2698).
Tile commands are alpha features and should be used with caution.
15.9.1 Initial setup
Tile {x <period> | y <period> | z <period>}
[x <period>] [y <period>] [z <period>]
Tile x 1
Tile y 1
Tile z 1
You can see which nodes are matched to a given node by some combination of tile vectors with the following command: Tile Debug Node <id>
Tile Off
15.9.2 Creating Nodesets
Tile Nodeset <start_id>
Tile Off
15.9.3 Smoothing
Smooth Volume <volume_id_range> [Global [Float <dim>] ]
15.9.4 Example
# make the geometry
#{brick_size=500}
brick wid {brick_size}
brick wid {brick_size}
body 2 move {brick_size} 0 0
brick wid {brick_size}
body 3 move {brick_size} {brick_size} 0
brick wid {brick_size}
body 4 move 0 {brick_size} 0
brick wid {brick_size}
body 5 move 0 0 {brick_size}
brick wid {brick_size}
body 6 move {brick_size} 0 {brick_size}
brick wid {brick_size}
body 7 move {brick_size} {brick_size} {brick_size}
brick wid {brick_size}
body 8 move 0 {brick_size} {brick_size}
merge all
# mesh it
vol all int 3
mesh vol all
# set the tiling vectors
tile x {brick_size*2}
tile y {brick_size*2}
tile z {brick_size*2}
tile debug node 256
tile debug node 245
# set the tiling nodesets
tile nodeset
# mess up the mesh quality
# volume all smooth scheme randomize
# smooth volume all
surface all smooth scheme randomize
smooth surface all
draw hex all
# fix the mesh quality
node in volume all position fixed
node in surface all position free
volume all smooth scheme laplac
# volume all smooth scheme untangle beta 0.08
smooth volume all global float 3
draw hex all