diff --git a/src/OpenFOAM/fields/Fields/symmTransformField/symmTransformField.H b/src/OpenFOAM/fields/Fields/symmTransformField/symmTransformField.H index ba223f7aebce6dc18db3dd3f0563d65bbfbd6a07..891da11fd5676d272393e2a6e98919f1edf3ece8 100644 --- a/src/OpenFOAM/fields/Fields/symmTransformField/symmTransformField.H +++ b/src/OpenFOAM/fields/Fields/symmTransformField/symmTransformField.H @@ -38,6 +38,7 @@ SourceFiles #include "symmTransform.H" #include "symmTensorField.H" +#include "sphericalTensor.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/basicSymmetry/basicSymmetryPointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/basic/basicSymmetry/basicSymmetryPointPatchField.C index 8ab8e646c1414b77ba4991a5d290d1bd6f6f769b..a41fbf5f520668e0e5360d3cb40853e8389e97ce 100644 --- a/src/OpenFOAM/fields/pointPatchFields/basic/basicSymmetry/basicSymmetryPointPatchField.C +++ b/src/OpenFOAM/fields/pointPatchFields/basic/basicSymmetry/basicSymmetryPointPatchField.C @@ -26,6 +26,7 @@ License #include "basicSymmetryPointPatchField.H" #include "transformField.H" +#include "symmTransformField.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -89,7 +90,12 @@ void basicSymmetryPointPatchField<Type>::evaluate(const Pstream::commsTypes) const vectorField& nHat = this->patch().pointNormals(); tmp<Field<Type> > tvalues = - transform(I - nHat*nHat, this->patchInternalField()); + ( + ( + this->patchInternalField() + + transform(I - 2.0*sqr(nHat), this->patchInternalField()) + )/2.0 + ); // Get internal field to insert values into Field<Type>& iF = const_cast<Field<Type>&>(this->internalField()); diff --git a/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchField.C index 2595f36d784c4d2a6049bdcc93b0e2dc0aca29c3..43d4bcd941e4b6a7495f4e65bf5674d593aee02b 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchField.C @@ -95,11 +95,11 @@ basicSymmetryFvPatchField<Type>::basicSymmetryFvPatchField // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -// return gradient at boundary template<class Type> tmp<Field<Type> > basicSymmetryFvPatchField<Type>::snGrad() const { vectorField nHat = this->patch().nf(); + return ( transform(I - 2.0*sqr(nHat), this->patchInternalField()) @@ -108,7 +108,6 @@ tmp<Field<Type> > basicSymmetryFvPatchField<Type>::snGrad() const } -// Evaluate the field on the patch template<class Type> void basicSymmetryFvPatchField<Type>::evaluate(const Pstream::commsTypes) { @@ -118,6 +117,7 @@ void basicSymmetryFvPatchField<Type>::evaluate(const Pstream::commsTypes) } vectorField nHat = this->patch().nf(); + Field<Type>::operator= ( ( @@ -130,11 +130,11 @@ void basicSymmetryFvPatchField<Type>::evaluate(const Pstream::commsTypes) } -// Return defining fields template<class Type> tmp<Field<Type> > basicSymmetryFvPatchField<Type>::snGradTransformDiag() const { vectorField nHat = this->patch().nf(); + vectorField diag(nHat.size()); diag.replace(vector::X, mag(nHat.component(vector::X)));