GEOS-DEV / GEOS-DEV/GEOS

Adding features to `mesh_doctor`

Open
#2,270 1 comment 0 reactions 1 assignee View on GitHub

@alexbenedicto is already working on this.

Since Aug 5, 2024.

EPIC EPIC - Mesh/mesh_doctor type: feature
Dominant language
C++
Stars
287
Forks
109
Avg merge
4d 41m
Merged PRs (30d)
5

Description

Let's add new checks to mesh_doctor!

First batch of features done in https://github.com/GEOS-DEV/GEOS/issues/2274 :

  • Check that all the elements of the mesh are supported (including that polyhedra can be converted into supported elements).
  • Warn about "non-conformal" elements (in the sense that two close facing elements should not be shifted).
  • Allow reordering of support nodes for the elements. A right-hand left-hand rule could be fixed easily.
  • Checks that the polyhedra have their normals directed outwards. (not exposed through the CLI though)

More checkes:

  • 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...)
  • Pre-split tags can be erroneous issues #3222 and https://github.com/GEOS-DEV/geosPythonPackages/issues/31#event-13511701210

Create a paraview plugin

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.