* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 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