GithubHelp home page GithubHelp logo

lanl / lagrit Goto Github PK

View Code? Open in Web Editor NEW
118.0 12.0 48.0 1016.34 MB

Los Alamos Grid Toolbox (LaGriT) is a library of user callable tools that provide mesh generation, mesh optimization and dynamic mesh maintenance in two and three dimensions.

Home Page: https://lanl.github.io/LaGriT/

License: Other

Makefile 0.13% Fortran 87.47% C 8.58% C++ 0.78% xBase 0.02% Python 2.63% Shell 0.12% Julia 0.02% TypeScript 0.10% CMake 0.15%
meshing delaunay-triangulation geology hydrology grid

lagrit's Introduction

LaGriT: Los Alamos Grid Toolbox

LANL Software: LA-CC-15-069 No. C15097

Latest Version PyPI

dockerhub
readthedocs
readthedocs
readthedocs

Note

We are currently working on developing Poisson-disk for 3D.

Los Alamos Grid Toolbox (LaGriT) is a library of user callable tools that provide mesh generation, mesh optimization and dynamic mesh maintenance in two and three dimensions. LaGriT is used for a variety of geology and geophysics modeling applications including porous flow and transport model construction, finite element modeling of stress/strain in crustal fault systems, seismology, discrete fracture networks, asteroids and hydrothermal systems.

The general capabilities of LaGriT can also be used outside of earth science applications and applied to nearly any system that requires a grid/mesh and initial and boundary conditions, setting of material properties and other model setup functions. It can also be use as a tool to pre- and post-process and analyze vertex and mesh based data.

PyLaGriT is a Python interface for LaGriT that allows LaGriT functionality to be accessed interactively and in batch mode from Python. This allows the meshing capabilities of LaGriT to be combined with the numeric and scientific functionality of Python. PyLaGriT allows interactive and automated querying of mesh properties, enhanced looping functionality, and user defined error checking based on LaGriT output.


Quick Start

Docker Container

The easiest way to get started with LaGriT is through Docker:

$ docker pull ees16/lagrit:latest
$ docker run -it -v $(pwd):/docker_user/work ees16/lagrit:latest

After the container launches, navigate to:

$ cd bin
$ ./lagrit

Building LaGriT

Dependencies

  • CMake is used to generate the build system.
  • C, C++, and compatible Fortran compilers. MacOS may need command line tools updated.
  • OPTIONAL Exodus libraries installed in TPLs, requires bash and wget.

Note: There is an issue with Poisson Disk Commands using any Brew installed compilers and Gnu 10-12. Works on Clang 14-15 and Gnu 9.4.

Download LaGriT

Download the Https repo by running:

git clone https://github.com/lanl/LaGriT.git
cd LaGriT/

Note for developers, you will need the SSH version to enable Git version control to this repository.

Detailed Instructions for Building LaGriT with cmake and exodus

The simplest way to build LaGriT uses cmake with auto dectection and no options. Type the following (you can name the build directory anything you want).

mkdir build/ && cd build/
cmake .. && make

The cmake command creates the configuration and build files for lagrit and will look similar to this:

-- ==========================================
-- ============Configuring LaGriT============
-- ===================v3.3.3=================
-- Compile LaGriT as a static binary = ON
-- Compile LaGriT with ExodusII = OFF
LaGriT Compiling without ExodusII support.

-- Configuring done
-- Generating done

The make command will compile the libraries and build lagrit. Use make VERBOSE=1 to view compile progress. The lagrit executable is installed in the build/ directory.

  • Type ./lagrit to make sure the executable is working.
  • On the LaGriT command line type test which will execute a set of LaGriT commands.
  • Type finish to exit.

The result will look like:

nnodes:              27                                                         
nelements:            8                                                         
xic(1:3):  1.00 1.25 1.50                                                       
imt(1:3):     1    1    1                                                       
epsilonl:   1.9229627E-13                                                       
     Released Mesh Object: test_hex                                             
lagrit test done.                                                               
 
 Enter a command
finish                                                                          
LaGriT successfully completed             

Testing LaGriT

To test LaGriT, start from top and simply run:

$ python test/runtests.py

Test output can be found in the test/lagrit-tests.log file.

Additional options are available by running:

$ python test/runtests.py --help

(Optional) Build LaGriT with ExodusII

The only LaGriT command used with ExodusII libs is dump/exodus and associated face set and node set commands. To include these commands you will need to install Seacas-Exodus.

Use the install-exodus.sh or MAC_install-exodus.sh to Install Exodus and associated libraries. You can run the file or use the file as a guide to copy and paste commands for installation. The script provides the flags needed by LaGriT and will install seacas in the directory TPLs.

For full and current Exodus Installation instructions, go to: Seacas ExodusII

Install, configure, and build ExodusII with script (use MAC_install-exodus.sh for mac machines):

$ ./install-exodus.sh

Configure and build LaGriT using ExodusII libs:

mkdir build/ && cd build/
cmake .. -DLAGRIT_BUILD_EXODUS=ON
make

Detailed Instructions for Building LaGriT with cmake and exodus

CMake Build Options

You can make changes in the CMakeLists.txt file, but your build directory must be empty for globals to take effect. These options are available on the command line and will update cmake global variables.

To use cmake options, use -D as shown in this example:

mkdir dir_name/ && cd dir_name/
cmake .. -DCMAKE_BUILD_TYPE=Debug -DLAGRIT_BUILD_EXODUS=ON
make
  • -D CMAKE_BUILD_TYPE
    • Sets the build type. Choose between Debug and Release.
  • -D LAGRIT_BUILD_EXODUS=ON
    • Builds LaGriT with ExodusII if installed.
  • -D CMAKE_INSTALL_PREFIX
    • Sets where to install LaGriT when running make install. Defaults to /usr/local/.
  • -D LaGriT_BUILD_STATIC
    • Builds LaGriT as a static binary (default; ON) or as a shared library (.so, .dylib, .dll)

Supporting Documentation


Refine Samples

lagrit's People

Contributors

banesullivan avatar cwgable avatar daniellivingston avatar deknapp avatar dharp avatar ehinrichs avatar gthyagi avatar hymanjd avatar jbeisman avatar keurfonluu avatar millerta avatar spchu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lagrit's Issues

add command: eltset/name/face

Create command eltset / name / face / pset get psetname,attributes,new,,,enhancement,major,Carl Gable,2007-11-20T

refine/ prd example crashes

refine option prd see /scratch/er/gable/grid_gen/mda_a/grids/test_prd,"mesh quality, refine, derefine",new,,2.0,defect,major,Carl Gable,2008-05-19
Error in the way refine amr prd is implemented. In the attached test cases, test1.lgi and test2.lgi work, test3.lgi crashes on Linux, SGI and Sun.
Test cases: /scratch/er/gable/grid_gen/mda_a/grids/test_prd

3D connect example with memory error

3D connect results in memory error,see /home/gable/src/lagrit/work/connect_mm_error,defect,major,Gable,2013-07-26
Perhaps points are very close together, check filter

Test

Yo! Does this work?

Documentation updates

Add pflotran to man page

Add test cases and documentation for command crush_thin_tets,minor,Gable,2010-06-29

Add documentation to dump/stor user definition compress_eps for SparseMatrix

math does not recognize imt attribute. Must use imt1

Reporter: gable
Not only does the math module not recognize the attribute imt1 by the name
imt, but it will crash rather than printing an error message that the
desired attribute is not found.
For example:
math/add/mohex/imt/1 0 0/mohex imt/mohex id_z1
Segmentation fault

read exodus

Add a ExodusII reader in LaGriT.
but initially we should not put a lot of resources into supporting every last ExodusII function.
We could read the mesh and assign material ID's but not vertex sets, face sets, element set, etc.

perturb improvement to avoid triangle inversion

I think the real solution is as follows. Write a version of perturb that test for triangle inversion and if a triangle is inverted, reduce the size of the perturbation.

Modify
perturb / pset get psetname / xmag ymag zmag

To to support two new arguments:
perturb / pset get psetname / xmag ymag zmag / tri_invert_check / niterations

  1. Check that the mesh is type triplane, if not tri_invert_check algorithm does not apply
  2. Make temporary arrays xsave, ysave, zsave that save the unperturbed coordinates
  3. Compute normal vector to each triangle
  4. Check that they are all parallel (mesh is planar), if not that is an error/warning flag
  5. for i < niterations
    a. Apply the current random perturbation based on xmag, ymag, zmag factors and pset specification
    b. Compute normal vector to each triangle
    c. Check that they are all parallel (mesh is planar). If any triangles normal is flipped than revert 3 vertex coordinated of that triangle to xsave, ysave, zsave,
    d. make pset of vertices that were reverted to old values
    e. if no triangles were inverted you are done
    f. if triangles were inverted set xmag = xmag/2, etc
    g. increment i and loop back and apply reduced perturbation to nodes that were reverted to original coordinates

Terry,
Please add this to the LaGriT TO-DO list.

Thanks,
Carl

Modify GMV IO

Modify GMV IO so that integer and real data types are maintained,enhancement,minor,Terry Miller,2007-11-21

dump/coord is broken

dump / coord does not produce any output,IO,new,,,defect,major,Terry Miller,2007-11-26

cmo/copy seg fault on 9th cmo

cmo/copy after 9 mesh objects causing seg fault,tam,2013
Note: if there are no user attributes, there is not a seg fault.
Test directory for cmo/copy bug:
/home/tam/src/lagrit/work/cmo_copy/input.lgi

massage does not merge in 2D example

massage does not merge 2D mesh,defect,major,Carl Gable,2008-01-17
A test case that documents the problem can be found in: /home/cwg/src/lagrit/bugs/massage/merge_2d_tri_mesh
trac #25

addmesh/excavate crashes with multiple calls

Description:
It appears that the module add mesh/excavate allocates an array named 'elemfound' that is part of the partition 'excavate' that is not released. There is no problem with a single call to add mesh/excavate however when called twice if the array needs to be larger on the second call, it can cause a memory management error and code crash.

Need to check if other arrays (closets, pushval, popval, visited) also need to be released.

cmo/addatt/ synth_norm not handling attributes correctly

/home/cwg/src/lagrit/work/synth_norm
test.lgi

cmo / create / mo_hex / / / hex
createpts / brick / xyz / 3 3 3 / 0. 0. 0. / 1. 1. 1. / 1 1 1
extract surfmesh / 1 0 0 / mo_surf / mo_hex / external
resetpts / itp

hextotet / 4 / mo_tri / mo_surf
resetpts / itp

These don't work but perhaps they should not since quads are not

supported

cmo / addatt / mo_surf / synth_normal_area
cmo / addatt / mo_surf / synth_normal_angle
cmo / addatt / mo_surf / synth_normal_area / norm_area
cmo / addatt / mo_surf / synth_normal_angle / norm_ang

The commands below should work for triangles. Perhaps syntax is wrong.

cmo / addatt / mo_tri / synth_normal_area
cmo / addatt / mo_tri / synth_normal_angle
cmo / addatt / mo_tri / synth_normal_area / norm_area
cmo / addatt / mo_tri / synth_normal_angle / norm_ang

Try something that uses synthetic normal

Quads will not work because only tri is supported

offsetsurf / mo_surf_off / mo_surf / 0.1

Tri works fine

offsetsurf / mo_tri_off / mo_tri / 0.1
dump/gmv/tmp_offset.gmv/mo_tri_off

finish

connect 2D problems when range of length scales is very wide

connect 2D problems with epsilonr having to do with wide range of length scales,defect,major,Carl Gable,2010-07-13
/scratch/ymp/gable/grid_gen/ufd/GTCC_report/gridding/ver07/test_connect/refine_mesh.lgi
Perhaps a fix would be to create a user controlled parameter (eg. user_param) with a default value of 0 or 1.0.
Then in:
delaunay2d_lg.f:675: if(abs((volnewt-vololdt)/vololdt).gt.epsilonr*atolerance) then
Introduce the user_param if it exists to allow the user more control over when a node is rejected.

dump/exo add explanations to manual

Add explanation and method notes in addition to syntax.
dump / exo (new syntax)
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

interpolate problems on level 0 mesh with parent-child nodes

Interpolate appears to break on background mesh with parent-child nodes see /home/agable/lagrit/tickets/interp_parent,IO,new,,2.0,defect,major,Aaron Gable,2010-07-12
The interpolate function appears to break when given a background mesh with parent-child node relationships.
An example is contained in /home/agable/lagrit/tickets/interp_parent/
Notice that it gets - quite clearly - the wrong answer. A node lying almost directly on the surface, but not part of the original surface itself, is given a distance in the thousands, when it should be near zero.
Run: cmo / select mesh resetpts / parents rmpoint / compress resetpts / itp cmo / DELATT / mesh / -dist- compute / distance_field / mesh / surf / -dist-
It now gets the right answer.

interpolate broken using pset on second pass

check for issues with pt_gtg staying around when it is not used

and

interpolate broken using a psets on the second pass using keepatt pt_gtg,defect,major,Terry Miller,2009-04-21

define / NP / 5
cmo / create / mo_sink / / / tet
createpts / xyz / NP NP NP / 0. 0. 0. / 1. 1. 1.
cmo / create / mo_src / / / tet
createpts / xyz / NP NP NP / 0. 0. 4. / 1. 1. 6.
cmo / select / mo_sink
pset / pinterp / attribute / xic / 1 0 0 / .5 / ge
cmo / set_id / mo_src / node / id_node
cmo / addatt / mo_sink / isink1 / vint / scalar / nnodes
cmo / addatt / mo_sink / isink2 / vint / scalar / nnodes
interpolate/voronoi/mo_sink/isink1/pset get pinterp/mo_src/id_node/keepatt
interpolate/voronoi/mo_sink/isink2/pset get pinterp/mo_src/id_node/keepatt
dump / gmv / test.gmv / mo_sink

finish

some handy commands to add

dump option -all- and list

pset / delete / -all- and eltset / delete / -all-

cmo / clean / cmo_name / [attributes],attributes

PyLith outputs

Output facet informatoin for PyLith (faults, outside, model boundaries),minor,Carl Gable,2007-12-19

inside element tests failures when distances are close to epsilon values

improve strategy used to find nodes inside or on element.
Need improved strategy that can deal with points within or close to epsilon distances.
Current fix to the issue:
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.

filter has format problems with large numbers

We are running into cases where number of duded points is large. We are parsing the number of dudded points as part of the validation checking and we get the case where the string and integer run together without a space and also the case where i7 is not big enough.
Two changes in filter.f

  1. Added a space after Dudding’ so that the character string does not run into the integer when icount is > million
  2. Modified format so that we are good until we have more than 99999999999 dudded points
    New code:
  if(icount.gt.0) then
     if(icount .lt. 10000000)then
        write(logmess,9930) icount

9930 format(' Dudding ', i7, ' duplicate points.')
else
write(logmess,9931) icount
9931 format(' Dudding ', i11, ' duplicate points.')
endif
call writloga('default',1,logmess,0,ierrw)
endif
Old code:

  if(icount.gt.0) then
     write(logmess,9930) icount

9930 format(' Dudding', i7, ' duplicate points.')
call writloga('default',1,logmess,0,ierrw)
endif

update banner with new copyright

Copyright 2015. Los Alamos National Security, LLC. This software was produced under U.S. Government contract DE-AC52-06NA25396 for Los Alamos National Laboratory (LANL), which is operated by Los Alamos National Security, LLC for the U.S. Department of Energy. The U.S. Government has rights to use, reproduce, and distribute this software. NEITHER THE GOVERNMENT NOR LOS ALAMOS NATIONAL SECURITY, LLC MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LIABILITY FOR THE USE OF THIS SOFTWARE. If software is modified to produce derivative works, such modified software should be clearly marked, so as not to confuse it with the version available from LANL.

extrude using nstgeom

fix set of nstgeom in extrude.f,attributes,new,,,defect,minor,gable,2012-11-14T11:21:15-07:00,11:21:15-07:00,quanb

addatt scalar

/scratch/nts/tam/rainier_mesa/ETUNNEL_grids/pond_objects

lagrit 2012 V3.003 BUG

infile triangulate_pond.mlgi
cmo/create/MO///triplane
cmo/readatt/MO/imt,xic,yic/1,0,0/IN
cmo/addatt/mop1/imt/VDOUBLE/scalar/nnodes/linear/permanent/gxaf/0.0
finish
cmo/addatt/mop1/VDOUBLE/VDOUBLE/scalar/nnodes/linear/permanent/gxaf/0.0
finish
cmo/addatt/mop1/scalar/VDOUBLE/scalar/nnodes/linear/permanent/gxaf/0.0

ADDATT error: scalar must have 3 attributes, got: 6
cmo/addatt/cmoname/scalar / v1_snk, v2_snk, v3_snk / v_src

ADDATT ERRORS BEFORE COMPLETION ierror_return = 0

old lagrit V2.2 has no errors and finishes.

metis does not work for 64 bit compile (old metis being used)

metis works for 32 bit but NOT 64 bit
metis libs have been updated, but all syntax has changed.
Either modify code we have to work for 64bit
OR get new metis and modify lagrit calls to routines as needed.
metis test case: /home/cwg/src/lagrit/work/metis/test_suite/test.lgi


From: "Karra, Satish" [email protected]
Date: October 18, 2013 11:33:56 AM MDT
To: "Miller, Terry A" [email protected]
Cc: "Gable, Carl Walter" [email protected]
Subject: metis/parmetis libraries

Terry,

I have installed the metis/parmetis libraries using 64bit int in

/home/satkarra/src/petsc-hg/RHEL-no-debug-64bit

The source files for metis/parmetis can be found in

/home/satkarra/src/petsc-hg/externalpackages

Please give a shot at using them and let me know how it goes. We then ask
PETSc developers if we hit a road block somewhere.

--Satish

http://www.mcs.anl.gov/petsc/index.html

From petsc site FAQ:
What Fortran compiler do you recommend for the Apple Mac OS X?

(as of 04/29/2013) We recommend installing gfortran from http://hpc.sourceforge.net.
They have gfortran-4.7.0 for Lion (10.7) and gfortran 4.8 for Mountain Lion (10.8).
Please contact Apple at http://www.apple.com/feedback and urge them to
bundle gfortran with future versions of Xcode.


rmregion update manual

Documentation for rmregion command is very very terse.
It appears that there is undocumented but supported syntax.
Documentation says:
FORMAT:
rmregion/region_name/
But it appears that the following works:
rmregion / not region_name
Should check code and syntax a bit and update documentation.

modify ipolydat no to be the default

dump/gmv writes out the polygons of the faces by default, making large file sizes. Create flag to allow / disallow this.

ipolydat is being set to yes. Set to no.

extract polyline

extract line from surface as polyline instead of line elements,enhancement,minor,Aaron Gable,2010-06-10

closed tickets from earlier versions of LaGriT includes ticket number and description.

171,dump/fehm integer needs space for large number,IO,closed,fixed,,defect,major,Gable,2015-03-18T16:21:50-06:00,11:53:03-07:00,tam
159,read/zone for filling element attribute,IO,closed,fixed,,enhancement,major,Gable,2013-04-26T09:47:06-06:00,09:45:34-06:00,tam
156,sort will not sort nodes of a MO without connectivity,attributes,closed,fixed,2.0,defect,major,Gable,2013-04-18T10:24:46-06:00,08:26:01-07:00,gable
153,linear_transform call interpolate three times but does not use keepatt for the second two,"mesh quality, refine, derefine",closed,invalid,2.0,enhancement,major,Gable,2012-12-06T12:50:09-07:00,10:49:25-07:00,gable
139,cmo/copyatt errors when node and elem attributes are same length,IO,closed,fixed,,defect,major,tam,2012-11-02T12:15:44-06:00,07:54:27-06:00,tam
136,cmo/readatt should ignore lines beginning with a string,attributes,closed,fixed,,defect,minor,quanb,2012-09-12T11:33:09-06:00,11:00:00-06:00,quanb
135,itet array gets corrupted in addmesh merge,memory management,closed,fixed,,defect,major,gable,2012-08-14T14:09:41-06:00,11:15:52-06:00,quanb
134,math modulo option added,closed,fixed,,enhancement,minor,gable,2012-08-13T11:09:53-06:00,11:07:52-06:00,quanb
132,cmo/addatt/ synth_norm not handling attributes correctly, fixed and added test "mesh quality, refine, derefine",closed,fixed,,defect,major,team,2013-04-18T07:57:55-06:00,08:51:27-06:00,tam
129,"recon 2D 1 triangle gets epilog overwrite, but 2 triangles works","mesh quality, refine, derefine",closed,fixed,,defect,major,tam,2012-09-18T13:11:57-06:00,16:56:32-06:00,tam
121,stor file header for 3D spelling of Coefficients is incorrect,IO,closed,fixed,2.0,defect,minor,Gable,2012-06-27T15:43:00-06:00,14:49:15-06:00,gable
117,readatt bug cmsgin array was being overwritten by dotask call that calls parse_string,memory management,closed,fixed,,defect,critical,tam,2012-03-08T08:32:38-07:00,14:58:56-07:00,tam
114,parse_string2 added recognition of tab as white space,IO,closed,fixed,,defect,major,tam,2012-03-13T09:22:11-06:00,09:43:23-07:00,tam
111,reorder may sort the wrong thing if nnodes equal nelements,attributes,closed,fixed,,defect,minor,gable,2011-08-09T08:55:48-06:00,15:43:08-06:00,adamc
110,connect 2D crashes when y coordinate range is negative,"mesh quality, refine, derefine",closed,fixed,2.0,defect,major,Carl Gable,2012-06-28T08:05:02-06:00,08:03:50-06:00,gable
108,cmo/addatt/mo/area_normal/xyz/att_v_area off by factor of 2,attributes,closed,fixed,2.0,defect,major,Carl Gable,2013-04-18T07:51:04-06:00,15:12:27-06:00,gable
106,addatt/ -def- / scalar does not exit gracefully (Segmentation fault) when input vector does not exist,IO,closed,fixed,2.0,enhancement,minor,Carl Gable,2013-04-18T09:59:57-06:00,08:08:39-06:00,gable
105,addatt/ mo_tri / unit_area_normal returns incorrect (zero) result,attributes,closed,fixed,2.0,defect,minor,Carl Gable,2013-04-18T08:06:58-06:00,08:03:45-06:00,gable
102,gmv header has strange characters (linux and mac),IO,closed,fixed,2.0,defect,minor,Gable,2011-01-12T13:03:34-07:00,13:00:18-07:00,tam
100,intrp_gtg.f getting different result in saved attribute,IO,closed,fixed,,defect,major,tam,2011-01-12T12:25:22-07:00,12:24:40-07:00,tam
93,dump with three-token syntax,IO,closed,fixed,,enhancement,trivial,Aaron Gable,2010-08-11T15:21:47-06:00,08:04:10-06:00,agable
82,transform mesh elevations based on surface attribute,"mesh quality, refine, derefine",closed,fixed,2.0,enhancement,trivial,Aaron Gable,2010-06-18T08:59:51-06:00,14:12:10-06:00,tam
81,transform mesh elevations to a surface,"mesh quality, refine, derefine",closed,fixed,2.0,enhancement,trivial,Aaron Gable,2010-06-18T09:00:24-06:00,14:08:15-06:00,tam
80,addmesh/excavate command for surface insertion,IO,closed,fixed,2.0,enhancement,major,Aaron Gable,2011-07-25T16:31:11-06:00,14:03:11-06:00,tam
77,grid2grid converts octree data structure to elements without parent/child elements,"mesh quality, refine, derefine",closed,fixed,2.0,enhancement,trivial,Aaron Gable,2010-08-05T07:46:41-06:00,12:27:34-06:00,gable
76,read detects input file type based on suffix (inp, gmv, plt, lg, x3d, etc)",IO,closed,fixed,2.0,enhancement,trivial,Aaron Gable,2010-06-18T09:00:48-06:00,12:18:20-06:00,gable
65,dump/stor writes outside face areas based on voronoi instead of median connections for fehm boundary zones,IO,closed,fixed,,enhancement,major,tam,2011-01-12T12:21:26-07:00,14:21:30-06:00,tam
64,pset write zone to recognize a number and use as zone id,IO,closed,fixed,,enhancement,minor,terry,2010-03-30T14:27:57-06:00,07:38:40-07:00,tam
61,stor file bug results in bad coef values due to uninitialized variables,IO,closed,fixed,2.0,defect,major,Terry Miller,2012-06-28T08:17:16-06:00,16:39:27-06:00,tam
60,cmo/addatt/ voronoi_volume command to make a node attribute filled with voronoi volume,IO,closed,fixed,2.0,enhancement,major,Terry Miller,2012-06-28T08:46:24-06:00,07:36:14-06:00,tam
59,manual pages for mmprint mmverify mm_maxmalloc,IO,closed,fixed,2.0,defect,minor,Terry Miller,2010-12-13T14:09:10-07:00,08:55:57-06:00,tam
56,lg_util memory routines add error capture for malloc and add better reporting for errors,IO,closed,fixed,,enhancement,major,Terry Miller,2011-01-12T11:35:13-07:00,08:19:04-06:00,tam
55,lg_util use Aagaard changes to routines that enable compile with -m32 or -m64 compile options,memory management,closed,fixed,2.0,enhancement,major,Terry Miller,2011-01-12T14:57:46-07:00,08:17:08-06:00,tam
53,readatt errors fixed by updating mesh object ipointi and ipointj attributes,memory management,closed,fixed,2.0,defect,critical,Terry Miller,2012-03-12T09:47:32-06:00,13:43:28-07:00,gable
52,boundary_components crash when using 'element' option,"mesh quality, refine, derefine",closed,fixed,2.0,defect,major,Carl Gable,2008-11-19T09:54:31-07:00,09:53:19-07:00,gable
51,add options to addmesh/[merge|append] for more flexible syntax,"mesh quality, refine, derefine",closed,fixed,2.0,enhancement,major,Carl Gable,2008-11-14T09:42:32-07:00,09:36:21-07:00,gable
50,quality largest volume bin is printed twice,IO,closed,fixed,2.0,defect,major,gable,2012-06-28T08:43:31-06:00,08:30:19-06:00,gable
49,resetpts/cell_color bug fixed loop for setting imt,IO,closed,fixed,2.0,defect,major,Carl Gable,2008-08-06T07:19:57-06:00,07:16:51-06:00,gable
47,filter and rmmat will crash if passed an empty (nnodes = 0) mesh object,memory management,closed,fixed,2.0,enhancement,major,Carl Gable,2008-07-08T07:41:07-06:00,07:40:51-06:00,gable
46,offsetsurf options xzero yzero zzero to set x,y or z component of offset to zero,"mesh quality, refine, derefine",closed,fixed,2.0,enhancement,major,gable,2008-07-01T08:49:40-06:00,08:49:18-06:00,gable
45,dump/tecplot spelling error of FEQUADRILATERAL,IO,closed,fixed,2.0,defect,major,Carl Gable,2008-06-19T07:20:50-06:00,07:19:49-06:00,gable
44,dump/avs to dump node and element attributes as tables of numbers with four io options,IO,closed,fixed,2.0,enhancement,minor,Gable,2008-06-12T13:30:12-06:00,13:29:49-06:00,gable
41,dump/tecplot error when all attributes are turned off,IO,closed,fixed,2.0,defect,major,Carl Gable,2008-04-30T12:37:12-06:00,12:26:33-06:00,gable
37,read/ zone|zonn file format,IO,closed,fixed,2.0,enhancement,major,Carl Gable,2008-04-03T10:08:15-06:00,11:00:46-06:00,gable
34,gmv IO dump/read can not read binary with small number of elements,IO,closed,fixed,1.0,defect,major,Terry Miller,2012-06-28T08:23:47-06:00,14:39:24-06:00,tam
30,parser modified to allow use of # as well as * as a comment line,attributes,closed,fixed,,2.0,enhancement,minor,Carl Gable,2008-01-31T08:28:56-07:00,08:28:56-07:00,gable
28,lagrit modified to expire code after 2 years with a message instead of a STOP (which is called from termcode()),documentation lagrit.lanl.gov,closed,fixed,2.0,task,major,Terry Miller,2011-01-12T12:16:31-07:00,10:12:05-07:00,gable
22,extract/surfmesh add attribute that keeps element numbers,"mesh quality, refine, derefine",closed,fixed,2.0,enhancement,major,Carl Gable,2010-12-13T14:04:43-07:00,15:00:58-07:00,gable
17,implement 64 bit memory pointers,memory management,closed,fixed,,enhancement,minor,Carl Gable,2012-06-28T08:53:26-06:00,16:18:51-07:00,gable
9,create new module grid2grid to do what hextotet does,"mesh quality, refine, derefine",closed,fixed,,enhancement,trivial,Aaron Gable,2010-08-05T07:50:20-06:00,09:05:20-07:00,gable

add capability for a multi-polygon triangulate

Currently there is no easy way to triangulate a polygon with inner polygon shapes. It can be done only by creating a connection to the inner polygons so triangulate treats the object as a single polygon.
Add capability to triangulate a polygon with inside polygon shapes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.