From 2166f14eeffc54655c1d72662b2305e5b3baed3a Mon Sep 17 00:00:00 2001 From: Martin Beaudoin Date: Sun, 12 Dec 2010 23:21:11 -0500 Subject: [PATCH 1/3] fvMesh::makeC(): Fix the evaluation of cyclic and cyclicGgi patch face centers when using translational-only cyclic or cyclicGgi interface --- src/finiteVolume/fvMesh/fvMeshGeometry.C | 29 +++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/src/finiteVolume/fvMesh/fvMeshGeometry.C b/src/finiteVolume/fvMesh/fvMeshGeometry.C index cfad30a77..4a1510cad 100644 --- a/src/finiteVolume/fvMesh/fvMeshGeometry.C +++ b/src/finiteVolume/fvMesh/fvMeshGeometry.C @@ -31,6 +31,8 @@ License #include "slicedVolFields.H" #include "slicedSurfaceFields.H" #include "SubField.H" +#include "cyclicFvPatchField.H" +#include "cyclicGgiFvPatchField.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -147,7 +149,26 @@ void fvMesh::makeC() const faceCentres() ); -/* HJ, I think this is wrong. HJ, 6/Jul/2010 + /* HJ, I think this is wrong. HJ, 6/Jul/2010 */ + // Well, this piece of code is necessary for cyclic and cyclicGgi interfaces + // using a separationOffset transform. + // Those two interfaces will be using the method ::patchNeighbourField() + // to evaluate the field C on the shadow patch. For cyclic and cyclicGgi + // translational-only interfaces, the separationOffset transform is never + // applied directly in ::patchNeighbourField() because this transform is + // only pertinent for 3D coordinates, and the method ::patchNeighbourField() + // does not discriminate the type of field it is operating on. + // So, because the separationOffset transform is not applied, the evaluation + // of a 3D position field like 'C' will always be wrong on the shadow patches + // of translational cyclic and cyclicGgi interfaces. + // For cyclic and cyclicGgi interfaces using a rotational transform, the + // evaluation of the field C will be valid, but since we are only + // interested in the patch face centers for these interfaces, we can override + // those values as well. + // See also: + // https://sourceforge.net/apps/mantisbt/openfoam-extend/view.php?id=42 + // MB, 12/Dec/2010 + // // Need to correct for cyclics transformation since absolute quantity. // Ok on processor patches since hold opposite cell centre (no // transformation) @@ -155,7 +176,10 @@ void fvMesh::makeC() const forAll(C.boundaryField(), patchi) { - if (isA(C.boundaryField()[patchi])) + if ( + isA >(C.boundaryField()[patchi]) || + isA >(C.boundaryField()[patchi]) + ) { // Note: cyclic is not slice but proper field C.boundaryField()[patchi] == static_cast @@ -167,7 +191,6 @@ void fvMesh::makeC() const ); } } -*/ } From 738afcda63820852a27c4214a06261986f1ec910 Mon Sep 17 00:00:00 2001 From: Martin Beaudoin Date: Fri, 31 May 2013 00:31:18 -0400 Subject: [PATCH 2/3] .gitignore: blacklisting files subject to a DMCA complaint by ANSYS --- .gitignore | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.gitignore b/.gitignore index b6d81a490..013e5460d 100644 --- a/.gitignore +++ b/.gitignore @@ -86,4 +86,12 @@ etc/settings.csh etc/setteings.sh +# The following files are blacklisted because of a DMCA complaint by ANSYS. +src/lduSolvers/tools/PriorityArray.C +src/lduSolvers/tools/PriorityArray.H +src/lduSolvers/amg/amgPolicy/samgPolicy.C +src/lduSolvers/amg/amgPolicy/samgPolicy.H +src/lduSolvers/amg/amgPolicy/aamgPolicy.C +src/lduSolvers/amg/amgPolicy/aamgPolicy.H + # end-of-file From 4e42aa7689643be804635e2c2948957be1383dde Mon Sep 17 00:00:00 2001 From: Martin Beaudoin Date: Sun, 2 Jun 2013 09:11:26 -0400 Subject: [PATCH 3/3] Fixing compilation of lduSolvers following removal of files --- src/lduSolvers/Make/files | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/lduSolvers/Make/files b/src/lduSolvers/Make/files index ab36ce6b1..7d891ced3 100644 --- a/src/lduSolvers/Make/files +++ b/src/lduSolvers/Make/files @@ -30,7 +30,5 @@ $(amg)/coarseAmgLevel.C amgPolicy = $(amg)/amgPolicy $(amgPolicy)/amgPolicy.C $(amgPolicy)/pamgPolicy.C -$(amgPolicy)/aamgPolicy.C -$(amgPolicy)/samgPolicy.C LIB = $(FOAM_LIBBIN)/liblduSolvers