initial upload

This commit is contained in:
2025-12-17 11:00:57 +08:00
parent 2bc7b24a71
commit a09a73537f
4614 changed files with 3478433 additions and 2 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,259 @@
These are notes from Versions in years before 2002
includes x3dgen (V0 1997) and lagritgen (V1 2002)
2001 Notes from /home/tamiller/src/x3d/newsrc
-rw-r----- 1 tamiller sft 8930 Aug 10 2001 newcodes.txt
******************************
cmo/makatt/normal/ type / cmoname / x_attname, y_attname, z_attname /
type = (area or face or element) or (synth or average or node)
tempgable.f---------------------------------------------------------
c Calculate the area normal to a triangle.
c
x12 = x(1)-x(2)
y12 = y(1)-y(2)
z12 = z(1)-z(2)
x13 = x(1)-x(3)
y13 = y(1)-y(3)
z13 = z(1)-z(3)
c
c Take the cross product of xyz12 and xyz13
c
xnorm(1) = y12*z13 - y13*z12
ynorm(1) = z12*x13 - z13*x12
znorm(1) = x12*y13 - x13*y12
area(1) = 0.5d0*sqrt(xnorm(1)**2 + ynorm(1)**2 + znorm(1)**2)
dihangle_face.f-----------------------------------------------------
C Compute the normals to the faces
C Use the more robust method of projecting to each axis and using
C all the points on the face to generate normal
a1=0
b1=0
c1=0
a2=0
b2=0
c2=0
do i=1,points1-1
a1 = a1 + (zic1(i) + zic1(i+1)) * (yic1(i) - yic1(i+1))
b1 = b1 + (xic1(i) + xic1(i+1)) * (zic1(i) - zic1(i+1))
c1 = c1 + (yic1(i) + yic1(i+1)) * (xic1(i) - xic1(i+1))
enddo
a1 = a1 + (zic1(points1) + zic1(1)) * (yic1(points1) - yic1(1))
b1 = b1 + (xic1(points1) + xic1(1)) * (zic1(points1) - zic1(1))
c1 = c1 + (yic1(points1) + yic1(1)) * (xic1(points1) - xic1(1))
norm1 = sqrt(a1*a1 + b1*b1 + c1*c1)
a1 = a1 / norm1
b1 = b1 / norm1
c1 = c1 / norm1
do i=1,points2-1
a2 = a2 + (zic2(i) + zic2(i+1)) * (yic2(i) - yic2(i+1))
b2 = b2 + (xic2(i) + xic2(i+1)) * (zic2(i) - zic2(i+1))
c2 = c2 + (yic2(i) + yic2(i+1)) * (xic2(i) - xic2(i+1))
enddo
a2 = a2 + (zic2(points2) + zic2(1)) * (yic2(points2) - yic2(1))
b2 = b2 + (xic2(points2) + xic2(1)) * (zic2(points2) - zic2(1))
c2 = c2 + (yic2(points2) + yic2(1)) * (xic2(points2) - xic2(1))
norm2 = sqrt(a2*a2 + b2*b2 + c2*c2)
a2 = a2 / norm2
b2 = b2 / norm2
c2 = c2 / norm2
dot = a1*a2 + b1*b2 + c1*c2
sgd.f---------------------------------------------------------------
c.... In the case of triangular grids, compute a synthetic normal at
c.... NODE to be used to determine the orientation of triangles
c.... incident upon NODE.
if (nsdtopo.eq.2) then
call synthnormal(node,nelt,ielts,iparent,itet,
& itetoff,xic,yic,zic,eps,synthx,synthy,synthz
& ,lsomereversed)
endif
synthnormal.f-------------------------------------------------------
subroutine synthnormal(node,nelts,ielts,iparent,itet,itetoff,
& xic,yic,zic,epsln,synthx,synthy,synthz,lsomereversed)
C This routine computes the (angle-weighted) synthetic normal
C around NODE in a triangular mesh. It then checks if some
C of the triangles have a reversed orientation with respect
C to this normal.
C
C INPUT ARGUMENTS -
C
C NODE -- central node.
C NELTS -- number of surrounding triangles.
C IELTS -- array of triangle numbers.
C IPARENT -- parent node array.
C ITET -- triangle-node relation.
C ITETOFF -- offset array for triangle node relation.
get_xcontab.f-------------------------------
if(coption(1:loption).eq.'area_vector'.or.
* coption(1:loption).eq.'area_normal') then
xfac=1.0d+00/ielmface0(i,itettyp(it))
do j=1,ielmface0(i,itettyp(it))
j1=itet1(ioff+ielmface1(j,i,itettyp(it)))
xarea(j1)=xarea(j1)+xfac*xarea_tri
yarea(j1)=yarea(j1)+xfac*yarea_tri
zarea(j1)=zarea(j1)+xfac*zarea_tri
enddo
----
elseif(coption(1:loption).eq.'area_normal') then
xareamax=0.0d+00
do i1=1,nnodes
xareamag=xarea(i1)**2+yarea(i1)**2+zarea(i1)**2
xareamax=max(xareamax,xareamag)
enddo
xareamax=sqrt(xareamax)
do i1=1,nnodes
xareamag=sqrt(xarea(i1)**2+yarea(i1)**2+zarea(i1)**2)
if(xareamag.gt.1.0d-06*xareamax) then
xcontab_node(1+3*(i1-1))=-xarea(i1)/xareamag
xcontab_node(2+3*(i1-1))=-yarea(i1)/xareamag
xcontab_node(3+3*(i1-1))=-zarea(i1)/xareamag
else
xcontab_node(1+3*(i1-1))=0.0
xcontab_node(2+3*(i1-1))=0.0
xcontab_node(3+3*(i1-1))=0.0
endif
enddo
extrude.f ----------------------------------------------------------
uses normal to the reference plane or average normal
C If the user wants to check for a planar surface, or the average
C normal is to be used, check if that is feasiblie, and if so,
C calculate the normal for each element.
do i=1,nelmnen(itettyp(itri))
id1=nodeidx(mod(i,nelmnen(itettyp(itri)))+1)
id2=nodeidx(mod((i+1),nelmnen(itettyp(itri)))+1)
id3=nodeidx(mod((i+2),nelmnen(itettyp(itri)))+1)
C
C Calculate out the normals, and make sure they point in
C the same direction.
xnorm_curr=dbarea(yic(id1),zic(id1),
& yic(id2),zic(id2),yic(id3),zic(id3))
ynorm_curr=dbarea(zic(id1),xic(id1),
& zic(id2),xic(id2),zic(id3),xic(id3))
znorm_curr=dbarea(xic(id1),yic(id1),
& xic(id2),yic(id2),xic(id3),yic(id3))
anorm=sqrt(xnorm_curr*xnorm_curr+
& ynorm_curr*ynorm_curr+
& znorm_curr*znorm_curr)
C
C If average was selected, go for it...
if((nwds.eq.6).OR.(cmsgin(7).eq.'norm')) then
xvect = xvect+xnorm_curr
yvect = yvect+ynorm_curr
zvect = zvect+znorm_curr
endif
-------------------------------
C Check the dotproduct of the elements pseudo normal vector
C and the extruding vector direction if it's >= 0, react
C accordingly.
dotproduct=xnorm_ref*xvect+
& ynorm_ref*yvect+
& znorm_ref*zvect
C
if(dotproduct.gt.0) then
do idx=1,nelmnen(itettyp(itri))
iteto(2*itetoff(itri)+idx)=itet(itetoff(itri)+idx)
iteto(2*itetoff(itri)+idx+nelmnen(itettyp(itri)))=
& itet(itetoff(itri)+idx)+nnodes
enddo
get_xcontab.f-------------------------------
dx=x3-x2
dy=y3-y2
dz=z3-z2
dxtri= ((y2-y1)*(z3-z1)-(y3-y1)*(z2-z1))
dytri=-((x2-x1)*(z3-z1)-(x3-x1)*(z2-z1))
dztri= ((x2-x1)*(y3-y1)-(x3-x1)*(y2-y1))
xdir=-(dy*dztri-dytri*dz)
ydir= (dx*dztri-dxtri*dz)
zdir=-(dx*dytri-dxtri*dy)
xmag_dir=sqrt(xdir**2+ydir**2+zdir**2)
xmag=sqrt(dx**2+dy**2+dz**2)
if(xmag_dir.gt.0.0) then
xarea_tri=xmag*xdir/xmag_dir
yarea_tri=xmag*ydir/xmag_dir
zarea_tri=xmag*zdir/xmag_dir
else
xarea_tri=0.0
yarea_tri=0.0
zarea_tri=0.0
endif
----------------------------------
******************************
cmo/makatt/area/ cmoname / attname / [node]
******************************
math/integrate/ cmosink/attsink/1,0,0/ cmosink/ Vector_field_name
lineline.f------------------------------------------------------
C Unit vector 21
xu21 = x2-x1
yu21 = y2-y1
zu21 = z2-z1
mag21 = sqrt(xu21**2+yu21**2+zu21**2)
if (mag21.le.local_epsilon) then
write(logmess,'(a)')
& 'Error in subroutine line_line: line 21 is indeterminate!'
call writloga('default',0,logmess,0,ierror)
goto 9999
endif
extrude.f ------------------------------------------------------
extrude with volume option will create volumes from 2D shapes
C Make copies of the nodes the appropriate distance away.
C
do i=1,nnodes
if(cmsgin(4).eq.'min') then
d=(refptx-xic(i))*(xvect)+
& (refpty-yic(i))*(yvect)+
& (refptz-zic(i))*(zvect)
endif
xico(i)=xic(i)
yico(i)=yic(i)
zico(i)=zic(i)
xico(i+nnodes)=xic(i)+d*xvect
yico(i+nnodes)=yic(i)+d*yvect
zico(i+nnodes)=zic(i)+d*zvect
imt1o(i)=imt1(i)
imt1o(i+nnodes)=imt1(i)
if(isn1(i).ne.0) then
isn1o(i)=isn1(i)
isn1o(i+nnodes)=isn1(i)+nnodes
endif
enddo
--------------------------------------------------------------------
******************************
math/sum/ cmosink/attsink_scalar /1,0,0/ cmosrc/attsrc
END file versions_pre_2007

View File

@@ -0,0 +1,255 @@
---
title: 'LaGriT V2 Release Notes'
---
## Version 2.2 Release November 2010
This is the last release before work to support 64 bit.
```
* * Program: LaGriT V2.200 Linux m32 *
* * date_compile: 2010/11/22 *
```
### Enhancements:
- **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.
### These issues were fixed:
- 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.
## Version 2.106 6/29/2010
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.
### Enhancements
- **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
### These issues were fixed:
- 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
## Version 2.1 Release August 2009
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 *
```
###Enhancements:
- 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
###These issues were fixed:
- 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
-------------------------------------
## Version 2.004 10/21/2008
### Enhancements:
- resetpts bug fix, boundary_components and extract_surfmesh added features
- boundary_components: added id_numb boundary index number
- extract_surfmesh: added attributes idelem0, idelem1, idnode0 and removed attribute map- Made changes so that filter and rmmat return with no action rather than crash when passed an empty mesh object.
- Add options dump/att_node and dump/att_elem
- Add options dump/att_node and dump/att_elem to output tables of either node attributes or element attributes to ascii files with header lines beginning with character \#.
These are similar to *dump/avs/file/mo/0 0 2 0* or *dump/avs/file/mo/0 0 0 2* except the addition of \# character to start lines. Now these files can be read in without editing using *cmo / readatt /* workflow.
- Added character # for comment lines
### These issues were fixed:
- resetpts had a bug for some element types
- Corrected bug: cmo_exist returned error flag but check of error flag was to wrong error flag variable.
- Made changes so that filter and rmmat return with no action rather than crash when passed an empty mesh object.
---------
## Version 2.003 05/20/08
Compile and test V2.003 for platforms SGI-32, SUN, MAC, LINUX
### These issues were fixed:
- These include fixes to SGI compile errors in dumpavs.f filter.f refine_tet_add.f lagrit*.h writinit.f and the Makefile in src
- Correct minor bugs. Test case now works. sphere1.f had an incorrect attempt to use MO name before the name had been obtained. Code would crash.
- offsetsurf.f did not handle problems with non-triangle or line type MO. Instead of kicking out, an attempt was made to compute sythetic normal for a mesh object (such as quad) and this caused code to crash.
- Fixed error that occured when all output attributes were turned off.
- Fixed error that occured when all output attributes were turned off.
- Code tried to allocate a zero length array for xvalues( ).
## Version 2.002 Release April 2008
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
- Uses wildcards for .f .f90 and .c
- maintains object files in seperate directories
- for each platform and for debug and optimized
- use make help for list of options
- added options opt and debug as build choices
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.
### Enhancements
- Add capability to read FEHM zone/zonn files.
### These issues were fixed:
- corrected change to printatt minmax output so that name has 18 characters, with total line of 80 chars
- for cmo_setatt.f added error check for existing cmo and expanded name string size for 17 character names
- for cmo/printatt/ minmax limited format to 80 characters
- Corrected typo in screen output. Changed 'nnelements' to 'nelements'
- Changed some memory allocation from real(2) to int(1) for integer work arrays. Running a large problem (>10,000,000 nodes) was
crashing at rmpoint due to MALLOC failure.
*changesets tracked with Mecurial/Trac 0.10.4 on ancho.lanl.gov/lagrit/hg/lagrit*

View File

@@ -0,0 +1,298 @@
---
title: 'LaGriT Release Notes'
---
# 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.
<a href="/assets/images/release_notes8.pdf" download> LaGriT V1.0.2 January 2000 </a> PDF Version
<a href="/assets/images/release_notes7.pdf" download> LaGriT V1.0.1 November 1999 </a> 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 vs 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 integer*8/integer*4 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 dont 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

View File

@@ -0,0 +1,152 @@
---
title: 'LaGriT Release Notes'
---
# LaGriT V1.0.3 Release Notes Notes 2001
This text is converted from old pdf files and may have translation errors.
See original pdf for clarification.
<a href="/assets/images/release_notes9.pdf" download> LaGriT V1.0.3 2001 </a> PDF Version
A summary of the major changes found in this release are listed below. A complete list of
changes is included at the end of this document. Refer to the users manual for a complete
description of the new, enhanced and revised commands.
## New Commands:
reorder/cmo/sort_key will reorder a the mesh object according to the sort_key. See sort
interpolate
```
interpolate/map|continuous|voronoi/cmo_sink/attr_sink/ifirst,ilast,istride, /cmo_source/attr_source/[mintie|maxtie]/ [value|p|us1|nearest source,attr/[keepatt|delatt]
```
Enhanced Commands:
extrude
```
extrude/cmoout/cmoin/interp/layers/range1,range2
```
smooth
```
smooth/position/network/pset,get,name/number_of_iterations/ weight/[check|nocheck]
```
createpts createpts/voronoi
cmo cmo/set_id/cmoname/both|node|element [attributename1/attributename2]
sort
```
sort/cmoname/bins /ascending|decending]/[ikey]/in_att
sort/cmoname/index|rank/ ascending|decending]/[ikey]/in,att1 in_att2 in_att3
```
extract
extract only exterior surface.
```
extract/surfmesh/ifirst,ilast,istride/cm0_out/[cmo_in]/[external]
```
recon
If checkaxy is specified, then for the case of 2D triangular meshes, we check xy projected areas are positive and larger than epsilona.
```
recon/[0,1]/[toldamage]/[checkaxy]
```
## Bug fixes
06/06/00 dumpgmv_hybrid use i3.3 format to write 'created' material names.
07/24/00 setsize_nosb test against mbndry_old not mbndry for noop condttion
07/25/00 set_global_nosb set only integer or real (don't Wipe out previously set variable)
07/27/00 lower_d_lg set ioff before using, increase dimension of tmsgout, imsgout
08/16/00 connect fixed memory problems with failure lists
09/08/00 boundary fix several bugs relating to resetting icr values
09/08/00 rotatept fix getting pset if using numeric arguments
09/08/00 rzbrick3 call cmo_get_name before calling cmo_get_info
09/27/00 multi_material_2d_lg missing argument in surftstv calls
10/12/00 pset restore 'eq' as default operation
10/20/00 refine face add fix problems with second pass on 2d refine
03/23/01 surface fix problem with cone type - parameters saved in wrong place
05/07/01 cer_chain make refine on roughness work for 2d meshes
## Code Improvements
06/08/00 cmo_mesh_type new mesh type triplane like tri but ndimensions_geom=2.
08/25/00 addmesh pyramid use kdtree to find matching grid boundaries
09/03/00 pset, eset changed formats so big indices will print
cmo_interpolate implement user option - user must supply user_nterpolation subroutine
mega_error, mega_hessian fix allocation of over large tmp array
## Code Changes
cmo_get_info return itype=4 for pointer retrteval
control_command_lg echo comments to outx3dgen
mm2000 print block in address order
rmpoint fix allocations for temp space to use a better estimate of size and integer type if possible.
refine_face_add skip call to settets if attribute skip settets is =0
rzbrick3, pset, eset filter, hextotet hybrid, refine, readngptet, readngphex, dump_fehm, extract_interface
remove references to ialias
mmrelblk comment out warning if block does not exist
cel_chain force exclusive for rivara_truncated refines
connect,delaunay change epsilons for point insertion tests
statementfunctions.h new function DSZIRTRI caluculates the SIGNED inscribed radius of tri.
refine_face_add use cmo_interpolate values for coordinates of new points
recon all recon commands processed through subroutine recon, toldamage now computed if not supplied
refine We now pass psetname= -def- in the case of 2D with no surface. In this case the entire 2-D grid will be in the pset' for refinement
cer_chain We commented out the RECON after refinement.
agd3d We now refrain from merging out nodes if they would create a roughness>0.8*TOLROUGHNESS.
getgsynth Initial revision. Computes synthetic normals for ALL nodes in 2-D
massage We now take TOLROUGHNESS in the argument list. This is a format change, but old decks should still work.

View File

@@ -0,0 +1,348 @@
---
title: 'LaGriT V1.100 Release Notes 1999'
---
# LaGriT V1.100 Release Notes 1999
This text is converted from old pdf files and may have translation errors.
See original pdf for clarification.
<a href="/assets/images/release_notes6.pdf" download> LaGriT V1.0 May 1999 </a> PDF Version
A summary of the major Changes found in this release are listed below.
triangulate
triangulate a 2D mesh assuming the ordered nodes in the 2D mesh
define the perimeter of a polygon
ung2avs
convert Arclnfo (GIS) Ungenerate files to AVS
ung2avs/avs_file_out/ung_file_in/[z_va|ue]
define
allows a number to be associated with a character string, such that
the character string can be used in input decks in place of the
number.
```
define/nx/3
define/ny/4
define/nz/5
define/bottom/O.1/
define/top/4.6
define/left/ -4.7
define/right/9.8
surface/s1/reflect/box/0.0,left.bottom/1.0,right,top
```
colormap
This command builds the colormap. In reality it only builds the
material adjacency graph, from which the colormap can be quickly
generated when needed. Three actions are possible:
```
colormap/[add|create|delete]/[cmo_name]
```
- add - The material adjacency characteristics of the specified mesh
object is added to the existing material adjacency graph, which is
created if it didnt exist. This is the default action.
- create - The existing material adjacency graph is deleted and a
new one created from the specified mesh object.
- delete - The material adjacency graph is deleted if it exists. Any
specified mesh object is ignored.
Examples:
```
colormap/create/mesh1
colormapl/mesh2
colormap/delete
```
massage
added a smoothing operation to the optimization which can be
turned off with the nosmooth option
```
massage/creation/annihilation/toldamage//[ifirst,ilast,istride]/[nosmooth]
```
smooth
new option **aspect** will smooth to improve aspect ratio by moving a
node toward the neighbor that provides the greatest improvement.
New option lpfilter will smooth surface networks (i.e 2D mesh
objects or the interface network of a 3D mesh) using a polynomial
filter. (filtdeg default 30; k_pb default 0.1)
```
smooth/position/aspectl[ifirst,ilast,istride/toldamage]
smooth/position//pfilter/[ifirst,ilast,istride/filtdeg/k_pb]
```
pset
new option **surface** will identify nodes on the specified surface.
Keyword surface names have the following meaning:
```
-all- will identify nodes on any surface.
-interface- will identify nodes on any interface surface.
-boundary- will identify nodes on exterior surfaces.
pset/psetname/surface/surface_name/[ifirst,ilast,istride]
```
refine
new option **roughness** will refine based on the distance of the
endpoint of an edge to the plane determined by the synthetic
normal with respect to a specified surface at the other endpoint of
the edge.
```
refine/roughness///edge/ifirst,ilast,istride/
distancelsurface_namelexclusivelinclusive
refinelroughnessllledge/1,0,0l.28lptoplinclusive
```
new option **edge_list** will bisect a set of edges specified by the
node numbers of the endpoints of the edges.
```
refine/edge_list///edge/edge_listl
refine/edgeilist///edge/1 2 23 47/ will refine the edge with
endpoints 1 and 2 also the edge with endpoints 23 and 47.
```
new option **interface** will bisect a set of non-interface edges of tets
all of whose vertices are interface nodes.
```
refine/interface///edge/pset,get,psetname//// [inclusivelexclusive]l
```
extract
new option **network** will extract the network of interfaces (consisting of parent nodes) from a mesh.
```
extractlnetworklifirst,ilast,istride/cmoout/cmoin
```
dump
dump/recolor/file_name
This command writes the existing colormap to the specified file. (See colormap command.)
```
dump/fehm/file_name / [cmo_name] / [binary/ ascii | asciic | binaryc] /[scalar, vector, both] / [delatt, keepatt]
```
The [delatt, keepatt] option gives the user the ability to delete or
keep the boundary attributes, top, bottom, left_w, right_e, back_n,
front_s, which are created by dump/fehm. The default is delatt.
dump/fehm/file_name / [cmo_name] / [binaryc | asciic] produces
compressed matrices
```
dump/gmv/file_name/[cmo_name]/[binary, ascii]
```
specify binary or ascii format of GMV file on command line
```
dump/lagrit/file,name/[cmo_name]/
```
will write an ascii restart file
that contains geometry and mesh object information. cmo_name
can be -all- in which case all mesh objects are written to the file or
it can specify a list of mesh objects to be written.
read
```
read/lagrit/file_name/[cmo_name]/
```
will read an ascii restart file written by dump/lagrit.
All mesh object data is preserved in the file including the cmo_name.
connect
connect will triangulate a 2d planar set of nodes generating a triangular Delaunay grid.
## Bug fixes Jan 98 to May 99
multi_material - fixed error for node added that was on both an interface and an exterior boundary might
get the wrong itp1 value.
connect - refresh pointers alter call to remove bigtet
ceL_chain - fix bug with memory allocation for mpary array.
massage,getmpary - correctly access pset for massage
try2tob - get pointer to icontab correctly
cel_chain - Check for psetnames = blank
gctbit,sctbit Change declaration of ISHFT to intrinsic
flip2t03,flp2t03b, flp2to3i - update itettyp for new element
recon2d - use cmo.h (icmoget) to pass to testdamage so it knows If it must refresh pointers
dumpavs - close file always before leaving subroutine
refine_edge_list_lg - correct pointer statement
tangent_plane, cer_chain - fix refine on roughness
refine_fix_add - correctly set ier values for added nodes on constrained interfaces
sheet - explicitly specify -def— for mesh object name
rzbrick - fix ratio fiag
control_command_lg - correctly remove unnecessary blanks from command lines
cmo_create - make interpolation type be and for isetwd and xtetwd
cmo_interpolate - fix interpolation for isetwd and xtetwd
pset - idebug delared as integer
rmmat - fix error return flag
resetpts - fix error return flag
surfset - fix memory management error
gctmpary - sct defaults correctly by testing nwds
closed_surfaces - fix arguments to getregv2 call
refine_edge_add - modify pset membership for new nodes.
cmo_select, cmo_get_name - remove null character from end of name
recon2d - set itetoff
lpfilter,LowPassFilterModule - avoid overwiting data
## Code Improvements Jan 98 to Mar 99
smooth - new option smooth/position/aspect will smooth to improve aspect ratios.
smooth, extract - new option smooth/position/lpfilter will smooth surface networks.
New extract option extract/network will an interface network from a 3D mesh.
pset - New options for surface (surface names: -all-, -interface-, -boundary- have the obvious special meanings)
delaunay - Insert nodes in mesh in random order. Replace n**2 a1gorithm to find matching faces with a linked list approach
reeon2d - changed test to use consistent volume calculation.
refine, tangent_plane, cer_chain, refine_edge_list_lg, lpfilter, LowPassFilterModule, GmphModule - new command options
triangulate_lg, msgtty - add triangulate command
pntlimc - check for pset named -def— or empty string
corrected warning that showed up on the DEC compile in the following routines:
addmesh, addmesh delete, addlnesh pyramid, boundary components, chkreg, chkregv, closed surfaces,
cmo_delatt_def, cmo_interpolate, cmo_setatt, cmo_release, connect, correctpc, derefine, dopmat,
dumpchad, filholes, geniee, get_mregions, get_regions, get_surfaces, getreg, getregv, grid_to_grid,
hextotet_att, l1n1en1adjb, hsb2seta, ifacept, initx3d, math, occonv, pstatus, readgmv_binary,
refine_coupling_coef, refine_edge_add, refine_face, refine_face_add, rmregmn, rmsurf, rwdpmw,
r2, search2d, sortbins, taylor_error, translate, volume_tet, voron2d, writedump, refine_edge_list_lg
recon2, mega_error - restrict existence of mega related attributes to recon loop. change IO disposition to not write to GMV files
refine, refine_interface_elements_lg - new refine option to refine non—intcrface edges of tets, all of whose vertices are interface nodes.
dump/fehm, writedump, matbld3d_stor - generate compressed matrix for geometric coefficients .stor file
cel_chain, cer_chain, refine_edge_add - set pset membership of child nodes in refine_edge_add_tet
refine_edge_add - pset is inherited from anding the pset of the endpoints of refined edgeh
## Code Changes Nov 98 to Apr 99
agd3d massage - add smoothing operation to optimization loop in massage.
sgd, primestep - smoothing now automatic in massage, turn it off with nosmooth
cel_chain - remove call to recon from inside refine/rivara loop.
agd3d - allow more merges of nodes that do not have unique successors and predecessors
dumpavs - allow for ranksfl and limit coordinate range to (—1 16—30, 11e+30)
aratio_tet - handle extreme aspect ratio tets correctly
agd3d, aratio_tet, aratio_tri - remove assumption that fp errors would not be trapped
massage - set ipointi to 1 and ipointj to nnodes
intradd - use a more memory efficient al gorithm to create child nodes
agd3d - change error to warning when material match in question (skip merge)
all common blocks - moved common statements after declarations added save statement
dump_recolor_lg, neighbor_recolor_lg, writedump - add dump/recolor command (see above)
dump - fehm option to keep/delete boundary attributes on fehm files dump_outside_list
ung2avs - option to convert Ungenerate files to AVS files
dumpgmv_hybrid - read binary/ascii from command line
llip3t02, llip4to4, llip2t00, llip3t021 [lip4to4i llip2t00b In[lip recon IceonZ
fiiplt00, flip2t02, - remove calls to fluxing routines and clean up associated memory usage
control_eommand_lg - new method of command processing
writloga, writinit, dotask, dotaskx3d, initlagrit, msgtty, control lg.h, lagrith
dumpgmvihybrid cmo attribute 7def- is modified so that it Will not be written to gmv files.
writcdump,rcaddump dump/lagrit and rcad/lagrit - now write and read ascii geometry files
dumpilagrit, eventually this command will also dump the mesh objects dump_lagrit_geom,
read_lagrit - read_lagrit_geom
cmo_dump_cmo dump/lagrit and read/lagrit - now write and read ascii re start files
cmo_read_dump_cmo - that contain geometry and mesh object intbnnation
matbld2dstor - add max connections to output, make consistent with matbld3d_stor
eset - dont print element number of member of set
quality - print if idebug set to 1
connect2d_lg - new code to connect 2d planar node distributions into 2d grids
delaunay2d_lg, delaunay2d_connect_lg, multi_material2d_lg, fix_small_triangles_lg, make_big_triangle_lg
scale_lg, msgtty change subroutine name scale to scale_lg' to avoid conflicts with other libraries

View File

@@ -0,0 +1,229 @@
---
title: 'LaGriT Release Notes'
---
# LaGriT V1.1.0 Release Notes Notes 2002
This text is converted from old pdf files and may have translation errors.
See original pdf for clarification.
<a href="/assets/images/release_notes11.pdf" download> LaGriT V1.1.0 Nov 2002 </a> PDF Release YMP QA/QA STN: 10212-1.1-00
<a href="/assets/images/release_notes10.pdf" download> LaGriT V1.0.4 2002 </a> PDF
A summary of the major changes found in this release are listed below. A complete list of
changes is included at the end of this document. Refer to the users manual for a complete
description of the new, enhanced and revised commands.
## New Commands
create_graph
Create a node or dual (element) adjacency graph. If node option is selected, the
graph of node adjacency is created, if dual option is selected, the graph of
element adjacency (dual graph) is created —— see manual for details
```
create_graph/metis/node|dual/ v1,v2/ create|delete
```
metis
Interface METIS graph partition and reorder package with LAGriT.
http://www-users.cs.umn.edu/~karypis/metis
For details of METIS algorithms see:
The standard libraries, Iiblagrit.a and Iibutil.a do not contain METIS. In order to
utilize the METIS functions, one must download the METIS package, build the
METIS libraries on your local system and link them with the LAGriT libraries.
```
For example: f90 -o lagrit driver.f liblagrit.a libmetis.a libutil.a
```
stack
stack\fill stack\reorder read tri or quad surfaces combine into one cmo and fill with prisms 0r hexes
mode
mode/discrete/surface_cmo/tolldamage - all refinement smoothing operations on this surface must result in nodes that are members of
surface_cmo
mode/recon/[delaunaylgeometryladaption] choose reconnection mode - delaunay flip to restore delaunay, geometry will flip to
create 'plump' elements, adaption will flip to reduce solution error
mode/adaption_field/field_name/scale_factor/4d_refine_length/4d_merge_length/4d_damage/percent_to_refine/ error_cut_off_refine
if this mode is on adaptive massage will be in effect
sethessian
sethessian/user - make the 2nd derivative matrix from the routine supplied by the user
sethessian/erradpt make the 2nd derivative matrix from the user supplied edge errors
sethessian/field_name/[algorithm choice] make the 2nd derivative matrix base on the supplied field and algorithm (default is the mega
algorithm)
loop
loops may be max 10 deep, max 250 tokens in the lforeach/ mode.
Implementation involves a define and a dotask issued for each loop command
```
loop/do variable lp_start lp_stop lp_stride loop_end/
loop/foreach variable item1 item2 itemN loop_end/
Examples:
loop foreach MO cmo1 cmo2 cmo3 loop_end &
cmo / delete / MO
loop do NX 2 31 loopiend &
loop do NY 4 51 loopiend &
loop do NZ 6 7 1 |oop_end &
loop foreach X0 0 5.5 10.2345678 |oop_end &
createpts/xyz/NX,NY,NZ/XO O. O. / 100. 100. 100.
loop foreach FILE file1 file2 file3 loop_end &
loop foreach CMO cmo1 cmo2 cmo3 loop_end &
infile lagrit_control_file
```
## Enhanced Commands
refine
refine allow eltset,get,eltsetname wherever pset get psetname was previously allowed.
math
allow more operand types
add math/sum and math/integrate
math/abs is absolute value option
createpts
createpts/median creates new mesh object attributes called xmed,ymed and zmed of length nelements and rank scalar. They
contain the x,y,z coordinates of the median point of each element in the mesh. All element types are supported
sort
reorder
sort, reorder now sort and reorder elements in addition to nodes
## Bug Fixes
pset_nosb fix problem with geom/xyz
writedump fix problem with delatt/keepatt and dmllp/zone
read_geometries fix problem if number of surfaces is zero
rotatept fix typo
surfpts fix problems with surface option
cmo_delatt fix error in retrieving cmo name
mega3d skip calls involving hessian for smooth/position/geometry option
closed_surfaces fix undefined variable
dump_pt_by_value, put mega3d_nosb, getiedge, polyfun_nosb.f corrected the prob1em involving the
nondistinction of differently colored but coincident edges
hextotet_hybrid add error checking, avoid cmo_interpolate bug
refine_tet_add get correct cmo name
intersect_elements fix incorrect declaration
lower_d_lg fixed test for increasing attribute space
refine_nosb fix errors in faceedge and tetedge options
cmo_addatt_nosb fix type dec1arations
mergepts_simplex use epsilon for inversion tests
rz fix line mode
dump_geometries_lg,geometry_release_lg,read_geometries_lg_nosb allow for mesh object with no geometry
refine_edge_2d reset ipointj at end
control_command_lg reuse space if names are reused in define commands
## Code Changes
eset_nosb Fixed multiple calls to eltset so that it behaves like pset(i.e. contents ofa named e1tset reset at each call)
cmo_set_mesh_type add error checking
cmo_addatt allow permanent or temporary persistence
cmo_copyatt allow element attributes to be copied to nodes that are element vertices
cmo_set_mesh_type changed subroutine name from cmo_mesh_type
cmo_status added 'brief option
cmoiinlerpolate add error checking
unpackpc simplify the logic
freemove pass in info that determines move
gctiedge distinguish between coincident but different matcria1 edges
intrp_gtg add tiemat option
isosurface set edges per element
sethessian, dampiptihyivalue, eva1uateisobolevnorm,hess3d ,interpo1ate7hessi 5111- use sethessian
celichain, refineispawnilg, refineicouplingcoeLpopconeng, (:51, cer—chain, eel, popcomponenlsilg use
return flag from refineiedgeiadditet to terminate iterations if refine does nothing
flip2to3b_nosb, flip2to3, hmemadjb_nosb remove warning message
connect_nosb spe11ing error
math_sum, math_integrate new options
rotatlenln_nosb, rotatept_nosb rotate only coordinates — skip other attributes
table_element clean -up
distance_to_sheet, testdamage, edgefun_lt, point_to_plane freemove_nosb, mega3d_inner_loop,
mega3d_nosb, massage, refine_edge_add, sgd, cee_chain, polyfun_nosb, adg3d, mode_lg, msgtty_nosb
changes for adaptive massage and for discrete mode
perturb_lg fix calling sequence
recon2_nosb sb fix debug 0utput
quadxyz,quadxy, read_sheetij format changes
extract_surfmesh better error checking
partition,refine_edge_3d, addmesh_amr, voronoi_stor, grid_to_orid, addmesh_overlap, addmesh_merge pull routines out of temp.f
pset better setting of epsilons for geom option

View File

@@ -0,0 +1,171 @@
---
title: 'LaGriT Release Notes'
---
# LaGriT V1.1 Release Notes Notes 2003 to 2004
This text is converted from old pdf files and may have translation errors.
See original pdf for clarification.
<a href="/assets/images/release_notes13.pdf" download> LaGriT V1.1.2 2004 </a> PDF
<a href="/assets/images/release_notes12.pdf" download> LaGriT V1.1.1 2003 </a> PDF
A summary of the major changes found in this release are listed below. A complete list of
changes is included at the end of this document. Refer to the users manual for a complete
description of the new, enhanced and revised commands.
## Enhanced Commands
read
read/gocad/file_name/mesh_object_name. Read an ascii GoCad TSURF file (2D).
```
read/gocad/file_name/mesh_object_name
```
refine/...amr/iprd
Use amr refinement with an optional direction.
iprd = 123 refine all hexes. iprd=1 refine along the X direction,
iprd=2, refine along the y direction, iprd=12,13,23 refine along x,y;
x,z; y,z respectively. For example:
```
refine/constant/imt1/linear/element/1,0,0/ -1.,O.,O./inclusive/amr/12
will refine all hexs in the x and y directions only.
```
geniee/cmoname/2dnormal/reference_element_number [addatt]
For 2d meshes only, this option will attempt to make
the topological orientation of a triangle, quad or hybrid-triangle-
quad mesh consistent so that shared edges are traversed on
opposite directions. This will not be possible if more that 2
elements share an edge. reference_element_number is the
element that all other elements will be compared to.
dump/elem_adj_node/file_name/cmoname
Write a list of all elements adjacent to each node to the file fileiname.
massage
new option semiexclusive. Refinement will be triggered only by
edges both of whose endpoints are in the pset. However edges
with only one or no nodes in the pset might be refined as a result of
Rivara refinement Chain.
dump/zone_imt
output zone list file associted with imt values but do not output outside lists and multi— material connection lists.
createpts/itp
Add nodes to a mesh object by linear interpolation between two point sets
## Code Changes
ung2avs Changed coordinate arrays to double precision arrays. Modified formats [or larger numbers.
refine_nosb, filter, geniee,refine_get_add Changes related to refine/amr option
delaunay2d get rid of n**2 loop (zeroing out ioff)
ntrp_gtg increase number of significant figures for output.
addmesh_append_nosb Added support of maintaining all attribute types (VINT, VDOUBLE, VCAR) for both
element based vectors and node based vectors
matbld3d_stor Add output of xyz miu/max bounding box of each Voronoi cell. To activate set if_vor_io/2/
mm2000 Added output at the end of mmprint to print out total amount of memory associated With
memory managed arrays. Changed format in mmprint to allow larger integers.
readgmv_ascii changed format so lhe aseii output can exceed lmfllion nodes
dumpgmv_hybrid, readgmv_binary recognize amr variables itetpar, itetkid, itetlev as VINT.
recon, mode add option to turn off recon
rzbrick3 dded options, fixed bugs documented functionality in rzinterp sections of the code.
This piece of code is nearly the same as the point interpolation code used in extrude, but
since it required a lot of changes to get it working, 1 decided not to touch the code that extrude uses.
rz Fixed error that occured when createpts/line was a line aligned With the y or z axis. Error
resulted in only cell centered point distributions. Now one can get correct results When ijz=1 and ikz=1.
sortbins allow attributes of arbitrary length notjust nnodes or nclemcnts
cmo_setatt_nosb use a longer format When printing a real acalar attribute
dump_material_list fix format statement
radapt initialie ctrl to zero
fillholes Skip holes whose number is greater than lhe current nelements value
extract_interface do not release cmo if it exists - this lost added attributes
recon2_nosb pass iopt2t02 to try4to4xv so as to be able to skip interface recons if desired
filter In cases where the specified pset was empty the code would crash due to asking for zero
length array. Put in error check to return if pset is empty set.
cel_chain initialize flag to zero
## Bug Fixes
extrude Set, ndimensions_geom of new mesh object.
pset change format to a32 to print entire pset names.
read_sheetij 1ntialize hdrlen to zero so files With no header are read correctly
connect2d got rid 1n**2 loop on resetting ioff
shttstv_nosb added explicit lengths to character comparisons (ickin, ickout)
cel_chain Fix truncated option
refine_edge_list_lg ityp=itettyp(it) was not being set correctly
addmesh_nosb Fixed bug in VCHAR type element attribute
cmo_copyatt_nosb Allow copy ot'node attribute to element attribute and Vice versa only if have the same length.
readgmv_ascii fix problem With type lin
refine_tet_add Return gracefully if nadd=0.
eset Bug in exclusive/pset_get_name Bug resulted inincorrect result except in the case of tet's
or quads. Fixed for all element types now.
matbld1 changed order in Which work arrays are allocated and released so that they only exist
when they are really needed. Changed the way row/column index pointers are sorted. 01d
method used a trick, but the tliek fails when the number of nodes get larger than O(10**7).
Change to use of a multi—key sort of the isortr and isortc arrays. Added some output to log files.

View File

@@ -0,0 +1,91 @@
---
title: 'LaGriT V1.1.3 and V1.1.4 Release Notes 2005'
---
## LaGriT V1.1.3 and V1.1.4 Release Notes 2005
This combines notes for development work June 2005 and November 2005. These notes are converted from
old pdf files and may contain translation mistakes. See the original pdf for clarification.
<a href="/assets/images/release_notes15.pdf" download> LaGriT V1.1.4 November 2005 </a> PDF Version
<a href="/assets/images/release_notes14.pdf" download> LaGriT V1.1.3 June 2005 </a> PDF Version
A summary of the major changes found in this release are listed below. A complete list of
changes is included at the end of this document. Refer to the user manual for a complete
description of the new, enhanced and revised commands.
## New Commands:
**fset** fset/f1/pset,get,p1
face sets are defined as faces belonging to the elements
corresponding to pointsets where the face is on the boundary. In
other words, face sets become entities for applying boundary
conditions.
## Enhanced Commands:
**dump/avs** Added avs2 option witch will output node and element attributes as real or
integer. avs option outputs all node and element attributes as real. Code will test
the max(abs(attribute)) and format integers to use only as many columns as are needed.
**cmo** cmo_command_nosb.f added fillatt option that avoids warnings for attributes that already exist and allows the attribute to be filled
**dump** dump material_list.f added argument iselect to subroutine call that allows the user to choose a single selected zone value and corrected code to finish writing zone file if no materials are found.
**dump** **dumpfehm** writedump_nosb added argument imat_select to dump_marerial_list call that enables a single zone to be selected added option for geoFEST output dump/geofest
**calc_rdist** msgtty added option to call calc_rdist.
**math** math_nosb added min, max options
**connect** multi_material_nosb add option to test all interface edges if a material interface is crossed. connect/check_interface
**massage** massage add norecon option that turns off all calls to the reconnection routines.
**filter** filter_elem_graph mark and optionally delete duplicate elements msgtty_nosb filter/element
## Code Changes:
```
02/28/05 intersect elements intrp_gtg
10/12/05 dumpavs_nosb changes needed for avs2 option. writedump_nosb
10/18/05 readavs extend input file name to 132 characters fix error if number of nodes = 0 and number of elements not zero readdump, extend input file name to 132 characters
readx3d_att,
readnurbs_iges_grid,
read_sheetij,
read_gocad_tsurf
10/26/05 math_sum added significant figures and put name of attribute on output line.
```
## Bug Fixes:
```
07/22/04 dumpgmv_hybrid_nosb readgmv_ascii_nosb
02/28/05 pset_nosb
04/06/05 dumpgmv_hybrid_nosb
implicit none and added code to report progress of the element search. associate imt and others with imtl type names
Insert code to invert connectivity so that tet and hex are not inside out. Also added simdate and codename keyword to header of ascii GMV files. These keywords are used in the read/gmv code now to detect the new corrected connectivity
Insert code to invert connectivity so that tet and hex are not inside out. Also added simdate and codename keyword to header of ascii GMV files. These keywords are used in the read/gmv code now to detect the new corrected connectivity
added imask to shiftr for union of more than one set, fixed logic so that names that start the same will be treated as different, e.g. imtl imtl temp
fixed bug introduced by inversion of connectivity when outputting tet or hex elements.
10/03/05 dumpgmv_hybrid_nosb Distinguish between node and element attributes by checking clen of the attribute.
10/12/05 tritri.f Added implicit none and declared logmess correctly.
10/12/05 intersect_elements.f Minor changes to log messages.
11/02/05 translate Avoid crashing if mesh has no nodes.
11/03/05 do_extract_nosb Fix definition of d in ptnorm option
11/03/05 dumpavs_nosb Handles mesh with only element attributes and fixed formats so they are long enough for num elements, num nodes.
03/06/06 isosurface Fixed problem with the case where no elements were created. For example in
the case where a plane is extracted from a 3D object but the plane does not
intersect the 3D object anywhere. In that case a new mesh object was created
that was 2*nnodes and 2*nelementsof the input mesh object but there was
nothing in the output mesh object. Now the output mesh object is created but nnodes=nelements=0.
```

View File

@@ -0,0 +1,260 @@
---
title: 'LaGriT V2 Release Notes'
---
# V2.002 2008 to V2.2 2010
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.
## Version 2.2 Release November 2010
```
* * Program: LaGriT V2.200 Linux m32 *
* * date_compile: 2010/11/22 *
```
### Enhancements:
- **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.
### These issues were fixed:
- 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.
## Version 2.106 6/29/2010
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.
### Enhancements
- **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
### These issues were fixed:
- 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
## Version 2.1 Release August 2009
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 *
```
### Code Enhancements:
- 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
### These issues were fixed:
- 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
-------------------------------------
## Version 2.004 10/21/2008
### Code Enhancements:
- resetpts bug fix, boundary_components and extract_surfmesh added features
- boundary_components: added id_numb boundary index number
- extract_surfmesh: added attributes idelem0, idelem1, idnode0 and removed attribute map- Made changes so that filter and rmmat return with no action rather than crash when passed an empty mesh object.
- Add options dump/att_node and dump/att_elem
- Add options dump/att_node and dump/att_elem to output tables of either node attributes or element attributes to ascii files with header lines beginning with character \#.
These are similar to *dump/avs/file/mo/0 0 2 0* or *dump/avs/file/mo/0 0 0 2* except the addition of \# character to start lines. Now these files can be read in without editing using *cmo / readatt /* workflow.
- Added character # for comment lines
### These issues were fixed:
- resetpts had a bug for some element types
- Corrected bug: cmo_exist returned error flag but check of error flag was to wrong error flag variable.
- Made changes so that filter and rmmat return with no action rather than crash when passed an empty mesh object.
---------
## Version 2.003 05/20/08
Compile and test V2.003 for platforms SGI-32, SUN, MAC, LINUX
### These issues were fixed:
- These include fixes to SGI compile errors in dumpavs.f filter.f refine_tet_add.f lagrit*.h writinit.f and the Makefile in src
- Correct minor bugs. Test case now works. sphere1.f had an incorrect attempt to use MO name before the name had been obtained. Code would crash.
- offsetsurf.f did not handle problems with non-triangle or line type MO. Instead of kicking out, an attempt was made to compute sythetic normal for a mesh object (such as quad) and this caused code to crash.
- Fixed error that occured when all output attributes were turned off.
- Fixed error that occured when all output attributes were turned off.
- Code tried to allocate a zero length array for xvalues( ).
## Version 2.002 Release April 2008
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
- Uses wildcards for .f .f90 and .c
- maintains object files in seperate directories
- for each platform and for debug and optimized
- use make help for list of options
- added options opt and debug as build choices
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.
### Enhancements
- Add capability to read FEHM zone/zonn files.
### These issues were fixed:
- corrected change to printatt minmax output so that name has 18 characters, with total line of 80 chars
- for cmo_setatt.f added error check for existing cmo and expanded name string size for 17 character names
- for cmo/printatt/ minmax limited format to 80 characters
- Corrected typo in screen output. Changed 'nnelements' to 'nelements'
- Changed some memory allocation from real(2) to int(1) for integer work arrays. Running a large problem (&gt;10,000,000 nodes) was
crashing at rmpoint due to MALLOC failure.
*changesets were tracked with Mecurial/Trac 0.10.4 on ancho.lanl.gov/lagrit/hg/lagrit*

View File

@@ -0,0 +1,98 @@
# LaGriT Release Notes V3.001 August 2011
Major changes incoporating work from Andrew Kuprat (64bit work) and
summer student Adam Cozzette to add more capability. Changes to make
64bit code more consistent and easier to modify for various platforms.
The code for stack routines are combined into stack\_options.f from
temptam.f and read_trilayers.f. The beads algorithm and routines are
now all in their own file beads_ona_ring.f
LaGriT assumes that the size of an integer is the same size as a
pointer. Use the preprocessor and configure settings to select the
integer type so that it matches the size of a pointer.
```
#if SIZEOF_INT == SIZEOF_VOIDP
#define int_ptrsize int
#elif SIZEOF_LONG == SIZEOF_VOIDP
#define int_ptrsize long
Makefile changes for 64 bit compile:
-fcray-pointer
Enables the Cray pointer extension, which provides a C-like pointer
-falign-commons (will try to reorder commons so this is not needed)
```
By default, gfortran enforces proper alignment of all variables in a COMMON block by padding them as needed. On certain platforms this is mandatory, on others it increases performance. If a COMMON block is not declared with consistent data types everywhere, this padding can cause trouble, and -fno-align-commons can be used to disable automatic alignment. The same form of this option should be used for all files that share a COMMON block. To avoid potential alignment issues in COMMON blocks, it is recommended to order objects from largests to smallest.
This includes Work from Andrew Kuprat and summer student Adam Cozzette.
### Enhancements:
- **filterkd** - new filter command uses kd-tree for filter. Uses reverseform.f
- *anothermatbld3d.c* added several functions for computing the hybrid point of a control volume: tetisOnBoundary, intersectSegmentWithFace, getHybridPoint
- added helper functions for computing dot products and distances.
- changed the areaOf3dTriangle function to compute a vector area rather than a scalar.
- a change computes a unit vector in the direction of an edge between
two points in the tetrahedral mesh. We dot this with the facet of the Voronoi
cell in order to consider just the component of the area that is in the
direction of the edge.
- changed the parameter list for initialize3ddiffusionmat_ so that the
function also takes arrays for jtet, pmbndry, ifhybrid, and hybridfactor.
ifhybrid indicates whether to use hybrid volumes and hybrid_factor is an
attribute that the function will fill in order to indicate the extent to which
each cell is hybridized
- added function prototypes so that gcc can perform type checking
- added #ifdef to match format string to size of integers being used
- *anothermatbld3d_wrapper.f* changed subroutine call to add hybrid_factor
```
subroutine anothermatbld3d_wrapper
- x (ifile,io_type,num_area_coef,ifcompress)
+ x (ifile,io_type,num_area_coef,ifcompress, ifhybrid)
```
- Added support for quad metrics in quality / quad
- Added support for writing element sets out to a file based on pset logic so that eltset will write each element set to a separate file if it is given the -all- option filenames now end with .cellset
- intersect added sort line_graph after performing the intersection
- **pset** changed pset to verify a point before writing to file. Added the -all- option that writes each pset to seperate files with the new file extension .vertexset
- **sort/ line_graph** in file line_graph_sort.cpp. Create the sort keys correctly based on whether it is actually sorting nodes or elements.
- *writedump.f* changes to facilitate the *hybrid* option and Rao's new **dump / exo** code.
## These issues were fixed:
- fix bug in 2D delaunay connect connect2d_lg.f where the code doubled the coordinates of the first Voronoi point.
- fixed a bug where attempting to redefine an element set, the set is now zeroed out and written afresh
- *cr_copy.f* fixed an off-by-one error by making an array one element longer in a call to mmgetblk with length + 1 that was causing segfault errors
- *geniee.f* changed loop to check condition before starting, this avoids writing to memory is invalid
- *pcc_test.f* fixed Warning so it is given once instead of once for every element
- **reorder** fixed so that it doesn't rely on the numerical values to determine whether to sort nodes or elements and added messages to indicate possible WARNINGS for reorder
- *rotatelo.f* Fixed a bug whereby rotateln would rotate some points in one direction and some points in the opposite direction.
- *sparseMatrix.c* removed unused variables in order to get rid of compiler warnings. Added #if for printf to use string according to integer size
- *readgmv_binary.f* Changed gmv routines readgmv_binary.f and dumpgmv_hybrid.f so read/write gmv works on 64-bit
------------------------------------------------------------------------
*Changesets tracked in Mercurial/Trac on ancho.lanl.gov/lagrit*

View File

@@ -0,0 +1,249 @@
---
title: 'LaGriT Release Notes V3.1'
---
## LaGriT V3.108 July 2016
The was the Last version released under Open Distribution license LA-CC-2012-084 before Open Source.
This code was tagged in Mercurial as V3.108 and used to start open-source repository on github.
This includes work by summer student Mikita Yankouski with WIN development using Cygwin.
- Added top level python control suite, and standarized level02 output files. See instructions.txt and cmake-script.
- Files changed for WIN are opsys.h and type_sizes.h to account for win64 and changed define for SIZEOF_LONG
```
file: opsys.h
#ifdef win64
#define FCV_UNDERSCORE
#define SIZEOF_INT 4
#define SIZEOF_LONG 8
#define SIZEOF_VOIDP 8
#define MAX_UINT 18446744073709551615.00
#endif
#ifdef win64
#define int_ptrsize long long
file: type_sizes.h
#ifdef __CYGWIN__
#define FCV_UNDERSCORE
#define SIZEOF_INT 4
#define SIZEOF_LONG 4
#define SIZEOF_VOIDP 8
#endif
file: machine_header.h
#ifdef win64
#define FCV_UNDERSCORE
#define SIZEOF_INT 4
#define SIZEOF_LONG 8
#define SIZEOF_VOIDP 8
#endif
file: Makefile
ifeq ($(COMPILER), cygwin)
SUFFC = _cygwin
FC = /bin/gfortran
CC = /bin/gcc
CXX = /bin/c++
FC90 = /bin/gfortran
OSTAG = _cygwin
FFLAGS = -fcray-pointer -fdefault-integer-8 -m64 -Dwin64
FF90FLAGS = -fcray-pointer -fdefault-integer-8 -m64 -Dwin64
CFLAGS = -m64 -Dwin64
```
------------------------------------------------------------------------
## LaGriT V3.106 August 2015
Major update to write PFLOTRAN type option stor file and new syntax using Exodus II 6.9 libraries.
*Note: The LaGriT run-time banner shows V3.2 with compile date Aug 2015,
even though it is actually a branch from V3.106.*
### Enhancements:
- **dump / pflotran** Writes .uge file for pflotran and is used by the DFN suite of scripts. The deve directory is in */n/swdev/LAGRIT/work/pflotran*. The syntax looks like:
```
dump / pflotran / root_name / cmo_name
dump / pflotran / root_name / cmo_name / nofilter_zero
```
- **dump / exo** calls ExodusII new routines changed from V5 to V6. LaGriT command syntax is unchanged.
```
http://sourceforge.net/projects/exodusii/files/
Exodus II 6.09
HDF5 version 1.8.6
netcdf-4.1.3
```
- *exo block id* modified to input digit instead of *digit*0000. All exodus files are same as Exodus II 5, except for the block id.
Tests have been updated resulting in the following differences:
```
Exodus 6.09:
< :api_version = 6.09f ;
< :version = 6.09f ;
---
< eb_prop1 = 1, 2, 3 ;
Exodus 5.22a:
:api_version = 5.22f ;
:version = 5.22f ;
---
eb_prop1 = 10000, 20000, 30000 ;
```
- **compress_eps** new cmo attribute for stor file allowing user to extend range of ccoef values by setting mesh attribute compress_eps (from default 1e-8). Changing value of compress_epsilon seemed to help loss of coeffs with large aspect ratios.
### These issues were fixed:
- **dump / stor** corrected bug for 2D grids that overwrite volic with incorrect value if grid is non-planer.
- **dump / fehm** add space between ns and nelements, increase to i12
- **read / fehm** fixed seg fault for 0 elem report message by using a,a instead of a in write format.
- *build ExodusII6 libraries* The following issue was fixed when building static libraries with exodus:
```
These are the external libs used with LaGriT V3.1 As of November 2012
http://sourceforge.net/projects/exodusii/files/
Exodus II 5.22a
HDF5 version 1.8.6
netcdf-4.1.3
Error in Library inclusion order in the following places:
1. /n/swdev/src/exodusii/exodus-6.09/exodus/cbind/CMakeList.txt
Line 284
2. /n/swdev/src/exodusoo/exodus-6.09/exodus/forbind/CMakeList.txt
Line 62
Solution was to switch ${HDF5_LIBRARY with ${HDF5HL_LIBRARY
Linux RHEL Exodus 5 libraries were built in /n/swdev/LAGRIT/VERS_3.100_012_NOV09/build_lagrit/exodus
Build executable for linux:
gfortran -O -Dlinx64 -static -fcray-pointer -fdefault-integer-8 -fno-sign-zero -o mylagrit lagrit_main.o lagrit_fdate.o lagrit_lin64_o_gf4.5.a /n/swdev/LAGRIT/VERS_3.100_012_NOV09/build_lagrit/lg_util/lib/util_lin64_o_gfort4.5.a -L /n/swdev/LAGRIT/VERS_3.100_012_NOV09/build_lagrit/exodus/lin64/lib -lexoIIv2for -lexodus -lnetcdf -lhdf5_hl -lhdf5 -lz -lm -lstdc++
```
----------------------------------
## LaGriT V3.101 November 2013
Note for DFNWorks applications using LaGriT, this version does NOT have the PFLOTRAN file option.
This version of code uses ExodusII 5 routine calls. These are replaced with ExodusII 6 in newer versions.
V3.103 is last version lagrit code using Exodus 5 libs
V3.104 is new version lagrit code using Exodus 6 libs
### Enhancements:
- **read / zone** or **zone_element** added option zone_element which allows reading of node or element list in FEHM zone or zonn format. Each node or element number found in the list has attribute tagged.
### These issues were fixed:
- **addatt**/mo_tri / **unit_area_normal** fixed incorrect zero result and fixed attribute handling so vector array is formed using irank = 3.
- **cmo/addatt/** mo/ **area_normal/xyz/** Result is off by factor of 2, fixed area normal to assign half the cross product (for triangles).
- **synth_norm** fixed handling of attributes. The synthetic normals were creating a dummy attribute not used because offsetsurf is creating x_n_norm y_n_norm z_n_norm on the input cmo. Attribute names are ignored on the command line, added better reporting for this.
------------------------------------------------------------------------
## LaGriT V3.100 November 2012
Major changes to most parts of the code to enable 64 bit compilation and
added external ExodusII 5 libraries to write Exodus basic mesh files.
This includes work by Quan Bui for ExodusII node sets and element sets.
### Enhancements:
- **dump / exo** Now includes netcdf and exodus libs for writing exodus mesh files and reading and writing facesets.
```
Syntax:
dump / exo / ifile / cmoname
Dump exodus files with/without facesets, fast/slow options:
dump / exo / ifile / cmoname / facesets / on
dump / exo / ifile / cmoname / facesets / off
dump / exo / ifile / cmoname / facesets / on file1,file2,...filen
dump / exo / ifile / cmoname / facesets / off file1,file2,...filen
write exo pset and eltsets:
dump / exo / filenam.exo / cmoname / psets / eltsets /
dump/exo/mesh_07.exo/mo7//eltsets/ &
facesets bc01.faceset &
bc02.faceset bc03.faceset bc04.faceset &
bc05.faceset bc08.faceset bc09.faceset
dump/exo/mesh_06.exo/mo6/psets// &
facesets bc01.faceset &
bc02.faceset bc03.faceset bc04.faceset &
bc05.faceset bc08.faceset bc09.faceset
```
- **dump** 3 token short syntax for dump (avs,gmv,lg,lagrit,ts,exo)
- **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.
- **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.
- **massage** Added option for massage to refine based on an attribute field.
```
Syntax:
massage / [bisection length/field name] / merge_length / toldamage / ...
```
- **massage2** Under development massage2 syntax for incremental refinement strategies.
```
Syntax:
massage2/ [file name] / [Target Length Scale]/[field name]/ &
merge_length/toldamage/[tolroughness]/[ifirst,ilast,istride]/ ...
```
- **math** add modulo and mod options
- **recon** Code improvements related to recon 0 and recon 1 will result in
slightly different but better connectivity results.
- **sort** Added line sort by nodes or elements for creating valid polygons
that can be read and used by other routines.
```
Syntax:
sort / line_graph / cmo / ascending descending / [key] / [nodes/elements]
```
### These issues were fixed:
- cmo/copyatt fix copy from node attribute to elem attribute of equal length
- cmo/readatt fix to allow character in first position which will be skipped
- minor fixes related to 64 bit code changes. Improved error catching for common routines.
------------------------------------------------------------------------
*Changesets tracked in Mercurial/Trac on ancho.lanl.gov/lagrit*

View File

@@ -0,0 +1,70 @@
LaGriT Release Notes
====================
This page describes version updates for V3.2 and newer. See other pages for older versions.
## LaGriT V3.3 October 2017
- Major changes to comply with ExodusII 7, changed arrays to 8 byte integers instead of 4
- dump/exo no longer writes empty attrib arrays to the ExodusII file
- all test directories with ExodusII files updated to new output
- all test directories using rmpoint and filter commands updated to new output
- lagrit.lanl.gov removed from this repo, use docs/pages instead
-------------------------
## LaGriT V3.203 July 2017
- Major upgrade to LaGriT build and test scripts.
- Added install.h and improved documentation for building LaGriT on Linux and Mac machines.
- Update ExodusII to 7.01 using git clone ```https://github.com/gsjaardema/seacas.git```
- Removed exodus include files from src directory and use install.sh instead
- Convert lagrit.lanl.gov to github Markdown pages at ```https://lanl.github.io/LaGriT```
### These issues were fixed:
- segmentation fault during triangulate
- massage command failing to de-refine and no error is reported
- ExodusII output for 2D Planar incorrectly written as 3 Dimensions
- second call to addmesh/excavate command causing memory error or segmentation fault
- output adjusted to make room for large numbers when reporting dudded nodes from filter command
### Added to Test Suite:
- *level01/createpts_filter* illustrates the difference between filter and the more accurate filterkd commands
- *level01/smooth_massage* use massage with smooth to refine and de-refine a triangulation
- *level01/write_exo* write 3D and 2D Exodus files with psets, eltsets, and facesets
- *level01/pflotran_stor* write pflotran style Voronoi geometric coefficient (volume, face area) files
### PyLaGriT new features:
- **read_sheetij** creates a quad mesh from an elevation file reading Z(i,j) into mesh zic attribute
- **read_modflow** creates a modflow rectilinear mesh using modflow files using elev\_top.mod and init_bnds.inf
- **read_fehm** read FEHM format mesh file with geometry and connectivity (LaGriT does not have this option)
- *examples/arctic_w_ice_wedges* example Mesh for 2D polygon with ice wedges by Chuck Abolt
- *examples/julia* Example of using PyLaGriT within a Julia script. Requires that the Julia package PyCall is installed.
### Known Issues:
- Builds with compiler gfortran v5 or greater can generate run-time signal exceptions such as IEEE_DNORMAL. Most exceptions have been tracked down and fixed according to picky compiler suggestions. These exceptions have not changed the behavior of the code. Exceptions will continue to be fixed as they show up.
- During testing it was found that the filter command may find and remove fewer nodes than the command filterkd. The command filterkd is recommended where precision might be an issue. Documentation will be changed to reflect this. It is expected that the filter command and algorithm will be deprecated and replaced by filterkd. See *test/level01/createpts_filter*
- Paraview has trouble displaying ExodusII facesets for 2D grids in 3 Dimensions, but is fine with 2D planar where Z values are ignored. When viewing these same ExodusII files with GMV, the facesets look correct. Checking files by converting to ASCII with ncdump, the files look correct. We do not know if this is a LaGriT, ExodusII, or Paraview issue. See *test/level01/write_exo* for ExodusII example files.
---------------------------
## LaGriT V3.200 September 2016
LaGriT V3 LACC-15-069 is now distributed as open-source software under a BSD 3-Clause License.
This version moves the entire LaGriT repo from a local mercurial version control to public github and now includes the python driven version PyLaGriT. For most current versions of source and documentation use the open-source repository at
``` https://github.com/lanl/LaGriT```
Compiled executable versions of LaGriT will continue to available through https://lagrit.lanl.gov/licensing.md
*See code and issues at https://github.com/lanl/LaGriT*

View File

@@ -0,0 +1,309 @@
LaGriT V3.3.3 Release Notes
====================
This page describes version updates for V3.3.3 release. This release updates code to prepare for major capability developments using new C++ routines. CMake tools are used to enable the cross platform compile and linking of C/C++ to LaGriT Fortran code.
Previous release LaGriT v3.3.2 Apr 16, 2019
### Enhancements:
- 2D Poisson Disc Sampling for point generation. See command createpts/poisson_disk
- Modified triangulate so that it will try clockwise and counterclockwise polygon orientation.
- read/gocad for 3D .so and 2D .ts files.
- AVS UCD pnt format added to make it easy for Paraview to read and view points.
- GMV option ipolydat = no is now the default, files will have smaller size without voronoi polygons included
- Improvements to PyLaGriT commands and usage, test cases added to the directory
- The manual and command pages were heavily edited to add examples and remove unused large files
- Test scripts and organization improved to include level01 (always), level02 (exodus libs), level03 (dev only)
### Major Change in Build
This release includes new build scripts and associated files that use cmake to compile, build, and test LaGriT with and without optional Exodus libs. The build process with and without Exodus has been tested on Linux (Ubuntu 18 and 20) and MacOS (Ventura Intel and M2). Further work, including for Windows, will continue in future releases.
Our cmake scripts do not always use the latest features, instead favoring readability and straightforward statements to help with debugging and troubleshooting. The cmake and install scripts are commented with suggestions and the build documentation has details for all steps. See README.md and links on main page.
- Cmake is controlled by CMakeLists.txt and settings found in /cmake files.
- Cmake creates lagrit.h using PROJECT_VERSION_* in template lagrit.h.in
- Cmake creates fc_mangle.h for c-fortran routines to handle symbol mangling, CMakeLists.txt names should match declarations in src/lg_f_interface.h
- The LaGriT build is fairly simple without ExodusII and is recommended if you do not need to write exodus files.
- For Exodus install, configure, and build for LaGrit, use scripts install-exodus.sh or Mac_install-exodus.sh
### Major Codes Added
The new poisson-disk routines are written in C++ and depend on new codes in support of c-fortran interfaces. See src/poi_* for the new poisson-disk codes. The file src/lg_example.cpp explains how the c-fortran codes are handled.
```
lg_fc_wrappers.f90 - used to assign mesh object cray pointer to c pointer
lg_c_wrappers.cpp - cpp wrappers for dotask and cmo_get_info routines
lg_f_interface.h - fortran declarations for routines in public_interface.cpp
lg_c_interface.h - constants and c declarations
fc_mangle.h - created by cmake and CMakeLists.txt to mangle fortran declarations
lg_routines are C++ wrappers calling fortran using C arguments
fc_routines are f90 wrappers calling fortran using c-fortran arguments
In all cases types passed must match types in fortran where integer=8bytes, real*8=8bytes, pointer=8bytes
```
### Known Issues
- New Mac compilers are showing a precision differences for very small numbers near zero. This does not appear to affect performance but might be noticed when comparing new mac output files with old versions. For instance in "degenerate" cases with 4 vertices on circumscribed circle, you can put the diagonal edge of the rectangle on either diagonal and round off may be the deciding factor. The different connection of this degenerate case is still correct/Delaunay. See issue #252
- If compiled with gfortran V5 or greater, LaGriT may exit on exceptions not caught in old portions of code.
Avoid this by using the flag -ffpe-trap=invalid,zero,overflow,underflow,denormal
- Though Window machines have been supported in the past, this release has not been compiled and tested on Windows.
### Log Summary
```
git log --pretty=format:"%h - %an, %ar : %s" --since=3.years
35f2fc81 - Terry Miller, 24 hours ago : Update lagrit_release_notes_V3.330.md
f77526bb - Terry Miller, 3 days ago : Update README.md
80509d5b - Erica Hinrichs, 3 days ago : Adding an Exodus install script for MAC
9d9da4a6 - Erica Hinrichs, 3 days ago : Updates to runtest.py and README files
ab02ec31 - Terry Miller, 3 days ago : level03 with precision diffs for mac and linux
945f7523 - Terry Miller, 2 weeks ago : Examples for poisson development
05664065 - Erica Hinrichs, 2 weeks ago : Modified and improved test suite for usability and to fix arguments not working issue.
a4889204 - Terry Miller, 2 weeks ago : Added new tests for stack and mac precision test
77fd45c2 - Terry Miller, 2 weeks ago : Moved hex_3x4 to level03 test for mac precision issue
a6cc9fdc - Terry Miller, 2 weeks ago : Updates to reference files with added screen output
8020b578 - Terry Miller, 2 weeks ago : Update createpts_poisson.md
901b7e6e - Terry Miller, 2 weeks ago : exodus build
d2a29f79 - Jeffrey Hyman, 2 weeks ago : Merge branch 'master' into poisson_disk
80401237 - Carl Walter Gable, 2 weeks ago : Merge branch 'poisson_disk' of github.com:lanl/LaGriT into poisson_disk
dd5db696 - Erica Hinrichs, 2 weeks ago : Small edits to fix implicit declaration errors.
b72fe9d1 - Terry Miller, 3 weeks ago : poisson_disk documentation
54bd7a12 - Terry Miller, 3 weeks ago : Merge branch 'master' of github.com:lanl/LaGriT
7109fa05 - Terry Miller, 3 weeks ago : Running the script will FIX Exodus cmake files for a successful linux build
9729129e - Terry Miller, 3 weeks ago : Add instructions to use SSH clone for git push/pull
896c4432 - Carl Walter Gable, 3 weeks ago : Working version of 2D Poisson disk code, added advanced options for seed, sweeps, samples, and a few typos corrected in *.cpp files.
08d4d081 - Terry Miller, 3 weeks ago : Update lagrit_release_notes_V3.330.md
d0c973dd - Terry Miller, 4 weeks ago : Update README.md
810be706 - Jeffrey Hyman, 4 months ago : grid memory allocation
d0307191 - Jeffrey Hyman, 4 months ago : preallocated vectors in poisson disk
bc1ba76c - Terry Miller, 6 months ago : Added README.md and modified files in this documentation directory to clarify these files are pre-2019 from mercurial and web page documentation. Current documentation is in the docs directory.
e3345ad7 - Terry Miller, 6 months ago : Update build.md WINDOWS under dev
affb3420 - Terry Miller, 6 months ago : Update build.md regarding cmake
94da5982 - Terry Miller, 6 months ago : Update development.md contacts
0724f698 - Terry Miller, 6 months ago : Update index.md broken link
b9972b9e - Terry Miller, 6 months ago : Update index.md with quick links at top
7d0779e0 - Jeffrey Hyman, 6 months ago : Merge branch 'master' into poisson_disk
822059b7 - Jeffrey Hyman, 6 months ago : Merge branch 'master' into poisson_disk
1ad05506 - Terry Miller, 6 months ago : Small edits to build lagrit on Linux for V3.3.3
d54129db - Terry Miller, 6 months ago : CMakeLists.txt working on linux and mac with exodus and no exodus
aa6b03cf - Terry Miller, 6 months ago : Removed original_pylagrit_website
fd1c851b - Terry Miller, 6 months ago : remove unused m64 flag, add error reporting
d249f6a9 - Jeffrey Hyman, 10 months ago : added z value to polygon sampling
f03ba1c7 - Jeffrey Hyman, 10 months ago : more formatting
bb1e52fa - Jeffrey Hyman, 10 months ago : cleaing up Poisson Disk screen output
b89018e6 - Jeffrey Hyman, 10 months ago : advanced user options for Poisson Disck Sampling
6d1b4140 - Jeffrey Hyman, 10 months ago : adding seed option to C++ code. needs to be added to LaGrit high-level command
7223f104 - Jeffrey Hyman, 1 year, 1 month ago : AStyle formatting of c++ files
edd7740c - Jeffrey Hyman, 1 year, 1 month ago : mo_poi_h_field added to C++ poisson input arguments
fcc1ab8f - Terry Miller, 1 year, 3 months ago : update instructions
3893346e - Terry Miller, 1 year, 3 months ago : cmake options
3d83906a - Terry Miller, 1 year, 3 months ago : exodus install
965ccdb5 - Terry Miller, 1 year, 3 months ago : update instructions
d7ea4a51 - Terry Miller, 1 year, 3 months ago : Fixes to cmake files to build with Exodus on Linux and macOSX
5dd59c84 - Terry Miller, 1 year, 5 months ago : make in build dir
8878d2d2 - Terry Miller, 1 year, 5 months ago : stack
733efb9f - Terry Miller, 1 year, 5 months ago : add 4 octree examples
ee71c25d - Terry Miller, 1 year, 6 months ago : add instructions for build and test
402fd797 - Carl Walter Gable, 1 year, 1 month ago : Modifid arguments to poisson_2d. Cleaned up some screen output. Get rid of unused variables. Refined steps taken for nonconvex polygons.
fd256570 - Carl Walter Gable, 1 year, 2 months ago : Added code to poi_driver.f to handle nonconvex polygon input. Modified triangulate_lg.f so that it will try clockwise and counterclockwise polygon orientation.
69f4008a - Carl Walter Gable, 1 year, 2 months ago : First working version of Poisson disk driver subroutine
2f34a017 - Carl Walter Gable, 1 year, 2 months ago : Change default name of node attribute to id_node. It was ialias
ecdb22c2 - Jeffrey Hyman, 1 year, 3 months ago : linux gnu 7.5 doesn't like vector.reserve
a1d466f8 - Jeffrey Hyman, 1 year, 3 months ago : commiting to vectors
9678020f - Jeffrey Hyman, 1 year, 3 months ago : working again
535a664e - Jeffrey Hyman, 1 year, 3 months ago : revert back from vector:
6da61e7a - Jeffrey Hyman, 1 year, 3 months ago : convert to linear index vectors
dbb25433 - Jeffrey Hyman, 1 year, 3 months ago : revert
9a5d4db4 - Jeffrey Hyman, 1 year, 3 months ago : cleaning up lagrit calls
b5dc9738 - Jeffrey Hyman, 1 year, 3 months ago : switch to linear indexing
72bedc53 - Jeffrey Hyman, 1 year, 3 months ago : changing grid to linear indexing
9028310d - Jeffrey Hyman, 1 year, 3 months ago : debugging neighbor grid
a80b78b2 - Jeffrey Hyman, 1 year, 3 months ago : debugging neighbor grid
dd9625b0 - Jeffrey Hyman, 1 year, 3 months ago : Cleaned out dumps
9d0122d0 - Jeffrey Hyman, 1 year, 3 months ago : I tihnk it's working?
aea1dea3 - Jeffrey Hyman, 1 year, 3 months ago : names are cleaned up and working
fe3cdb7a - Jeffrey Hyman, 1 year, 3 months ago : cleaned up a bunch of names
148058a1 - Jeffrey Hyman, 1 year, 3 months ago : adding checks
de3bf69c - Jeffrey Hyman, 1 year, 3 months ago : working on reading in the vertices
db203abd - Jeffrey Hyman, 1 year, 3 months ago : fixed line length
dbf1477b - Jeffrey Hyman, 1 year, 3 months ago : set up for merge
1a0b624d - Jeffrey Hyman, 1 year, 3 months ago : set up for merge
8f7bfda8 - Jeffrey Hyman, 1 year, 3 months ago : distance field load seems to be working npw
fc7a6eae - Jeffrey Hyman, 1 year, 3 months ago : distance field indexing is wrong. radius assigned to h. Seems to work as a hack for now
e002cbb0 - Terry Miller, 1 year, 3 months ago : verbose
747e51d4 - Terry Miller, 1 year, 3 months ago : verbose options
dc77a616 - Terry Miller, 1 year, 3 months ago : update instructions
65c61a71 - Terry Miller, 1 year, 3 months ago : cmake options
fb25fdf9 - Terry Miller, 1 year, 3 months ago : exodus install
5dd67dce - Terry Miller, 1 year, 3 months ago : update instructions
3fcd4572 - Terry Miller, 1 year, 3 months ago : Fixes to cmake files to build with Exodus on Linux and macOSX
49c5bcd2 - Jeffrey Hyman, 1 year, 5 months ago : PD-2D seems to be working
aa8d96ab - Jeffrey Hyman, 1 year, 5 months ago : poisson disk 2d uniform working
425a2f18 - Jeffrey Hyman, 1 year, 5 months ago : trying to pass doubles / Reals to C++
a042018f - Jeffrey Hyman, 1 year, 5 months ago : loaded points onto polygon from cmo
08be2c18 - Jeffrey Hyman, 1 year, 5 months ago : fixed up conflict
5f98c47f - Jeffrey Hyman, 1 year, 5 months ago : setup for merge
aed1dba6 - Carl Walter Gable, 1 year, 5 months ago : fortran driver for PD
00435baa - Terry Miller, 1 year, 5 months ago : dev
a174b0d5 - Terry Miller, 1 year, 5 months ago : make in build dir
ae8ae294 - Terry Miller, 1 year, 5 months ago : stack
1b15c844 - Terry Miller, 1 year, 5 months ago : img
1c1be6e7 - Terry Miller, 1 year, 5 months ago : add image
1e98921e - Terry Miller, 1 year, 5 months ago : GDSA 4 Tests image
40642680 - Terry Miller, 1 year, 5 months ago : add 4 octree examples
82e6c86f - Terry Miller, 1 year, 6 months ago : add instructions for build and test
53fd3bbd - Terry Miller, 1 year, 7 months ago : These files contain routines to interface C++ codes to lagrit fortran routines. fc_mangle.h included but will be overwritten with cmake Note lg_ files are similar to Daniel's C++ interface on windows branch
8eedca21 - Terry Miller, 1 year, 7 months ago : add command poisson and Jeffrey's files for 2D version these are under development to add syntax and methods
409c05f2 - Terry Miller, 1 year, 7 months ago : Corrected to return REAL value for REAL option instead of int Added checks for 8 byte sizes passed by argument
c6180cfe - Terry Miller, 1 year, 7 months ago : Added portion to create src/fc_mangle.h to bind C-Fortran subroutine names
87986f8c - Terry Miller, 1 year, 8 months ago : examples
8b696073 - Terry Miller, 1 year, 8 months ago : Update for compile with cmake, add test using cmo_get calls make sure user_sub not called if command not recognized added test command
65ebad45 - Terry Miller, 1 year, 9 months ago : new files
c5fa0a2b - Terry Miller, 1 year, 9 months ago : make
4464fc3d - Terry Miller, 1 year, 9 months ago : no exodus
c33a9288 - Terry Miller, 1 year, 9 months ago : links
439579dd - Terry Miller, 1 year, 9 months ago : add workflow
17406ca8 - Terry Miller, 1 year, 9 months ago : -99
42e6826a - Terry Miller, 1 year, 10 months ago : put back with new img
a5c0d7f2 - Terry Miller, 1 year, 10 months ago : remove tutorial section
d5d62f36 - Terry Miller, 1 year, 10 months ago : img
ab311ff0 - Terry Miller, 1 year, 10 months ago : img
fbae5abb - Terry Miller, 2 years ago : update instructions
3be8a088 - Terry Miller, 2 years ago : clarify instructions
e546cb99 - Terry Miller, 2 years ago : tested and working examples moved to level01 remaining files need more work and testing
901423ba - Terry Miller, 2 years ago : clarification on level03 test directories
3561e088 - Terry Miller, 2 years ago : test removed from level03 and replaced with new test in level01
31cffeac - Terry Miller, 2 years ago : test removed from level03 and replaced with new test in level01
59ff12d1 - Terry Miller, 2 years ago : for V3.32 and older
18ac81d6 - Terry Miller, 2 years ago : Update lagrit_release_notes_V3.330.md
cceb3d16 - Daniel Livingston, 2 years ago : Merge pull request #237 from lanl/RC-v3.3.3
869ff333 - Daniel Livingston, 2 years ago : Fixed test suite for quadquality test
3d39f905 - Daniel Reece Livingston, 2 years ago : Update test readme
1d800023 - Daniel Reece Livingston, 2 years ago : Remove extra file
b4378726 - Daniel Reece Livingston, 2 years ago : Release cleanup
6ab71b89 - Daniel Livingston, 2 years ago : Added test info to readme
7dc091da - Daniel Livingston, 2 years ago : Merge branch 'master' of github.com:lanl/LaGriT into RC-v3.3.3
a720479d - Daniel Livingston, 2 years ago : Clean up test cases
7a9e341c - Daniel Livingston, 2 years ago : More modernized test suite
164b7bfc - Daniel Reece Livingston, 2 years, 1 month ago : Added unittest testing
8d51b78b - Daniel Reece Livingston, 2 years, 1 month ago : Attempt to update GitHub Actions again
dccc97e5 - Daniel Reece Livingston, 2 years, 1 month ago : Update GitHub CI with compilers
f8928477 - Terry Miller, 2 years, 1 month ago : update
4f112c7d - Daniel Reece Livingston, 2 years, 1 month ago : Updated CMake significantly
bb3964c1 - Daniel Reece Livingston, 2 years, 1 month ago : Beginning CMake writeup
b869bbc2 - Daniel Reece Livingston, 2 years, 1 month ago : CMake now writes mm2000.h
44db2213 - Daniel Reece Livingston, 2 years, 1 month ago : Testing LaGriT
0d461985 - Daniel Reece Livingston, 2 years, 1 month ago : Fixed missing gfortran in macOS
234235c7 - Daniel Reece Livingston, 2 years, 1 month ago : Fixed CI Python issue
6b7d86f5 - Daniel Reece Livingston, 2 years, 1 month ago : Improvements to Exodus build
cd71aeb4 - Daniel Reece Livingston, 2 years, 1 month ago : Some bug fixes
fe3b42ee - Daniel Reece Livingston, 2 years, 1 month ago : Update Python version for CI
11fbc6d3 - Daniel Reece Livingston, 2 years, 1 month ago : Update GitHub CI
900cdc47 - Daniel Livingston, 2 years, 1 month ago : Update test-lagrit.yml
cefb5d97 - Daniel Livingston, 2 years, 1 month ago : Exous scripts
08405dae - Daniel Livingston, 2 years, 1 month ago : Added auto-push compiled to CI
51c94207 - Daniel Livingston, 2 years, 1 month ago : Updated CI
ab55fc97 - Daniel Livingston, 2 years, 1 month ago : Updated build
93e52c45 - Daniel Livingston, 2 years, 1 month ago : Updated LaGriT CMake
01dd9c2a - Daniel Livingston, 2 years, 1 month ago : Much improved CMake installation and some automatic Exodus lib handling
35bdf6ca - Daniel Livingston, 2 years, 1 month ago : Working static and dynamic linkage
2db46e78 - Daniel Livingston, 2 years, 1 month ago : Changed Fortran preproc settings for CMake 3.11
c8bd8bc3 - Daniel Livingston, 2 years, 1 month ago : Modularizing CMake
47290b68 - Daniel Livingston, 2 years, 1 month ago : Updates to build
8bd255df - Daniel Livingston, 2 years, 1 month ago : Working build - Clang C/GNU Fortran
d0342330 - Daniel Reece Livingston, 2 years, 1 month ago : Compilation working with CMakeLists
d3938f14 - Daniel Reece Livingston, 2 years, 1 month ago : Changing build to CMake
5943e3ea - Daniel Livingston, 2 years, 1 month ago : Removed filename conflicts
92f32c15 - Terry Miller, 2 years, 1 month ago : Add test of gocad files used by dfnWorks and SFWD Jewelsuite projects Includes fixes to attribute names and result reporting
56dc0b2d - Terry Miller, 2 years, 1 month ago : remove gmv files, comment dump commands, update to V3.33
5c22b429 - Terry Miller, 2 years, 1 month ago : remove lagrit output files
0a0bd306 - Terry Miller, 2 years, 1 month ago : move from level03 to level01 to ensure testing for this common command removed binary files and update to V3.33
0584bb21 - Terry Miller, 2 years, 1 month ago : Merge branch 'master' of https://github.com/lanl/LaGriT
1ee072a7 - Terry Miller, 2 years, 1 month ago : fix table
fa279afd - Terry Miller, 2 years, 1 month ago : link refine
60a4b4a0 - Terry Miller, 2 years, 1 month ago : tree_to_fe explained
6c2ae8c9 - Terry Miller, 2 years, 1 month ago : Update reference to V3.33
0a1e57ae - Terry Miller, 2 years, 2 months ago : removed extra directories and files, update README
f75d25d3 - Terry Miller, 2 years, 2 months ago : move write_exo from level01 to level02 because it depends on exo libs. update reference to V3.33
65a9a078 - Terry Miller, 2 years, 2 months ago : heavily modified input.lgi with improved syntax and added comments update reference to V3.33 release and newer exodus 7 versions
90847269 - Terry Miller, 2 years, 2 months ago : replace gmv with avs files, update reference to V3.33 update reference exo from api_version = 5.22f to 7 block ids no longer have 0000 so 1 is 1 instead of 10000
99894ca2 - Terry Miller, 2 years, 2 months ago : final clean-up for V3.33 release
c31c20c1 - Terry Miller, 2 years, 2 months ago : remove old text for old versions of test suite
896124f0 - Terry Miller, 2 years, 2 months ago : remove extra files and update reference to V3.33
5f6d63be - Terry Miller, 2 years, 2 months ago : remove extra files and update reference to V3.33
4a0a49ec - Terry Miller, 2 years, 2 months ago : update reference to V3.33
c9b77654 - Terry Miller, 2 years, 2 months ago : update reference to V3.33
54b8ad9b - Terry Miller, 2 years, 2 months ago : removed unused portion of test and moved to level03/sort as it depends on platform and seed value and checks are visual this test should now be independent of platform update reference to V3.33
97eff5ed - Terry Miller, 2 years, 2 months ago : remove extra files, replace gmv with avs files update reference to V3.33
865b5576 - Terry Miller, 2 years, 2 months ago : replace gmv files with avs and updae to V3.33
b7581990 - Terry Miller, 2 years, 2 months ago : rename files with input and output prefix, update reference to V3.33
4e71e29d - Terry Miller, 2 years, 2 months ago : replace gmv with avs and update reference to V3.33
763ad594 - Terry Miller, 2 years, 2 months ago : remove extra files and update reference to V3.33
accf1367 - Terry Miller, 2 years, 2 months ago : replace gmv with avs and update reference to V3.33
fc452558 - Terry Miller, 2 years, 2 months ago : update reference to V3.33
4c635660 - Terry Miller, 2 years, 2 months ago : replace gmv with avs and update reference to V3.33
4cd843fa - Terry Miller, 2 years, 2 months ago : replace gmv with avs, update reference to V3.33
c431e1c4 - Terry Miller, 2 years, 2 months ago : update reference to V3.33
bd0a0994 - Terry Miller, 2 years, 2 months ago : replace gmv with avs, rename test with input_ update reference V3.33
a083d123 - Terry Miller, 2 years, 2 months ago : Merge branch 'master' of https://github.com/lanl/LaGriT
4e971f86 - Terry Miller, 2 years, 2 months ago : update reference to V3.33
c32ca5e8 - Terry Miller, 2 years, 2 months ago : rename written files to start with "out_" so they can be cleaned update reference to V3.33
f5b65bcb - Terry Miller, 2 years, 2 months ago : update reference to V3.33
018e7031 - Daniel Livingston, 2 years, 2 months ago : Added some debugging params
52bed9ee - Terry Miller, 2 years, 2 months ago : Merge branch 'master' of https://github.com/lanl/LaGriT
a506c819 - Daniel Livingston, 2 years, 2 months ago : Added macOS to GitHub Actions
9b03dd87 - Terry Miller, 2 years, 2 months ago : remove gmv and update reference to V3.33
fc287904 - Daniel Livingston, 2 years, 2 months ago : Fixing GitHub Actions CI
919de121 - Terry Miller, 2 years, 2 months ago : remove extra files, add intersect_elements, fix warnings update reference to V3.33
8beadf5d - Terry Miller, 2 years, 2 months ago : minor adjustment to input.lgi and outx3dgen in reference
887ce884 - Terry Miller, 2 years, 2 months ago : remove many extra files unneeded for this test update to V3.33
38342309 - Terry Miller, 2 years, 2 months ago : replace binary gmv with ascii avs, update reference to V3.33
dd0d090b - Terry Miller, 2 years, 2 months ago : replace all gmv output with single avs files update reference to V3.33
7e266c38 - Terry Miller, 2 years, 2 months ago : remove output files from test directory
b7a1bbda - Terry Miller, 2 years, 2 months ago : remove gmv, update reference to V3.33
93072d4a - Terry Miller, 2 years, 2 months ago : remove gmv files, rename output files, update to V3.33
edf2989f - Terry Miller, 2 years, 2 months ago : remove gmv files, rename written files to "output", remove extra files update reference to V3.33
e467ec90 - Terry Miller, 2 years, 2 months ago : remove extra files, avs vector no longer writes (invalid) file modified input.lgi to remove before writing avs file removed gmv files
3f6ae594 - Terry Miller, 2 years, 2 months ago : change output files to start with name "output"
3287f0f8 - Terry Miller, 2 years, 2 months ago : remove gmv and extra files, update reference to V3.33
47b0c428 - Terry Miller, 2 years, 2 months ago : remove gmv files and update reference to V3.33 test
e127dcda - Terry Miller, 2 years, 2 months ago : remove hard-wired dump/gmv/polygon.gmv and leave polygon.inp
ebdc9315 - Daniel Livingston, 2 years, 2 months ago : Update Makefile
c0c31d25 - Terry Miller, 2 years, 3 months ago : GOCAD keywords
26c829f9 - Terry Miller, 2 years, 3 months ago : update gocad examples
e10c7641 - Terry Miller, 2 years, 3 months ago : edit
647f735d - Terry Miller, 2 years, 3 months ago : release notes for V3.3.3
a872714f - Terry Miller, 2 years, 3 months ago : renamed read gocad test files to have input_ for file names
6dae464f - Terry Miller, 2 years, 3 months ago : test directory for read/gocad 2D and 3D files
a1792928 - Terry Miller, 2 years, 3 months ago : Merge branch 'master' of https://github.com/lanl/LaGriT
af1509f1 - Terry Miller, 2 years, 3 months ago : added missing input*inp for level01/quality
fdcda231 - Terry Miller, 2 years, 3 months ago : Update reference to include new warning for mo with 0 elements
b5c61765 - Daniel Livingston, 2 years, 3 months ago : Delete .travis.yml
f4864bb8 - Terry Miller, 2 years, 3 months ago : Changed ipolydat default to no for writing gmv files
1f9c813c - Terry Miller, 2 years, 3 months ago : Fixed over reporting, buffer issues, better file handling for GOCAD files #222 and #204
1e8f8468 - Terry Miller, 2 years, 3 months ago : Added check to avoie 0 element errors from recon #228
4373c8d7 - Terry Miller, 2 years, 3 months ago : Update lagrit.h to release V3.3.3 October 8 2021
e2c20f9a - Terry Miller, 2 years, 3 months ago : add ZVD ref
6decf3e6 - Terry Miller, 2 years, 4 months ago : fix center
952c7375 - Daniel Reece Livingston, 2 years, 8 months ago : Fixed PyLaGriT warnings
3542b8c2 - Daniel Reece Livingston, 2 years, 8 months ago : Fixed failing test cases for CI
bf7fd833 - Daniel Reece Livingston, 2 years, 8 months ago : Used Black formatting on PyLaGriT files
a4fc5ee5 - Daniel Reece Livingston, 2 years, 8 months ago : Used Black formatting on test Python files
61d1d101 - Daniel Reece Livingston, 2 years, 8 months ago : Changed makefile flag to work with gcc > 10 and < 10
af72ab1e - Daniel Livingston, 2 years, 8 months ago : Update GH Action to remove update-defaults
0e9ed448 - Daniel Livingston, 2 years, 8 months ago : Update test-lagrit.yml
9277a257 - Daniel Livingston, 2 years, 8 months ago : Added new GitHub Actions status badge to repo
b039a67b - Daniel Livingston, 2 years, 8 months ago : Added GitHub Actions for testing LaGriT
3ca8d468 - Daniel Livingston, 2 years, 8 months ago : Changed PyLaGriT setup to setuptools from distutil
03666b6c - Terry Miller, 2 years, 8 months ago : links
a59d2a6d - Terry Miller, 2 years, 8 months ago : fix gmv link
8b6ebcb7 - Terry Miller, 2 years, 8 months ago : add links
50584497 - Daniel Reece Livingston, 2 years, 9 months ago : Added std=legacy flag to remove errors on newer gfortran compilers
```

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.