star-uvm

Spatial structuring of unstructured volumetric meshes
git clone git://git.meso-star.fr/star-uvm.git
Log | Files | Refs | README | LICENSE

README.md (2345B)


      1 # Star Unstructured Volumetric Mesh
      2 
      3 Star-UVM is a C library whose goal is to manage unstructured volumetric
      4 meshes defined by a soup of tetrahedra. Once spatially partitioned, the
      5 user can efficiently identify tetrahedra cut by an axis aligned box or
      6 access the specific tetrahedron that encompasses a given position.
      7 
      8 Only geometric data is processed by Star-UVM. No assumption is made on
      9 their associated properties. Either way, Star-UVM provides data, such as
     10 primitive indices and barycentric coordinates, needed to retrieve the
     11 properties attached to each tetrahedron. These properties can thus be
     12 managed externally without arbitrary constraints imposed by Star-UVM on
     13 their size, alignment or type.
     14 
     15 ## Requirements
     16 
     17 - C compiler (C99)
     18 - POSIX make
     19 - pkg-config
     20 - [Embree](https://github.com/embree/embree)
     21 - [RSys](https://gitlab.com/vaplv/rsys)
     22 - [Star-Mesh](https://gitlab.com/meso-star/star-mesh) (optional)
     23 
     24 ## Installation
     25 
     26 Edit config.mk as needed, then run:
     27 
     28     make clean install
     29 
     30 ## Release notes
     31 
     32 ### Version 0.3.1
     33 
     34 - In release, replace the -O2 compilation flag by -O3 since significant
     35   performance gains can be seen (up to 30%) when using level 3 of the C
     36   optimizer on code that depends heavily on finding the tetrahedron in
     37   which a given position lies.
     38 
     39 ### Version 0.3
     40 
     41 - Replace CMake by Makefile as build system.
     42 - Update compiler and linker flags to increase the security and
     43   robustness of generated binaries.
     44 - Provide a pkg-config file to link the library as an external
     45   dependency.
     46 - Fix compilation warnings.
     47 
     48 ### Version 0.2
     49 
     50 Update of the acceleration data structure backend from Embree3 to
     51 Embree4
     52 
     53 ### Version 0.1
     54 
     55 - Add the `suvm_mesh_desc_compute_hash` function which uses sha256
     56   encryption to calculate a digest from the mesh data.
     57 - Add the `suvm_get_mesh_desc` function that returns the mesh data, i.e.
     58   the list of node positions and the list of cell indexes.
     59 - Replace the obsolete Star-Tetrahedra dependency with Star-Mesh.
     60 - Work around a numerical inaccuracy of barycentric coordinates.
     61 - Fix warnings detected by gcc 11.
     62 
     63 ## License
     64 
     65 Copyright (C) 2020-2023 |Méso|Star> (contact@meso-star.com)
     66 
     67 Star-UVM is free software released under the GPL v3+ license: GNU GPL
     68 version 3 or later. You are welcome to redistribute it under certain
     69 conditions; refer to the COPYING file for details.