ENH: robuster handling of inv() of fields with singular tensors (#2724)

- replace the "one-size-fits-all" approach of tensor field inv()
  with individual 'failsafe' inverts.

  The inv() field function historically just checked the first entry
  to detect 2D cases and adjusted/readjusted *all* tensors accordingly
  (to avoid singularity tensors and/or noisy inversions).

  This seems to have worked reasonably well with 3D volume meshes, but
  breaks down for 2D area meshes, which can be axis-aligned
  differently on different sections of the mesh.
This commit is contained in:
Mark Olesen
2023-04-13 11:25:03 +02:00
parent 3947f3c441
commit a96dcf706b
21 changed files with 446 additions and 326 deletions

View File

@ -0,0 +1,3 @@
Test-invTensor.C
EXE = $(FOAM_USER_APPBIN)/Test-invTensor