ENH: Added new parallelFvGeometryScheme
OpenFOAM parallel-consistent geometry calculation
This release adds a new parallel
geometry calculation method. It is used as a wrapper around other geometry calculation methods:
geometry
{
type parallel;
// Optional underlying geometry calculation. Default is 'basic'.
geometry
{
type highAspectRatio;
}
}
It
- applies owner side face geometry (centre, normal (negated)) to the other side
- recalculates cell-based geometry of affected cells
It is mainly interesting in single-precision in that it removes the different truncation error from circulating in different direction. This can cause problems when calculating global transformations e.g.
--> FOAM FATAL ERROR: (openfoam-2206)
bad size -653174757
From void Foam::List<T>::doResize(Foam::label) [with T = Foam::vectorTensorTransform; Foam::label = int]
in file lnInclude/List.C at line 84.
#0 Foam::error::printStack(Foam::Ostream&)
#1 Foam::error::simpleExit(int, bool) at ??:?
#2 Foam::error::exiting(int, bool)
#3 Foam::List<Foam::vectorTensorTransform>::doResize(int)
#4 Foam::globalIndexAndTransform::determineTransformPermutations() at ??:?
Note that it does not change the point positions so any other calculated geometry (e.g. cell-closedness) might be affected.
Tutorial:
Source code:
- src/finiteVolume/fvMesh/fvGeometryScheme/parallel