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.