408 lines
30 KiB
Plaintext
408 lines
30 KiB
Plaintext
|
|
|
|
* * * * * * * * * * * * * * * * * * * * * * * * *
|
|
* * *
|
|
* * Program: LaGriT V3.330 Linux *
|
|
* * date_compile: 2021/10/15 test *
|
|
* * Run Time: 2021/Nov 9 15:30:20 *
|
|
* * Manual: http://lagrit.lanl.gov *
|
|
* * *
|
|
* * * * * * * * * * * * * * * * * * * * * * * * *
|
|
|
|
-----oOo-----
|
|
LaGriT V3 LA-CC-15-069 https://github.com/lanl/LaGriT
|
|
Copyright 2016. Triad National Security, LLC. All rights reserved. This
|
|
program was produced under U.S. Government contract 89233218CNA000001
|
|
for Los Alamos National Laboratory (LANL), which is operated by Triad
|
|
National Security, LLC for the U.S. Department of Energy/National Nuclear
|
|
Security Administration. All rights in the program are reserved by Triad
|
|
National Security, LLC, and the U.S. Department of Energy/National Nuclear
|
|
Security Administration. The Government is granted for itself and others
|
|
acting on its behalf a nonexclusive, paid-up, irrevocable worldwide license
|
|
in this material to reproduce, prepare derivative works, distribute copies
|
|
to the public, perform publicly and display publicly, and to permit others to
|
|
do so. This software is open source and available under the BSD-3 License.
|
|
-----oOo-----
|
|
|
|
|
|
Output log file: outx3dgen
|
|
Command log file: logx3dgen
|
|
|
|
# Test sort
|
|
#
|
|
# Input files:
|
|
# input_test01.inp Original line graph with various kinds of components
|
|
# input_test02.inp Shuffled version of original file
|
|
# input_test03.inp Hybrid mesh containing line segments and a triangle
|
|
# input_test04.inp Trivial mesh with 2 points and no elements
|
|
#
|
|
# Output files:
|
|
#
|
|
# output*nosort.inp pre-sorted output files
|
|
# output*sort.inp sorted output files
|
|
#
|
|
# See reference for visual reference
|
|
#
|
|
##########################################
|
|
# SORT POINTS using INDEX
|
|
cmo/create/moquad///quad
|
|
createpts/xyz/3 3 1/0. 0. 0./1. 1. 0./1 1 1
|
|
RZ GENERATED POINTS 1 TO 9
|
|
# SHOW INPUT node x and y
|
|
cmo/printatt/moquad/xic
|
|
Warning: nelements = 0
|
|
Attribute: xic
|
|
1 0.00000E+00
|
|
2 5.00000E-01
|
|
3 1.00000E+00
|
|
4 0.00000E+00
|
|
5 5.00000E-01
|
|
6 1.00000E+00
|
|
7 0.00000E+00
|
|
8 5.00000E-01
|
|
9 1.00000E+00
|
|
|
|
cmo/printatt/moquad/yic
|
|
Warning: nelements = 0
|
|
Attribute: yic
|
|
1 0.00000E+00
|
|
2 0.00000E+00
|
|
3 0.00000E+00
|
|
4 5.00000E-01
|
|
5 5.00000E-01
|
|
6 5.00000E-01
|
|
7 1.00000E+00
|
|
8 1.00000E+00
|
|
9 1.00000E+00
|
|
|
|
dump avs output_points_nosort.inp moquad
|
|
cmo/modatt/-def-/-def-/ioflag/x
|
|
finish
|
|
sort/moquad/index/ascending/ikey/xic yic
|
|
cmo/addatt/moquad/ikey/vint/scalar/nnodes///gax/0
|
|
finish
|
|
SORT: order key written to attribute: ikey
|
|
|
|
reorder/moquad/ikey
|
|
# SHOW SORTED node x and y
|
|
cmo/printatt/moquad/xic
|
|
Warning: nelements = 0
|
|
Attribute: xic
|
|
1 0.00000E+00
|
|
2 0.00000E+00
|
|
3 0.00000E+00
|
|
4 5.00000E-01
|
|
5 5.00000E-01
|
|
6 5.00000E-01
|
|
7 1.00000E+00
|
|
8 1.00000E+00
|
|
9 1.00000E+00
|
|
|
|
cmo/printatt/moquad/yic
|
|
Warning: nelements = 0
|
|
Attribute: yic
|
|
1 0.00000E+00
|
|
2 5.00000E-01
|
|
3 1.00000E+00
|
|
4 0.00000E+00
|
|
5 5.00000E-01
|
|
6 1.00000E+00
|
|
7 0.00000E+00
|
|
8 5.00000E-01
|
|
9 1.00000E+00
|
|
|
|
dump avs output_points_sort.inp moquad
|
|
cmo/modatt/-def-/-def-/ioflag/x
|
|
finish
|
|
cmo delete moquad
|
|
Released Mesh Object: moquad
|
|
cmo/create/moquad///quad
|
|
createpts/xyz/4 4 1/0. 0. 0./1. 1. 0./1 1 1
|
|
RZ GENERATED POINTS 1 TO 16
|
|
rzbrick/xyz/4,4,1/1,0,0/connect
|
|
Number of nodes: 16
|
|
Number of elements: 9
|
|
Number of negative volume elements: 0
|
|
Total volume: 0.100000000000E+01
|
|
cmo/set_id/moquad/element cell_id
|
|
cmo/addatt/moquad cell_id/VINT/scalar/nelements/linear/permanent//0
|
|
finish
|
|
# SHOW INPUT cell numbers
|
|
cmo/printatt/moquad/cell_id
|
|
Attribute: cell_id
|
|
1 1
|
|
2 2
|
|
3 3
|
|
4 4
|
|
5 5
|
|
6 6
|
|
7 7
|
|
8 8
|
|
9 9
|
|
|
|
dump avs output_quad_nosort.inp moquad
|
|
cmo/modatt/-def-/-def-/ioflag/x
|
|
finish
|
|
# SORT CELLS using INDEX
|
|
sort/moquad/index/descending/ikey/cell_id
|
|
cmo/addatt/moquad/ikey/vint/scalar/nelements///gax/0
|
|
finish
|
|
SORT: order key written to attribute: ikey
|
|
|
|
reorder/moquad/ikey
|
|
geniee
|
|
finish
|
|
# SHOW SORTED cell numbers reversed
|
|
cmo/printatt/moquad/cell_id
|
|
Attribute: cell_id
|
|
1 9
|
|
2 8
|
|
3 7
|
|
4 6
|
|
5 5
|
|
6 4
|
|
7 3
|
|
8 2
|
|
9 1
|
|
|
|
dump avs output_quad_sort.inp moquad
|
|
cmo/modatt/-def-/-def-/ioflag/x
|
|
finish
|
|
cmo/delete/moquad
|
|
Released Mesh Object: moquad
|
|
###### POLY SORT with LINE_GRAPH #############
|
|
# simply poly line sort for simple case with elem and nodes
|
|
read avs input_poly_no_sort.inp mol_poly
|
|
cmo/addatt/mol_poly/idnode0/VINT/scalar/nnodes/linear/permanent/gxaf/0.0
|
|
finish
|
|
cmo/addatt/mol_poly/idN_old/VINT/scalar/nnodes/linear/permanent/gxaf/0.0
|
|
finish
|
|
cmo/addatt/mol_poly/idE_old/VINT/scalar/nelements/linear/permanent/gxaf/0.0
|
|
finish
|
|
geniee
|
|
finish
|
|
cmo/status/brief
|
|
|
|
The current-mesh-object(CMO) is: mol_poly
|
|
|
|
1 Mesh Object name: mol_poly
|
|
number of nodes = 10 number of elements = 10
|
|
dimensions geometry = 3 element type = lin
|
|
dimensions topology = 1 2 nodes 2 faces 1 edges
|
|
boundary flag = 16000000 status = active
|
|
|
|
|
|
finish
|
|
cmo status mol_poly
|
|
|
|
The current-mesh-object(CMO) is: mol_poly
|
|
|
|
1 Mesh Object name: mol_poly
|
|
number of nodes = 10 number of elements = 10
|
|
dimensions geometry = 3 element type = lin
|
|
dimensions topology = 1 2 nodes 2 faces 1 edges
|
|
boundary flag = 16000000 status = active
|
|
|
|
NAME TYPE RANK LENGTH INTER PERSI IO VALUE
|
|
|
|
1 -def- VDOU scalar nnodes linea tempo agl 0.000E+00
|
|
2 scalar INT scalar scalar const perma l 1.000E+00
|
|
3 vector INT scalar scalar const perma l 3.000E+00
|
|
4 nnodes INT scalar scalar const perma l 1.000E+01
|
|
5 nedges INT scalar scalar const perma l 0.000E+00
|
|
6 nfaces INT scalar scalar const perma l 0.000E+00
|
|
7 nelements INT scalar scalar const perma l 1.000E+01
|
|
8 mbndry INT scalar scalar const perma l 1.600E+07
|
|
9 ndimensions_top INT scalar scalar const perma l 1.000E+00
|
|
10 ndimensions_geo INT scalar scalar const perma l 3.000E+00
|
|
11 nodes_per_eleme INT scalar scalar const perma l 2.000E+00
|
|
12 edges_per_eleme INT scalar scalar const perma l 1.000E+00
|
|
13 faces_per_eleme INT scalar scalar const perma l 2.000E+00
|
|
14 isetwd VDOU scalar nnodes or perma l 0.000E+00
|
|
15 ialias VINT scalar nnodes seque perma l 0.000E+00
|
|
16 imt1 VINT scalar nnodes max perma gal 0.000E+00
|
|
17 itp1 VINT scalar nnodes min perma gal 0.000E+00
|
|
18 icr1 VINT scalar nnodes min perma gal 0.000E+00
|
|
19 isn1 VINT scalar nnodes user perma gal 0.000E+00
|
|
20 xic VDOU scalar nnodes linea perma l 0.000E+00
|
|
21 yic VDOU scalar nnodes linea perma l 0.000E+00
|
|
22 zic VDOU scalar nnodes linea perma l 0.000E+00
|
|
23 xtetwd VDOU scalar nelements or perma l 0.000E+00
|
|
24 itetclr VINT scalar nelements user perma l 0.000E+00
|
|
25 itettyp VINT scalar nelements user perma l 0.000E+00
|
|
26 itetoff VINT scalar nelements user perma l 0.000E+00
|
|
27 jtetoff VINT scalar nelements user perma l 0.000E+00
|
|
28 itet VINT nodes_per_ nelements user perma l 0.000E+00
|
|
29 jtet VINT faces_per_ nelements user perma l 0.000E+00
|
|
30 ipolydat CHAR scalar scalar const perma l no
|
|
31 vor2d CHAR scalar scalar const perma l yes
|
|
32 vor3d CHAR scalar scalar const perma l no
|
|
33 epsilon REAL scalar scalar const perma l 1.000E-15
|
|
34 epsilonl REAL scalar scalar const perma l 1.196E-12
|
|
35 epsilona REAL scalar scalar const perma l 6.439E-12
|
|
36 epsilonv REAL scalar scalar const perma l 6.439E-12
|
|
37 ipointi INT scalar scalar const perma l 1.000E+00
|
|
38 ipointj INT scalar scalar const perma l 1.000E+01
|
|
39 idebug INT scalar scalar const perma l 0.000E+00
|
|
40 itypconv_sm INT scalar scalar const perma l 1.000E+00
|
|
41 maxiter_sm INT scalar scalar const perma l 2.500E+01
|
|
42 tolconv_sm REAL scalar scalar const perma l 1.000E+00
|
|
43 nnfreq INT scalar scalar const perma l 1.000E+00
|
|
44 ivoronoi INT scalar scalar const perma l 1.000E+00
|
|
45 iopt2to2 INT scalar scalar const perma l 2.000E+00
|
|
46 dumptype CHAR scalar scalar const perma l binary
|
|
47 velname CHAR scalar scalar const perma l vels
|
|
48 densname CHAR scalar scalar const perma l ric
|
|
49 presname CHAR scalar scalar const perma l pic
|
|
50 enername CHAR scalar scalar const perma l eic
|
|
51 xmin REAL scalar scalar const perma l 0.000E+00
|
|
52 ymin REAL scalar scalar const perma l 0.000E+00
|
|
53 zmin REAL scalar scalar const perma l 0.000E+00
|
|
54 xmax REAL scalar scalar const perma l 5.000E+00
|
|
55 ymax REAL scalar scalar const perma l 2.000E+00
|
|
56 zmax REAL scalar scalar const perma l 0.000E+00
|
|
57 kdtree_level INT scalar scalar const perma l 0.000E+00
|
|
58 max_number_sets INT scalar scalar const perma l 6.400E+01
|
|
59 number_of_psets INT scalar scalar const perma l 0.000E+00
|
|
60 number_of_eltse INT scalar scalar const perma l 0.000E+00
|
|
61 psetnames VCHA scalar max_number_sets const perma l
|
|
62 eltsetnames VCHA scalar max_number_sets const perma l
|
|
63 geom_name CHAR scalar max_number_sets const perma l -defaultge
|
|
64 fsetnames VCHA scalar max_number_sets const perma l
|
|
65 number_of_fsets INT scalar scalar const perma l 0.000E+00
|
|
66 idnode0 VINT scalar nnodes linea perma gxa 0.000E+00
|
|
67 idN_old VINT scalar nnodes linea perma gxa 0.000E+00
|
|
68 idE_old VINT scalar nelements linea perma gxa 0.000E+00
|
|
cmo copy mol_poly2 mol_poly
|
|
# SORT ELEMENT with LINE_GRAPH ##############
|
|
cmo select mol_poly
|
|
sort/mol_poly/line_graph/ascending/ekey/element
|
|
cmo/addatt/mol_poly/ekey/vint/scalar/nelements///gax/0
|
|
finish
|
|
cmo/DELATT/mol_poly/cid
|
|
DELATT no action, attribute does not exist: cid
|
|
finish
|
|
cmo/addatt/mol_poly/cid/VINT/scalar/nelements/linear/temporary
|
|
finish
|
|
cmo/DELATT/mol_poly/ctype
|
|
DELATT no action, attribute does not exist: ctype
|
|
finish
|
|
cmo/addatt/mol_poly/ctype/VINT/scalar/nelements/linear/temporary
|
|
finish
|
|
cmo/DELATT/mol_poly/loopid
|
|
DELATT no action, attribute does not exist: loopid
|
|
finish
|
|
cmo/addatt/mol_poly/loopid/VINT/scalar/nelements/linear/temporary
|
|
finish
|
|
SORT: order key written to attribute: ekey
|
|
|
|
cmo printatt mol_poly ekey
|
|
Attribute: ekey
|
|
1 1
|
|
2 3
|
|
3 4
|
|
4 6
|
|
5 9
|
|
6 10
|
|
7 7
|
|
8 8
|
|
9 5
|
|
10 2
|
|
|
|
reorder mol_poly ekey
|
|
geniee
|
|
finish
|
|
dump avs output_poly_e_sort.inp mol_poly
|
|
cmo/modatt/-def-/-def-/ioflag/x
|
|
finish
|
|
# SORT NODE with LINE_GRAPH ################
|
|
cmo select mol_poly2
|
|
sort/mol_poly2/line_graph/ascending/nkey/node
|
|
cmo/addatt/mol_poly2/nkey/vint/scalar/nnodes///gax/0
|
|
finish
|
|
SORT: order key written to attribute: nkey
|
|
|
|
cmo printatt mol_poly2 nkey
|
|
Attribute: nkey
|
|
1 1
|
|
2 2
|
|
3 4
|
|
4 5
|
|
5 7
|
|
6 10
|
|
7 8
|
|
8 9
|
|
9 6
|
|
10 3
|
|
|
|
reorder mol_poly2 nkey
|
|
dump avs output_poly_n_sort.inp mol_poly
|
|
cmo/modatt/-def-/-def-/ioflag/x
|
|
finish
|
|
cmo delete mol_poly
|
|
Released Mesh Object: mol_poly
|
|
cmo delete mol_poly2
|
|
Released Mesh Object: mol_poly2
|
|
# The following checks for graceful failures. #
|
|
########### ERROR CAPTURE FOR NO MESH OBJECT ########
|
|
# This should stop gracefully with an error (no mesh object).
|
|
sort//line_graph/ascending/key
|
|
ERROR SORT: found bad mesh object: -def-
|
|
###########
|
|
read/input_test01.inp/mo01
|
|
read/avs/input_test01.inp/mo01
|
|
geniee
|
|
geniee: mesh has 6 jtet loops, max cycle length=
|
|
4
|
|
finish
|
|
cmo/status/brief
|
|
|
|
The current-mesh-object(CMO) is: mo01
|
|
|
|
1 Mesh Object name: mo01
|
|
number of nodes = 33 number of elements = 33
|
|
dimensions geometry = 3 element type = lin
|
|
dimensions topology = 1 2 nodes 2 faces 1 edges
|
|
boundary flag = 16000000 status = active
|
|
|
|
|
|
finish
|
|
finish
|
|
########### ERROR CAPTURE ARG 4 #################
|
|
# Error (must be "ascending" or "descending")
|
|
sort/mo01/line_graph/wrong/key
|
|
ERROR SORT: invalid option 4: wrong
|
|
SORT: option should be ascending or descending
|
|
|
|
########### ERROR CAPTURE ARG 6 ###############
|
|
# Error (invalid argument)
|
|
sort/mo01/line_graph/ascending/key/extra_arg
|
|
Invalid option: line_graph must be "nodes" or "elements"
|
|
########### DEFAULT CREATE INTERNAL KEY #######
|
|
# Should generate a key since one is not provided.
|
|
# but not recommended since reorder will need att name
|
|
sort/mo01/line_graph/ascending
|
|
SORT: using default name for sort key: lg_key_line_graph
|
|
Default line_graph option: using "elements"
|
|
cmo/addatt/mo01/lg_key_line_graph/vint/scalar/nelements///gax/0
|
|
finish
|
|
cmo/DELATT/mo01/cid
|
|
DELATT no action, attribute does not exist: cid
|
|
finish
|
|
cmo/addatt/mo01/cid/VINT/scalar/nelements/linear/temporary
|
|
finish
|
|
cmo/DELATT/mo01/ctype
|
|
DELATT no action, attribute does not exist: ctype
|
|
finish
|
|
cmo/addatt/mo01/ctype/VINT/scalar/nelements/linear/temporary
|
|
finish
|
|
cmo/DELATT/mo01/loopid
|
|
DELATT no action, attribute does not exist: loopid
|
|
finish
|
|
cmo/addatt/mo01/loopid/VINT/scalar/nelements/linear/temporary
|
|
finish
|
|
SORT: order key written to attribute: lg_key_line_graph
|
|
|
|
finish
|
|
LaGriT successfully completed
|