LaGriT V1.0.1 - V1.0.2 Release Notes 1999 - 2000

This text is converted from old pdf files and may have translation errors. See original pdf for clarification.

LaGriT V1.0.2 January 2000 PDF Version

LaGriT V1.0.1 November 1999 PDF Version

New Commands

intersect_element

intersect two mesh objects and create an element based attribute (xsect_cm) that holds the number of times the sink element was intersected by a source element

intersect_elements/sink_mo/source_mo/[attribute_name]

lower_d

extract lower dimensional meshes from the current mesh object, create data structure for the lower dimension objects that parallel the top d default structure: [d1_nnodes, d1_e|ements, d1_itet, d1_jtet, di_itetoff, d1_jtetoff, d1_itetc|r, d1_itettyp] [d2_nnodes, ….. ]

rzv

distribute nodes as linear combinations of 3 supplied vectors. rzvlgeom/n1,n2,n3/v11,v12,v13/v21,v22,v23/v31,v32,v33 geom can be xyz, rtp or rtz. n1,n2,n3 specify the max number applied to each vector. The v‘s are the 3 basis vectors.

rzamr

use octree refinement to a specified level on a existing hex mesh to distribute nodes within a region- intended a a node distribution algorithm only - no hex information is preserved.

rzamr/region_name/number_of_levels

createpts

wrapper for all the ‘rz‘ type commands:

createpts/xyz|rtz|rtp|/n1,n2,n3/x1,y1,z1/x2,y2,22/[ix,iy,iz/]/ [irx,iry,irz/rx,ry,rz]

createpts/sphere/1|2|8|diamond /nr,npt,xirad,xorad /xcen,ycen,zcen/iz/irat,rz/

createpts/brick/xyz|rtz|rtplni,nj,nk/xmin,ymin,zmin/ xmax,ymax,zmax/iiz,ijz,ikz/[iirat,ijrat,ikrat/xrz,yrz,zrz/isym,jsym,ksym

createpts/brick/xyz|rtz|rtp/ni,nj,nk/pstatus,get,name/connect/

createpts/amr/region_name/number_of_levels

createpts/random/ xyz|rtz|rtp /spacing/x1,y1,z1/x2,y2,z2/ [xcen.ycen,zcen/ edgedist/ ranseed1,ranseed2]

createpts/vector/ xyz|rtz|rtp/n1,n2,n3 /V11,V12,V13/V21,V22,V23/V31,V32,V33

Command Enhancements

read/gmvfreeformat

read in an ascii gmv file that is to be read with read (unit,*) statements.

boundary

add option to establish or to reset icr, icontab relationship for a set of surfaces. This is normally done by the setpts command, but if surfaces are defined after setpts, the surface command will cause an entry in the icontab table for the nodes on the surface, but no entry will exist for intersections of surfaces.

boundary/dirichlet/icr//surface list

e.g. boundary/diriclet/icr//top left front will identify the nodes
on the intersection of the surfaces top left and front, and will set
the icr value of these nodes to point into the correct icontab entry.

quality

add pcc option which will identify negative coupling coefficients and create an element based attribute to store the value (1 means okay, anything less than 1 is a negative coupling)

quality/pcc

boundary_components

boundary_components Now prints out number of connected boundary components and a representative vertex from each component.

rmpoint/sparse

For expert users only. Requires reconnection when done.

Bug fixes

06/10/99 pntlimc fix missing argument in call to writloga - return empty set if error

06/13/99 refine_face_add, cer_chain,cel_chain fix incorrect icr and itp values assigned using refine/addpts to triangular 2d mesh

16/16/99 copypts remove extra comma from write statement

06/1 7/ 99 readavs read pyramid data correctly

06/23/99 control_connnaud_lg fix errors in nesting of infiles and in invoking infile from dotask

16/25/99 get_elements_on_edge update len,len1 1f need to increment memory

17/02/99 readgmv_ascii check for end of file – skip blank lines

07/07/99 regupts this is really a compiler bug - change indirect indexing so optimizer does not generate bad code

17/13/99 control_command_lg skip comments When entered as interactive or as dotasks

07/23/99 refine_face_add make arguments in call match those in subroutine statement

07/23/99 readavs declare pointers — use pointer_arrays.h for integer8/integer4 distinction

08/ 04/99 initlagrit initialize pi

18/05/99 cmo_readdump_cmo allow for zero length attributes

08/05/99 read_lagritgeom fix memory problem

08/10/99 multiimaterial calculate length of matlst correctly

18/11/99 refine_interface_elements_lg use nnodes for length of iseedtet

08/11/99 regnpts use max not min for length of name comparisons

08/1 8/99 readdump use ierror_return

08/27/99 rmpoint get correct values in isetwd

18/30/99 multi_material2d_lg refresh pointers

08/3 0/99 multi_magterial refresh pointers

08/31/99 control_command_lg check for an empty loop

18/31/99 matbld3d_stor, anothermatbld3d_wrapper unformatted IO bugs

18/31/99 writedump restore dump_recolor command

09/01/99 connect2d_lg remove references to if4

09/01/99 initlagrit remove test on uninitialized variable

19/(11/99 read_lagrit_geom use lengths with concatenation operator

09/01/99 refine_face_add initialize isnl for all new nodes

09/01/99 surfset change dotaskgen to dotask

09/01/99 make bigtri get mbndry from mesh object

19/02/99 pset fix test on mregion names

09/03/99 surface restore tabular surface implementation

09/07/99 recon2 allow for nodes on external boundaries with no icr values

19/17/99 cer_chain fix typo (mpary should have been mpary1) effecting pset type refinements

10/03/99 intradd use nefcmo which is required for hybrid grids

10/14/99 region, mregion Check for size of stbout array

10/19/99 rzbrick3 check value of nwds before setting isym, jsym and ksym.

12/13/99 rzbrick3 check nwds before setting end point and ratio flags

Code Improvements

boundary new option (see above)

filter cleaned—up and added comments

pset use Information from call

get_materials_on_edge_lg returns materials around edge

cmo_dump_cmo skip cmo attributes with ‘L’ in ioflag field when writing lagrit dump files.

matbld0tri, matbld3d assigned idebug, reduced screen output, removed print *

read_trilayers postproccss by column option, preserve buffers, create buffers at interfaces, read gmv or avs

temptam new subroutine beads_ona_ring to distribute vertically for read_trilayers

rand_lg new random number routine (fancy)

ran2_lg renamed random number routine (simple)

temp,edit clean up unused code

neighbor_recolor improved algorithm

cmo_interpolate accept ‘constant’ as interpolation type - implement linear,log, asinh for integer attributes

recon2 test for existence of icontab

readgmv_binary allow line type elements to be read

connect release imt1 when no longer needed

cmo_modatt_cmo look for special name icr,imt,itp, isn and change icr1,imt1,itp1,isn1

zq get rid unused options

rz change i6 formats to i10

cel_chain check for infinite isnl chain loops

dumpavs check if no nodes, elements then return without crashing

delaunay replace expensive inner loop with more efficient code

connect settets, check if mbndry is big enough

checkmbndry

inv3x3, inv2x2, inv_schmidt_hilbert_lg.f better solution to MX=Y for 3X3 and 2X3 cases

volume_qud.f contains 2 algorithms for calculating volume of a quad

volume_element.f call volume_qud(elcment) for old method using centroid, call volume_qud(element)_alt_lg for method equalizing 4 contributing triangle areas

12/03/99 lower_d_lg, cmo_copyatt_mpno_lg copy all user attributes from one mesh object to another — used by lower_d routines

12/13/99 pset a11ow either compare/value or va1ue/compare in syntax of command.

12/14/99 readdump, readgmv_ascii new option read/gmvfreeformat uses read(unit,*) statements.

Code Changes

refine refine..edge for 2d now works like refine..face (in 2d edges are facets and nodes are edges - but people don’t think that way hence the change)

rz initiahze itp,imt,icr to zero for new nodes

blockcom, local_element.h set up relationships for edges to faces for all element types

readgmv ascii call geniee at end —— skip blank lines, test for eof’ readgmvibinary call geniee at end

popcones_lg,massage issue rmpoint/compress from within loop (needed for big problems)

lineline, xsectelementscmo, calc_rdist, lineseglineseg, xsectelm, insideielement, linesegtri, kdtreeselect, tritri new subroutines

dump_material_list replace * formats to speed up code

hpsortip, hpsorti, matbldl replace all calls to ssort with calls to appropriate hpsort routine

agd3d don’t print ‘curve neighbor’ warning to standard out.

popcomponents new topo change routine

rmppoint zero out imt,itp,isn,icr for removed nodes in rmpoint/compress option

cmo_interpolate handle ‘and‘ and isetwd as special case

delaunay, refine_edge_add, findface, matbld0tri, matbld2d_stor replace calls to ssort with hpsort

agd, sgd use inscribed radius not aspect ratio

mergepts_simplex use epsilonv not epsilonl for volume tests