This covers work from 2008 to 2010 and includes V2.2 major release before changing all code to support 64 bit. Version notes start at latest first, older versions at end of this page.
* * Program: LaGriT V2.200 Linux m32 *
* * date_compile: 2010/11/22 *
interpolate Changed interpolate to “find” more points on edges this will permit nodes to find a nearest edge or point and be “inside” the triangle for extreme small or large numbers where epsilon values are difficult to evaluate correctly. Note, this changed test results for interpolate, test/level01 results were updated for these improvements.
extract/surfmesh Now creates attributes to hold element local face numbers of 3D input mesh that occur on either side of output mesh face, idface0 and idface1. Now copies user-created node-based attributes from source.
dump/fehm dump/zone_outside Changed FEHM outside area to Voronoi instead of Median FEHM file file_name_outside.area changed to file_name_outside_vor.area For dump/zone, added keywords keepatt_area or keepatt_voronoi which will compute and keep voronoi vector areas xn_varea, yn_varea, zn_varea and keepatt_median will compute area/num nodes on face and keep attributes xn_area, yn_area, zn_area The written file file_name_outside_vor.area or file_name_outside_med.area is a list of 2D area vectors (Ax_i,Ay_i,Az_i) associated with each node.
cmo/addatt/voronoi_varea will do the same voronoi calculation on triangles as is done with the outside area for FEHM modeling files. The call will create node attributes xn_varea, yn_varea, zn_varea indicating face directions.
dump/ filename 2 token dump for common files added to writedump.f
addmesh/ excavate remove nodes and elements if they fall with the circumsphere of triangles on the input mesh.
intrp_gtg.f A bug was fixed in interpolation that would sometimes save a node id in pt_gtg or el_gtg attributes that was not related to the found candidate and value. This could occur where there are multiple candidates for the source and if epsilon values are reaching near machine limits. The test in level01/intrp_2D_sizes was changed to capture and evaluate these issues.
epsilon errors in intrp_gtg.f, inside_lg.f There are changes to interpolate using tests for finding points that are inside or on edges or vertices of an element. The epsilon tests have been relaxed to allow points that are “near” to be found on edge - if within the chosen epsilon. The interpolation has been changed to evaluate candidate points based on the confidence of being inside the associated triangle. A result indicating the point is inside will “win” over a candidate result that is on edge or vertice. If idebug attribute is set to a number of 5 or greater, there will be many more statements written that are related to the inside triangle and epsilon tests.
This version contains the work done over the summer by Aaron Gable. Better handling of errors and segmentation faults were added to various pieces of the code having to do with actions involving more than one mesh object and their user defined attributes.
memory New options to print and check memory manager and report memory usage. This superseeds old utilities mmprint, mmcheck, etc.
read for 3 tokens for .inp .gmv .avs
cmo/attribute_union Change two meshes so they both share the same set of attributes
compute / linear_transform extrapolation from an attribute value in a surface onto every node of a 3D mesh
compute/signed_distance_field to calculate signed distance relative to above and below.
grid2grid wrapper for hextotet. can also convert from octree mesh to lagrit with tree_to_fe
anothermatbld3d_wrapper.f Create two new node vectors, ccoef, ij_ccoef Put the negative ij coefficient value into the two nodes connected to the ij edge. The vector ij_coef will assign the j index value to node i so that one can determine which edge is associated with the neative coefficient that is assigned to nodes.
Add option to pset/ / zone for user specified zone id number
Modified epsilons in tri2d, fixed bug in foreach part of loop
anothermatbld3d.c possible accuracy improvement using Carl’s changes to include TranslateTetToZero for geometric calculations
This is a major update to LaGriT and the lg_util library. Major changes have been made in the core memory management routines to allow development for a 64 bit release. These changes will be invisible to most users but allows better reporting of errors and memory usage for useful diagnostic information.
* * Program: LaGriT V2.100 Linux m32 *
* * date_compile: 2009/08/03 *
Executable build for Mac with Intel chip
New capability in compute module to compute signed distance fields
Incorporate METIS source code for graph partition and reorder package
with LaGriT. For details of METIS algorithms and descriptions of the third command
line argument see http://glaros.dtc.umn.edu/gkhome/views/metis
Add option to create node attribute that is the Voronoi volume associated with each node of a Delaunay mesh
Module addmesh modified to handle errors so that it can be used in a loop without needing to have first call be different
Updates stor file commands so default uses newest version of code to build sparse matrix. This uses less memory and takes less time to build. New syntax options for stor file compression include all (default), graph, coefs, or none. Initialize list pointers to null assign null to pointers after free add warning messages for failure to free.
initlagrit.f add call to mmverify the new util version checks for correct pointer sizes
cmo addatt vor_volume added which calls anothermatbld3d_wrapper to fill voronoi volumes
dumpfehm.f Add compress_opt to dumpfehm arguments add comments and error checking to clarify code logic check options and set for 2D or 3D calls to matbld use matbld3d_stor for compress options none and coefs use anothermatbld3d_wrapper for compress options all and graph Note anothermatbld3d_wrapper can write only scalar coef values
anothermatbld3d_wrapper.f Extensive chages to error handling and messages, but not to the logic of program This code has same logic as matbld3d - but uses linked lists instead of mmgetblk calls Use io_type to toggle creation of attribute for voronoi volumes or to write to stor file added extensive error checking to eliminate segmentation faults added error check and message for every mmgetblk and mmrelblk added calls to mmprint when mm calls fail cleaned up variable declarations and added comments added istatus to check for errors and completion of matrix changed all routine messages to start with AMatbld3d_stor to distinguish from matrix built with Matbld3d_stor added idebug options added status report at end of routine
matbld3d_stor.f Extensive chages to error handling and messages, but not to the logic of program This code uses many mmgetblk calls and about 40 percent more memory than linked list version added extensive error checking to eliminate segmentation faults added error check and message for every mmgetblk and mmrelblk added calls to mmprint when mm calls fail cleaned up variable declarations and added comments added istatus to check for errors and completion of matrix added idebug options added status report at end of routine
matbld1.f This routine is called by matbld3d_stor added error check and message for every mmgetblk and mmrelblk added calls to mmprint when mm calls fail
readatt not working correctly for psets
blockcom.h fix for compile on MAC OS X Absoft on intel comment out ntetmax/0/ and let compiler initialize because we have 2 instances of pointer sizes. See kfix and xfix in neibor.h
Compile and test V2.003 for platforms SGI-32, SUN, MAC, LINUX
Improved check_test.py to compare numbers as numerical values instead of text string. The new results are saved in result_files
Generalized version Makefile and dependencies
Initialize nremtet and npoints2 to 0, initialize number_elements and number_nodes to zero
Modify output for Dudded points to indicate when there are no elements (for removal)
Changed name from ‘program adrivgen’ to ‘program lagrit_main’
Modified header correcting spelling, changed X3D to LaGriT.
changesets were tracked with Mecurial/Trac 0.10.4 on ancho.lanl.gov/lagrit/hg/lagrit