GEOS
GEOS copied to clipboard
Adding features to `mesh_doctor`
Let's add new checks to mesh_doctor
!
First batch of features done in https://github.com/GEOS-DEV/GEOS/issues/2274 :
- [x] Check that all the elements of the mesh are supported (including that polyhedra can be converted into supported elements).
- [x] Warn about "non-conformal" elements (in the sense that two close facing elements should not be shifted).
- [x] Allow reordering of support nodes for the elements. A right-hand left-hand rule could be fixed easily.
- [x] Checks that the polyhedra have their normals directed outwards. (not exposed through the CLI though)
More checkes:
- [x] https://github.com/GEOS-DEV/GEOS/issues/2857
- [ ] Improve the
collocated_nodes
feature so it handles the fractures as well (the nodes aside the fracture are legitimately colocated, but it creates noise that prevents from finding real issue). - [ ] Check that the fractured mesh is consistent (collocated nodes are really collocated)
- [ ] Validate ranges of fields (e.g. density should be positive). Printing statistics for fields can be enough. Check for
NaN
. Check for connection numbers (can be useful since some arrays have a maximum size based on number of connections.) - [ ] Build some mesh statistics (cell types, cell sizes, number of cells sharing the same node, etc.)
- [ ] Add a field manipulation feature that will (among other features) allow to grab one field from an output simulation into the input of another.
- [ ] Try to find holes in the mesh.
- [ ] Find isolated elements (unused points, disconnected cell...)
Create a paraview plugin
- [ ] poc (see https://github.com/GEOS-DEV/GEOS/pull/2790)
- [ ] first release