250 lines
8.7 KiB
Markdown
250 lines
8.7 KiB
Markdown
|
|
---
|
||
|
|
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*
|
||
|
|
|
||
|
|
|