From 4f46fdff1a53be2575a53f2c13575ca3c8dda7a9 Mon Sep 17 00:00:00 2001 From: Franjo Juretic <franjo.juretic@c-fields.com> Date: Mon, 17 Apr 2017 01:13:02 +0200 Subject: [PATCH] Backward compatibility with other distributions --- meshLibrary/Make/options | 6 +++++- .../geometry/quadricFitting/quadricFittingI.H | 4 ++++ .../tetMeshOptimisation/tetMeshOptimisation.C | 16 ++++++++++++++++ .../triSurface2DCheck/triSurface2DCheck.C | 8 ++++++++ 4 files changed, 33 insertions(+), 1 deletion(-) diff --git a/meshLibrary/Make/options b/meshLibrary/Make/options index 512214bb..2c956d3c 100644 --- a/meshLibrary/Make/options +++ b/meshLibrary/Make/options @@ -6,7 +6,7 @@ endif ifeq (OpenFOAM,$(findstring OpenFOAM,$(WM_PROJECT))) ifeq (Int,$(findstring Int,$(WM_LABEL_OPTION))) - CFMESH_MACROS = -DNoSizeType + CFMESH_MACROS = -DNoSizeType LIBS = else CFMESH_MACROS = @@ -14,6 +14,10 @@ ifeq (OpenFOAM,$(findstring OpenFOAM,$(WM_PROJECT))) endif endif +ifeq (v, $(findstring v, $(WM_PROJECT_VERSION))) + CFMESH_MACROS += -DOpenCFDSpecific +endif + ifeq ($(WM_PROJECT), foam) VER := $(shell expr `echo $(WM_PROJECT_VERSION)` \>= 3.2) ifeq ($(VER), 1) diff --git a/meshLibrary/utilities/helperClasses/geometry/quadricFitting/quadricFittingI.H b/meshLibrary/utilities/helperClasses/geometry/quadricFitting/quadricFittingI.H index e2dbf5f7..98f15684 100644 --- a/meshLibrary/utilities/helperClasses/geometry/quadricFitting/quadricFittingI.H +++ b/meshLibrary/utilities/helperClasses/geometry/quadricFitting/quadricFittingI.H @@ -52,7 +52,11 @@ void quadricFitting::calculateNormalVector() //- estimate the normal as the eigenvector associated //- to the smallest eigenvalue + # ifdef OpenCFDSpecific normal_ = eigenVectors(mat, ev).x(); + # else + normal_ = eigenVector(mat, ev[0]); + # endif } void quadricFitting::calculateCoordinateSystem() diff --git a/meshLibrary/utilities/smoothers/geometry/meshOptimizer/tetMeshOptimisation/tetMeshOptimisation.C b/meshLibrary/utilities/smoothers/geometry/meshOptimizer/tetMeshOptimisation/tetMeshOptimisation.C index b9e214b9..2f07cabc 100644 --- a/meshLibrary/utilities/smoothers/geometry/meshOptimizer/tetMeshOptimisation/tetMeshOptimisation.C +++ b/meshLibrary/utilities/smoothers/geometry/meshOptimizer/tetMeshOptimisation/tetMeshOptimisation.C @@ -495,16 +495,32 @@ void tetMeshOptimisation::optimiseBoundaryVolumeOptimizer if( mag(ev[2]) > (mag(ev[1]) + mag(ev[0])) ) { //- ordinary surface vertex + # ifdef OpenCFDSpecific vector normal = eigenVectors(nt, ev).z(); + # else + vector normal = eigenVector(nt, ev[2]); + # endif + normal /= (mag(normal)+VSMALL); disp -= (disp & normal) * normal; } else if( mag(ev[1]) > 0.5 * (mag(ev[2]) + mag(ev[0])) ) { //- this vertex is on an edge + # ifdef OpenCFDSpecific vector normal1 = eigenVectors(nt, ev).y(); + # else + vector normal1 = eigenVector(nt, ev[1]); + # endif + normal1 /= (mag(normal1)+VSMALL); + + # ifdef OpenCFDSpecific vector normal2 = eigenVectors(nt, ev).z(); + # else + vector normal2 = eigenVector(nt, ev[2]); + # endif + normal2 /= (mag(normal2)+VSMALL); vector eVec = normal1 ^ normal2; diff --git a/meshLibrary/utilities/triSurfaceTools/triSurface2DCheck/triSurface2DCheck.C b/meshLibrary/utilities/triSurfaceTools/triSurface2DCheck/triSurface2DCheck.C index 00c31ae9..051efadf 100644 --- a/meshLibrary/utilities/triSurfaceTools/triSurface2DCheck/triSurface2DCheck.C +++ b/meshLibrary/utilities/triSurfaceTools/triSurface2DCheck/triSurface2DCheck.C @@ -86,11 +86,19 @@ bool triSurface2DCheck::is2DSurface() const //- calculate the plane normal as a cross prduct of the two //- eigenVectors spanning the plane + # ifdef OpenCFDSpecific const vector n ( eigenVectors(covarianceMatrix_, eigenVal).y() ^ eigenVectors(covarianceMatrix_, eigenVal).z() ); + # else + const vector n + ( + eigenVector(covarianceMatrix_, eigenVal[1]) ^ + eigenVector(covarianceMatrix_, eigenVal[2]) + ); + # endif //- check if the plane is in the x-y plane of the coordinate system if( mag(n.x()) > SMALL || mag(n.y()) > SMALL ) -- GitLab