Native Shell
Native Shell: AI-generated UI, native in your app, on every platform. Apps on iOS, Android, macOS, Windows and Linux, GPUI apps and web pages load signed, sandboxed TSX modules at run time and draw th
LaGriT : LaGriT is a library providing mesh generation and optimization for a variety of polyhedra and dimensions.
Developer toolsFortran · CGitHub @lanlOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
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.
Taken from the repository README
Loading the full README.
Read the full README ↗LANL Software: LA-CC-15-069 No. C15097
[!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.
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
Docker is no longer available from LANL EES servers as of Sep 1 2025.
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 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.
./lagrit to make sure the executable is working.test which will execute a set of LaGriT commands.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
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
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 Seacas-Exodus (with Fortran support) and its HDF5 and NetCDF libraries.
CMake can fetch, build, and link Exodus for you. This needs network access, git, make, and a Fortran compiler (on macOS install gfortran with brew install gcc or MacPorts).
mkdir build/ && cd build/
cmake .. -DLAGRIT_BUILD_EXODUS=ON -DLAGRIT_FETCH_EXODUS=ON
make
During make, Seacas is cloned from GitHub and built with HDF5 and NetCDF into build/_deps/seacas before LaGriT is compiled. The first build takes several minutes. Later builds in the same directory reuse it.
To use an existing Seacas install instead, point cmake at its install prefix (the directory with lib/ and include/):
cmake .. -DLAGRIT_BUILD_EXODUS=ON -DEXODUS_ROOT=/path/to/seacas
If EXODUS_ROOT is not given, cmake looks in $SEACAS_ROOT, then LaGriT/TPLs/seacas, then build/_deps/seacas.
For full and current Exodus Installation instructions, go to: Seacas ExodusII
Detailed Instructions for Building LaGriT with cmake and exodus
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=Release -DLAGRIT_BUILD_EXODUS=ON -DLAGRIT_FETCH_EXODUS=ON
make
-D CMAKE_BUILD_TYPE
Release (default, optimized with -O3) or Debug (-g, no optimization and much slower).-D LAGRIT_BUILD_EXODUS=ON
OFF).-D LAGRIT_FETCH_EXODUS=ON
OFF).-D EXODUS_ROOT=/path/to/seacas
lib/ and include/.-D SEACAS_GIT_TAG=<tag>
master). Set a release tag for a reproducible build.-D CMAKE_INSTALL_PREFIX
make install. Defaults to /usr/local/.-D LAGRIT_BUILD_STATIC
ON) or as a shared library (.so, .dylib, .dll)