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.
Showing
- applications/test/invTensor/Make/files 3 additions, 0 deletionsapplications/test/invTensor/Make/files
- applications/test/invTensor/Make/options 2 additions, 0 deletionsapplications/test/invTensor/Make/options
- applications/test/invTensor/Test-invTensor.C 96 additions, 0 deletionsapplications/test/invTensor/Test-invTensor.C
- src/OpenFOAM/dimensionedTypes/dimensionedSymmTensor/dimensionedSymmTensor.H 2 additions, 2 deletions...sionedTypes/dimensionedSymmTensor/dimensionedSymmTensor.H
- src/OpenFOAM/dimensionedTypes/dimensionedTensor/dimensionedTensor.H 2 additions, 3 deletions...AM/dimensionedTypes/dimensionedTensor/dimensionedTensor.H
- src/OpenFOAM/fields/Fields/symmTensorField/symmTensorField.C 3 additions, 48 deletionssrc/OpenFOAM/fields/Fields/symmTensorField/symmTensorField.C
- src/OpenFOAM/fields/Fields/tensorField/tensorField.C 3 additions, 48 deletionssrc/OpenFOAM/fields/Fields/tensorField/tensorField.C
- src/OpenFOAM/primitives/SymmTensor/SymmTensor.H 11 additions, 6 deletionssrc/OpenFOAM/primitives/SymmTensor/SymmTensor.H
- src/OpenFOAM/primitives/SymmTensor/SymmTensorI.H 93 additions, 67 deletionssrc/OpenFOAM/primitives/SymmTensor/SymmTensorI.H
- src/OpenFOAM/primitives/SymmTensor/symmTensor/symmTensor.C 3 additions, 3 deletionssrc/OpenFOAM/primitives/SymmTensor/symmTensor/symmTensor.C
- src/OpenFOAM/primitives/SymmTensor2D/SymmTensor2D.H 4 additions, 1 deletionsrc/OpenFOAM/primitives/SymmTensor2D/SymmTensor2D.H
- src/OpenFOAM/primitives/SymmTensor2D/SymmTensor2DI.H 33 additions, 12 deletionssrc/OpenFOAM/primitives/SymmTensor2D/SymmTensor2DI.H
- src/OpenFOAM/primitives/Tensor/Tensor.H 11 additions, 6 deletionssrc/OpenFOAM/primitives/Tensor/Tensor.H
- src/OpenFOAM/primitives/Tensor/TensorI.H 98 additions, 77 deletionssrc/OpenFOAM/primitives/Tensor/TensorI.H
- src/OpenFOAM/primitives/Tensor/floats/tensor.C 3 additions, 3 deletionssrc/OpenFOAM/primitives/Tensor/floats/tensor.C
- src/OpenFOAM/primitives/Tensor2D/Tensor2D.H 4 additions, 1 deletionsrc/OpenFOAM/primitives/Tensor2D/Tensor2D.H
- src/OpenFOAM/primitives/Tensor2D/Tensor2DI.H 33 additions, 14 deletionssrc/OpenFOAM/primitives/Tensor2D/Tensor2DI.H
- src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.C 2 additions, 20 deletions...ea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.C
- src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/invDistLeastSquaresVectors.C 37 additions, 12 deletions...gradSchemes/leastSquaresGrad/invDistLeastSquaresVectors.C
- src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresVectors.C 1 addition, 1 deletion...Volume/gradSchemes/leastSquaresGrad/leastSquaresVectors.C
Please register or sign in to comment