Skip to content

Commit

Permalink
Added new tests for stack and mac precision test
Browse files Browse the repository at this point in the history
  • Loading branch information
millerta committed Dec 21, 2023
1 parent 77fd45c commit a488920
Show file tree
Hide file tree
Showing 28 changed files with 11,861 additions and 4 deletions.
4 changes: 0 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,23 +18,19 @@ _deps

# Mesh files
*.gmv
*.inp
*.exo
*.vertexset
*.cellset
*.faceset
*diffout_mac*.txt
*.zone
*.zonn
*.uge
*.gmvF
*.fehmn
*.area
*.stor

# Log files
*stdout_darwin.*txt
*x3dgen
*.lagrit

# Build files
Expand Down
142 changes: 142 additions & 0 deletions test/level01/stack_layers/input.lgi
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
# test stack command
# create and write input sufaces
# create quad surfaces and stack hex

# surface spacing near .25
define / XMAX / 9.5
define / YMAX / 1.
define / NX / 20
define / NY / 5

# surface distances for layers
define ZBOT 0.
define S1 2.
define S2 .8
define S3 1.5

# create template surface

cmo / create / mosurf / / / quad
quadxy/NX NY/0. 0. 0./ XMAX 0. 0./ &
XMAX YMAX 0./0. YMAX 0./ 1 1 1
createpts/brick/xyz/NX,NY,1/1 0 0 / connect
cmo / setatt / mosurf / imt / 1 0 0 / 1
cmo / setatt / mosurf / itetclr / 1 0 0 / 1
resetpts / itp

# Use x coordinates to compute z based on cos()
# z(i)=cos(x(i))
cmo / printatt / mosurf / -xyz- / minmax
math/cos/mosurf/zic/1,0,0/mosurf/xic
cmo / printatt / mosurf / -xyz- / minmax

############################################
# STACK QUAD to HEX
# Create quad surfaces

cmo select mosurf
trans /1,0,0/ 0. 0. 0./ 0. 0. S1
dump / out_surf_quad_low.inp / mosurf
cmo/copy/ mosav / mosurf
cmo/select/mosurf

trans /1,0,0/ 0. 0. 0./ 0. 0. S2
dump / out_surf_quad_high.inp / mosurf

trans /1,0,0/ 0. 0. 0./ 0. 0. S3
dump / out_surf_quad_top.inp / mosurf

cmo/setatt/mosurf/ zic/ ZBOT
dump / out_surf_quad_bot.inp / mosurf

############################################
# stack quads into hex mesh

cmo/create/mo_stack
stack/layers/avs/ &
out_surf_quad_bot.inp 1 &
out_surf_quad_low.inp 2 3 &
out_surf_quad_high.inp 3 1 &
out_surf_quad_top.inp 3 2

* fill stacked quad surfaces with hex elements
stack/fill/mohex / mo_stack
cmo select mohex
resetpts itp

* write information about this mesh object
cmo/printatt/mohex/-xyz- minmax
quality

* check hex volumes
cmo/addatt/mohex/volume hex_vol
cmo/printatt/mohex/hex_vol minmax
eltset/ ebad / hex_vol/le 0.

* write hex mesh
dump out_hex_stack.inp mohex

cmo/delete/mosurf
cmo/delete/mo_stack

############################################
# STACK TRI to PRISM
# convert quad surfaces to tri surfaces

hextotet / 2 / mosurf / mosav
cmo/delete/mosav

cmo/select/mosurf
resetpts/itp
dump / out_surf_tri_low.inp / mosurf

trans /1,0,0/ 0. 0. 0./ 0. 0. S2
dump / out_surf_tri_high.inp / mosurf

trans /1,0,0/ 0. 0. 0./ 0. 0. S3
dump / out_surf_tri_top.inp / mosurf

cmo/setatt/mosurf/ zic/ ZBOT
dump / out_surf_tri_bot.inp / mosurf

############################################
# stack tri into prism mesh

cmo/create/mo_stack
stack/layers/avs/ &
out_surf_tri_bot.inp 1 &
out_surf_tri_low.inp 2 3 &
out_surf_tri_high.inp 3 1 &
out_surf_tri_top.inp 3 2

* fill stacked quad surfaces with hex elements
stack/fill/moprism / mo_stack
cmo select moprism
resetpts itp

* write information about this mesh object
cmo/printatt/moprism/-xyz- minmax
quality

* check hex volumes
cmo/addatt/moprism/volume prism_vol
cmo/printatt/moprism/prism_vol minmax
eltset/ ebad / prism_vol/le 0.

* write prism mesh
dump out_prism_stack.inp moprism

cmo/delete/mosurf
cmo/delete/mo_stack

############################################
# stack done, print information

cmo/status
cmo/printatt/mohex/ -all- minmax
cmo/printatt/moprism/ -all- minmax

finish



142 changes: 142 additions & 0 deletions test/level01/stack_layers/reference/input.lgi
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
# test stack command
# create and write input sufaces
# create quad surfaces and stack hex

# surface spacing near .25
define / XMAX / 9.5
define / YMAX / 1.
define / NX / 20
define / NY / 5

# surface distances for layers
define ZBOT 0.
define S1 2.
define S2 .8
define S3 1.5

# create template surface

cmo / create / mosurf / / / quad
quadxy/NX NY/0. 0. 0./ XMAX 0. 0./ &
XMAX YMAX 0./0. YMAX 0./ 1 1 1
createpts/brick/xyz/NX,NY,1/1 0 0 / connect
cmo / setatt / mosurf / imt / 1 0 0 / 1
cmo / setatt / mosurf / itetclr / 1 0 0 / 1
resetpts / itp

# Use x coordinates to compute z based on cos()
# z(i)=cos(x(i))
cmo / printatt / mosurf / -xyz- / minmax
math/cos/mosurf/zic/1,0,0/mosurf/xic
cmo / printatt / mosurf / -xyz- / minmax

############################################
# STACK QUAD to HEX
# Create quad surfaces

cmo select mosurf
trans /1,0,0/ 0. 0. 0./ 0. 0. S1
dump / out_surf_quad_low.inp / mosurf
cmo/copy/ mosav / mosurf
cmo/select/mosurf

trans /1,0,0/ 0. 0. 0./ 0. 0. S2
dump / out_surf_quad_high.inp / mosurf

trans /1,0,0/ 0. 0. 0./ 0. 0. S3
dump / out_surf_quad_top.inp / mosurf

cmo/setatt/mosurf/ zic/ ZBOT
dump / out_surf_quad_bot.inp / mosurf

############################################
# stack quads into hex mesh

cmo/create/mo_stack
stack/layers/avs/ &
out_surf_quad_bot.inp 1 &
out_surf_quad_low.inp 2 3 &
out_surf_quad_high.inp 3 1 &
out_surf_quad_top.inp 3 2

* fill stacked quad surfaces with hex elements
stack/fill/mohex / mo_stack
cmo select mohex
resetpts itp

* write information about this mesh object
cmo/printatt/mohex/-xyz- minmax
quality

* check hex volumes
cmo/addatt/mohex/volume hex_vol
cmo/printatt/mohex/hex_vol minmax
eltset/ ebad / hex_vol/le 0.

* write hex mesh
dump out_hex_stack.inp mohex

cmo/delete/mosurf
cmo/delete/mo_stack

############################################
# STACK TRI to PRISM
# convert quad surfaces to tri surfaces

hextotet / 2 / mosurf / mosav
cmo/delete/mosav

cmo/select/mosurf
resetpts/itp
dump / out_surf_tri_low.inp / mosurf

trans /1,0,0/ 0. 0. 0./ 0. 0. S2
dump / out_surf_tri_high.inp / mosurf

trans /1,0,0/ 0. 0. 0./ 0. 0. S3
dump / out_surf_tri_top.inp / mosurf

cmo/setatt/mosurf/ zic/ ZBOT
dump / out_surf_tri_bot.inp / mosurf

############################################
# stack tri into prism mesh

cmo/create/mo_stack
stack/layers/avs/ &
out_surf_tri_bot.inp 1 &
out_surf_tri_low.inp 2 3 &
out_surf_tri_high.inp 3 1 &
out_surf_tri_top.inp 3 2

* fill stacked quad surfaces with hex elements
stack/fill/moprism / mo_stack
cmo select moprism
resetpts itp

* write information about this mesh object
cmo/printatt/moprism/-xyz- minmax
quality

* check hex volumes
cmo/addatt/moprism/volume prism_vol
cmo/printatt/moprism/prism_vol minmax
eltset/ ebad / prism_vol/le 0.

* write prism mesh
dump out_prism_stack.inp moprism

cmo/delete/mosurf
cmo/delete/mo_stack

############################################
# stack done, print information

cmo/status
cmo/printatt/mohex/ -all- minmax
cmo/printatt/moprism/ -all- minmax

finish



71 changes: 71 additions & 0 deletions test/level01/stack_layers/reference/logx3dgen
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
define/XMAX/9.5
define/YMAX/1.
define/NX/20
define/NY/5
define ZBOT 0.
define S1 2.
define S2 .8
define S3 1.5
cmo/create/mosurf///quad
quadxy/NX NY/0. 0. 0./XMAX 0. 0./XMAX YMAX 0./0. YMAX 0./1 1 1
createpts/brick/xyz/NX,NY,1/1 0 0/connect
cmo/setatt/mosurf/imt/1 0 0/1
cmo/setatt/mosurf/itetclr/1 0 0/1
resetpts/itp
cmo/printatt/mosurf/-xyz-/minmax
math/cos/mosurf/zic/1,0,0/mosurf/xic
cmo/printatt/mosurf/-xyz-/minmax
cmo select mosurf
trans/1,0,0/0. 0. 0./0. 0. S1
dump/out_surf_quad_low.inp/mosurf
cmo/copy/mosav/mosurf
cmo/select/mosurf
trans/1,0,0/0. 0. 0./0. 0. S2
dump/out_surf_quad_high.inp/mosurf
trans/1,0,0/0. 0. 0./0. 0. S3
dump/out_surf_quad_top.inp/mosurf
cmo/setatt/mosurf/zic/ZBOT
dump/out_surf_quad_bot.inp/mosurf
cmo/create/mo_stack
stack/layers/avs/out_surf_quad_bot.inp 1 out_surf_quad_low.inp 2 3 out_surf_quad
_high.inp 3 1 out_surf_quad_top.inp 3 2
stack/fill/mohex/mo_stack
cmo select mohex
resetpts itp
cmo/printatt/mohex/-xyz- minmax
quality
cmo/addatt/mohex/volume hex_vol
cmo/printatt/mohex/hex_vol minmax
eltset/ebad/hex_vol/le 0.
dump out_hex_stack.inp mohex
cmo/delete/mosurf
cmo/delete/mo_stack
hextotet/2/mosurf/mosav
cmo/delete/mosav
cmo/select/mosurf
resetpts/itp
dump/out_surf_tri_low.inp/mosurf
trans/1,0,0/0. 0. 0./0. 0. S2
dump/out_surf_tri_high.inp/mosurf
trans/1,0,0/0. 0. 0./0. 0. S3
dump/out_surf_tri_top.inp/mosurf
cmo/setatt/mosurf/zic/ZBOT
dump/out_surf_tri_bot.inp/mosurf
cmo/create/mo_stack
stack/layers/avs/out_surf_tri_bot.inp 1 out_surf_tri_low.inp 2 3 out_surf_tri_hi
gh.inp 3 1 out_surf_tri_top.inp 3 2
stack/fill/moprism/mo_stack
cmo select moprism
resetpts itp
cmo/printatt/moprism/-xyz- minmax
quality
cmo/addatt/moprism/volume prism_vol
cmo/printatt/moprism/prism_vol minmax
eltset/ebad/prism_vol/le 0.
dump out_prism_stack.inp moprism
cmo/delete/mosurf
cmo/delete/mo_stack
cmo/status
cmo/printatt/mohex/-all- minmax
cmo/printatt/moprism/-all- minmax
finish
Loading

0 comments on commit a488920

Please sign in to comment.