diff --git a/applications/utilities/mesh/conversion/foamMeshToFluent/fluentFvMesh.C b/applications/utilities/mesh/conversion/foamMeshToFluent/fluentFvMesh.C index fcb38fb9a5c2ec0097530fbc6ec4b659506f0104..56809f5972940801cf4cd245df001ae7fad3bc77 100644 --- a/applications/utilities/mesh/conversion/foamMeshToFluent/fluentFvMesh.C +++ b/applications/utilities/mesh/conversion/foamMeshToFluent/fluentFvMesh.C @@ -33,6 +33,7 @@ using std::ios; #include "fluentFvMesh.H" #include "primitiveMesh.H" #include "wallFvPatch.H" +#include "symmetryPlaneFvPatch.H" #include "symmetryFvPatch.H" #include "cellModeller.H" @@ -177,7 +178,11 @@ void Foam::fluentFvMesh::writeFluentMesh() const { fluentMeshFile << 3; } - else if (isA<symmetryFvPatch>(boundary()[patchI])) + else if + ( + isA<symmetryPlaneFvPatch>(boundary()[patchI]) + || isA<symmetryFvPatch>(boundary()[patchI]) + ) { fluentMeshFile << 7; } @@ -280,7 +285,11 @@ void Foam::fluentFvMesh::writeFluentMesh() const { fluentMeshFile << "wall "; } - else if (isA<symmetryFvPatch>(boundary()[patchI])) + else if + ( + isA<symmetryPlaneFvPatch>(boundary()[patchI]) + || isA<symmetryFvPatch>(boundary()[patchI]) + ) { fluentMeshFile << "symmetry "; } diff --git a/applications/utilities/postProcessing/velocityField/streamFunction/streamFunction.C b/applications/utilities/postProcessing/velocityField/streamFunction/streamFunction.C index de9af38b878de353e317110daa060f21489a8829..11874fe2eadffe65a3630b6965db543b92da37f5 100644 --- a/applications/utilities/postProcessing/velocityField/streamFunction/streamFunction.C +++ b/applications/utilities/postProcessing/velocityField/streamFunction/streamFunction.C @@ -33,6 +33,7 @@ Description #include "fvCFD.H" #include "pointFields.H" #include "emptyPolyPatch.H" +#include "symmetryPlanePolyPatch.H" #include "symmetryPolyPatch.H" #include "wedgePolyPatch.H" #include "OSspecific.H" @@ -286,6 +287,8 @@ int main(int argc, char *argv[]) ( !isType<emptyPolyPatch> (patches[patchNo]) + && !isType<symmetryPlanePolyPatch> + (patches[patchNo]) && !isType<symmetryPolyPatch> (patches[patchNo]) && !isType<wedgePolyPatch> diff --git a/etc/caseDicts/setConstraintTypes b/etc/caseDicts/setConstraintTypes index 1678e2a147933ba98dd05283b45e64ba6586dbad..6b075c7382577d13a2797aab6fe6f14b0f3dcfd3 100644 --- a/etc/caseDicts/setConstraintTypes +++ b/etc/caseDicts/setConstraintTypes @@ -51,6 +51,11 @@ symmetryPlane type symmetryPlane; } +symmetry +{ + type symmetry; +} + wedge { type wedge; diff --git a/etc/controlDict b/etc/controlDict index 8f811534dc06b94560c6e3fba5ab921e5d984803..68d8f86a44fed75a13585f2b46ad519493d827b2 100644 --- a/etc/controlDict +++ b/etc/controlDict @@ -813,6 +813,7 @@ DebugSwitches symmTensorAverageField 0; symmTensorField 0; symmetryPlane 0; + symmetry 0; syringePressure 0; tensorAverageField 0; tensorField 0; diff --git a/src/OpenFOAM/Make/files b/src/OpenFOAM/Make/files index 4d2062b421ce99be31940ed4632f827bf6f89803..33810bc56b6442c8ef91ded0a90b996fd309d23a 100644 --- a/src/OpenFOAM/Make/files +++ b/src/OpenFOAM/Make/files @@ -409,6 +409,7 @@ $(constraintPolyPatches)/empty/emptyPolyPatch.C $(constraintPolyPatches)/nonuniformTransformCyclic/nonuniformTransformCyclicPolyPatch.C $(constraintPolyPatches)/processorCyclic/processorCyclicPolyPatch.C $(constraintPolyPatches)/processor/processorPolyPatch.C +$(constraintPolyPatches)/symmetryPlane/symmetryPlanePolyPatch.C $(constraintPolyPatches)/symmetry/symmetryPolyPatch.C $(constraintPolyPatches)/wedge/wedgePolyPatch.C @@ -528,6 +529,7 @@ $(constraintPointPatches)/empty/emptyPointPatch.C $(constraintPointPatches)/nonuniformTransformCyclic/nonuniformTransformCyclicPointPatch.C $(constraintPointPatches)/processor/processorPointPatch.C $(constraintPointPatches)/processorCyclic/processorCyclicPointPatch.C +$(constraintPointPatches)/symmetryPlane/symmetryPlanePointPatch.C $(constraintPointPatches)/symmetry/symmetryPointPatch.C $(constraintPointPatches)/wedge/wedgePointPatch.C @@ -597,6 +599,7 @@ $(constraintPointPatchFields)/empty/emptyPointPatchFields.C $(constraintPointPatchFields)/nonuniformTransformCyclic/nonuniformTransformCyclicPointPatchFields.C $(constraintPointPatchFields)/processor/processorPointPatchFields.C $(constraintPointPatchFields)/processorCyclic/processorCyclicPointPatchFields.C +$(constraintPointPatchFields)/symmetryPlane/symmetryPlanePointPatchFields.C $(constraintPointPatchFields)/symmetry/symmetryPointPatchFields.C $(constraintPointPatchFields)/wedge/wedgePointPatchFields.C diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchField.C new file mode 100644 index 0000000000000000000000000000000000000000..b91c965e92eecc5a79510ec78db6ee1736441f93 --- /dev/null +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchField.C @@ -0,0 +1,149 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "symmetryPlanePointPatchField.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template<class Type> +symmetryPlanePointPatchField<Type>::symmetryPlanePointPatchField +( + const pointPatch& p, + const DimensionedField<Type, pointMesh>& iF +) +: + basicSymmetryPointPatchField<Type>(p, iF), + symmetryPlanePatch_(refCast<const symmetryPlanePointPatch>(p)) +{} + + +template<class Type> +symmetryPlanePointPatchField<Type>::symmetryPlanePointPatchField +( + const pointPatch& p, + const DimensionedField<Type, pointMesh>& iF, + const dictionary& dict +) +: + basicSymmetryPointPatchField<Type>(p, iF, dict), + symmetryPlanePatch_(refCast<const symmetryPlanePointPatch>(p)) +{ + if (!isType<symmetryPlanePointPatch>(p)) + { + FatalIOErrorIn + ( + "symmetryPlanePointPatchField<Type>::symmetryPlanePointPatchField\n" + "(\n" + " const pointPatch& p,\n" + " const Field<Type>& field,\n" + " const dictionary& dict\n" + ")\n", + dict + ) << "patch " << this->patch().index() << " not symmetry type. " + << "Patch type = " << p.type() + << exit(FatalIOError); + } +} + + +template<class Type> +symmetryPlanePointPatchField<Type>::symmetryPlanePointPatchField +( + const symmetryPlanePointPatchField<Type>& ptf, + const pointPatch& p, + const DimensionedField<Type, pointMesh>& iF, + const pointPatchFieldMapper& mapper +) +: + basicSymmetryPointPatchField<Type>(ptf, p, iF, mapper), + symmetryPlanePatch_(refCast<const symmetryPlanePointPatch>(p)) +{ + if (!isType<symmetryPlanePointPatch>(this->patch())) + { + FatalErrorIn + ( + "symmetryPlanePointPatchField<Type>::symmetryPlanePointPatchField\n" + "(\n" + " const symmetryPlanePointPatchField<Type>& ptf,\n" + " const pointPatch& p,\n" + " const DimensionedField<Type, pointMesh>& iF,\n" + " const pointPatchFieldMapper& mapper\n" + ")\n" + ) << "Field type does not correspond to patch type for patch " + << this->patch().index() << "." << endl + << "Field type: " << typeName << endl + << "Patch type: " << this->patch().type() + << exit(FatalError); + } +} + + +template<class Type> +symmetryPlanePointPatchField<Type>::symmetryPlanePointPatchField +( + const symmetryPlanePointPatchField<Type>& ptf, + const DimensionedField<Type, pointMesh>& iF +) +: + basicSymmetryPointPatchField<Type>(ptf, iF), + symmetryPlanePatch_(ptf.symmetryPlanePatch_) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template<class Type> +void Foam::symmetryPlanePointPatchField<Type>::evaluate +( + const Pstream::commsTypes +) +{ + vector nHat = symmetryPlanePatch_.n(); + + tmp<Field<Type> > tvalues = + ( + ( + 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()); + + this->setInInternalField(iF, tvalues()); +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchField.H new file mode 100644 index 0000000000000000000000000000000000000000..c3774789d83324fbaa0e6e770f02066172d25596 --- /dev/null +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchField.H @@ -0,0 +1,161 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Class + Foam::symmetryPlanePointPatchField + +Description + A symmetry-plane boundary condition for pointField + +SourceFiles + symmetryPlanePointPatchField.C + +\*---------------------------------------------------------------------------*/ + +#ifndef symmetryPlanePointPatchField_H +#define symmetryPlanePointPatchField_H + +#include "basicSymmetryPointPatchField.H" +#include "symmetryPlanePointPatch.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class symmetryPlanePointPatchField Declaration +\*---------------------------------------------------------------------------*/ + +template<class Type> +class symmetryPlanePointPatchField +: + public basicSymmetryPointPatchField<Type> +{ + // Private data + + //- Local reference cast into the symmetryPlane patch + const symmetryPlanePointPatch& symmetryPlanePatch_; + + +public: + + //- Runtime type information + TypeName(symmetryPlanePointPatch::typeName_()); + + + // Constructors + + //- Construct from patch and internal field + symmetryPlanePointPatchField + ( + const pointPatch&, + const DimensionedField<Type, pointMesh>& + ); + + //- Construct from patch, internal field and dictionary + symmetryPlanePointPatchField + ( + const pointPatch&, + const DimensionedField<Type, pointMesh>&, + const dictionary& + ); + + //- Construct by mapping given patchField<Type> onto a new patch + symmetryPlanePointPatchField + ( + const symmetryPlanePointPatchField<Type>&, + const pointPatch&, + const DimensionedField<Type, pointMesh>&, + const pointPatchFieldMapper& + ); + + //- Construct and return a clone + virtual autoPtr<pointPatchField<Type> > clone() const + { + return autoPtr<pointPatchField<Type> > + ( + new symmetryPlanePointPatchField<Type> + ( + *this + ) + ); + } + + //- Construct as copy setting internal field reference + symmetryPlanePointPatchField + ( + const symmetryPlanePointPatchField<Type>&, + const DimensionedField<Type, pointMesh>& + ); + + //- Construct and return a clone setting internal field reference + virtual autoPtr<pointPatchField<Type> > clone + ( + const DimensionedField<Type, pointMesh>& iF + ) const + { + return autoPtr<pointPatchField<Type> > + ( + new symmetryPlanePointPatchField<Type> + ( + *this, + iF + ) + ); + } + + + // Member functions + + //- Return the constraint type this pointPatchField implements + virtual const word& constraintType() const + { + return symmetryPlanePointPatch::typeName; + } + + // Evaluation functions + + //- Update the patch field + virtual void evaluate + ( + const Pstream::commsTypes commsType=Pstream::blocking + ); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository +# include "symmetryPlanePointPatchField.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchFields.C b/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchFields.C new file mode 100644 index 0000000000000000000000000000000000000000..2317f097350354464c2f3b614672819de67f214d --- /dev/null +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchFields.C @@ -0,0 +1,43 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "symmetryPlanePointPatchFields.H" +#include "pointPatchFields.H" +#include "addToRunTimeSelectionTable.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +makePointPatchFields(symmetryPlane); + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchFields.H b/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchFields.H new file mode 100644 index 0000000000000000000000000000000000000000..61e35ee4fe03b455e56671eb6e0ef7651da4e758 --- /dev/null +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchFields.H @@ -0,0 +1,49 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#ifndef symmetryPlanePointPatchFields_H +#define symmetryPlanePointPatchFields_H + +#include "symmetryPlanePointPatchField.H" +#include "fieldTypes.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +makePointPatchFieldTypedefs(symmetryPlane); + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/OpenFOAM/meshes/pointMesh/pointPatches/constraint/symmetry/symmetryPointPatch.H b/src/OpenFOAM/meshes/pointMesh/pointPatches/constraint/symmetry/symmetryPointPatch.H index 99041195210d237fd66ddf0acd70f21afdb93a82..35cf991cb96c9d3889b21e20a126bbac2b802436 100644 --- a/src/OpenFOAM/meshes/pointMesh/pointPatches/constraint/symmetry/symmetryPointPatch.H +++ b/src/OpenFOAM/meshes/pointMesh/pointPatches/constraint/symmetry/symmetryPointPatch.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -25,11 +25,14 @@ Class Foam::symmetryPointPatch Description - Symmetry-plane patch. + Symmetry patch for non-planar or multi-plane patches. SourceFiles symmetryPointPatch.C +SeeAlso + symmetryPlanePointPatch + \*---------------------------------------------------------------------------*/ #ifndef symmetryPointPatch_H diff --git a/src/OpenFOAM/meshes/pointMesh/pointPatches/constraint/symmetryPlane/symmetryPlanePointPatch.C b/src/OpenFOAM/meshes/pointMesh/pointPatches/constraint/symmetryPlane/symmetryPlanePointPatch.C new file mode 100644 index 0000000000000000000000000000000000000000..f8f70537e9518e4d190187f99f8799ab8746fc6d --- /dev/null +++ b/src/OpenFOAM/meshes/pointMesh/pointPatches/constraint/symmetryPlane/symmetryPlanePointPatch.C @@ -0,0 +1,71 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "symmetryPlanePointPatch.H" +#include "pointConstraint.H" +#include "addToRunTimeSelectionTable.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + defineTypeNameAndDebug(symmetryPlanePointPatch, 0); + + // Add the patch constructor functions to the hash tables + addToRunTimeSelectionTable + ( + facePointPatch, + symmetryPlanePointPatch, + polyPatch + ); +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::symmetryPlanePointPatch::symmetryPlanePointPatch +( + const polyPatch& patch, + const pointBoundaryMesh& bm +) +: + facePointPatch(patch, bm), + symmetryPlanePolyPatch_(refCast<const symmetryPlanePolyPatch>(patch)) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void Foam::symmetryPlanePointPatch::applyConstraint +( + const label, + pointConstraint& pc +) const +{ + pc.applyConstraint(symmetryPlanePolyPatch_.n()); +} + + +// ************************************************************************* // diff --git a/src/OpenFOAM/meshes/pointMesh/pointPatches/constraint/symmetryPlane/symmetryPlanePointPatch.H b/src/OpenFOAM/meshes/pointMesh/pointPatches/constraint/symmetryPlane/symmetryPlanePointPatch.H new file mode 100644 index 0000000000000000000000000000000000000000..a791d3828f12d32818da094311b46a71487fd37a --- /dev/null +++ b/src/OpenFOAM/meshes/pointMesh/pointPatches/constraint/symmetryPlane/symmetryPlanePointPatch.H @@ -0,0 +1,107 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Class + Foam::symmetryPlanePointPatch + +Description + Symmetry-plane patch. + +SourceFiles + symmetryPlanePointPatch.C + +\*---------------------------------------------------------------------------*/ + +#ifndef symmetryPlanePointPatch_H +#define symmetryPlanePointPatch_H + +#include "facePointPatch.H" +#include "symmetryPlanePolyPatch.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class symmetryPlanePointPatch Declaration +\*---------------------------------------------------------------------------*/ + +class symmetryPlanePointPatch +: + public facePointPatch +{ + // Private data + + //- Local reference cast into the symmetryPlane patch + const symmetryPlanePolyPatch& symmetryPlanePolyPatch_; + + +public: + + //- Runtime type information + TypeName(symmetryPlanePolyPatch::typeName_()); + + + // Constructors + + //- Construct from polyPatch + symmetryPlanePointPatch + ( + const polyPatch& patch, + const pointBoundaryMesh& bm + ); + + + // Member Functions + + //- Return the constraint type this pointPatch implements. + virtual const word& constraintType() const + { + return type(); + } + + //- Accumulate the effect of constraint direction of this patch + virtual void applyConstraint + ( + const label pointi, + pointConstraint& + ) const; + + //- Return symmetry plane normal + const vector& n() const + { + return symmetryPlanePolyPatch_.n(); + } +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/symmetry/symmetryPolyPatch.H b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/symmetry/symmetryPolyPatch.H index 9df659518f7069221510301924fd0dbb59dcd956..c07f46eb69e1bdc35f459d37c9faf259c60e4db8 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/symmetry/symmetryPolyPatch.H +++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/symmetry/symmetryPolyPatch.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -25,11 +25,14 @@ Class Foam::symmetryPolyPatch Description - Symmetry-plane patch. + Symmetry patch for non-planar or multi-plane patches. SourceFiles symmetryPolyPatch.C +SeeAlso + symmetryPlanePolyPatch + \*---------------------------------------------------------------------------*/ #ifndef symmetryPolyPatch_H @@ -53,7 +56,7 @@ class symmetryPolyPatch public: //- Runtime type information - TypeName("symmetryPlane"); + TypeName("symmetry"); // Constructors diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/symmetryPlane/symmetryPlanePolyPatch.C b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/symmetryPlane/symmetryPlanePolyPatch.C new file mode 100644 index 0000000000000000000000000000000000000000..49b48f8df7c902d4d54aa954f347b68b4fc4b17b --- /dev/null +++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/symmetryPlane/symmetryPlanePolyPatch.C @@ -0,0 +1,136 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "symmetryPlanePolyPatch.H" +#include "addToRunTimeSelectionTable.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + defineTypeNameAndDebug(symmetryPlanePolyPatch, 0); + + addToRunTimeSelectionTable(polyPatch, symmetryPlanePolyPatch, word); + addToRunTimeSelectionTable(polyPatch, symmetryPlanePolyPatch, dictionary); +} + +// * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * * * * * // + +Foam::symmetryPlanePolyPatch::symmetryPlanePolyPatch +( + const word& name, + const label size, + const label start, + const label index, + const polyBoundaryMesh& bm, + const word& patchType +) +: + polyPatch(name, size, start, index, bm, patchType), + n_(vector::zero) +{} + + +Foam::symmetryPlanePolyPatch::symmetryPlanePolyPatch +( + const word& name, + const dictionary& dict, + const label index, + const polyBoundaryMesh& bm, + const word& patchType +) +: + polyPatch(name, dict, index, bm, patchType), + n_(vector::zero) +{} + + +Foam::symmetryPlanePolyPatch::symmetryPlanePolyPatch +( + const symmetryPlanePolyPatch& pp, + const polyBoundaryMesh& bm +) +: + polyPatch(pp, bm), + n_(vector::zero) +{} + + +Foam::symmetryPlanePolyPatch::symmetryPlanePolyPatch +( + const symmetryPlanePolyPatch& pp, + const polyBoundaryMesh& bm, + const label index, + const label newSize, + const label newStart +) +: + polyPatch(pp, bm, index, newSize, newStart), + n_(vector::zero) +{} + + +Foam::symmetryPlanePolyPatch::symmetryPlanePolyPatch +( + const symmetryPlanePolyPatch& pp, + const polyBoundaryMesh& bm, + const label index, + const labelUList& mapAddressing, + const label newStart +) +: + polyPatch(pp, bm, index, mapAddressing, newStart), + n_(vector::zero) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +const Foam::vector& Foam::symmetryPlanePolyPatch::n() const +{ + // If the symmetry normal is not set calculate it + // as the average face-normal + if (magSqr(n_) < 0.5) + { + const vectorField& nf(faceNormals()); + n_ = gAverage(nf); + + // Check the symmetry plane is planar + forAll(nf, facei) + { + if (magSqr(n_ - nf[facei]) > SMALL) + { + FatalErrorIn("symmetryPlanePolyPatch::n()") + << "Symmetry plane '" << name() << "' is not planar" + << exit(FatalError); + } + } + } + + return n_; +} + + +// ************************************************************************* // diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/symmetryPlane/symmetryPlanePolyPatch.H b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/symmetryPlane/symmetryPlanePolyPatch.H new file mode 100644 index 0000000000000000000000000000000000000000..81b8afcd7280b1d4bbc206cb972532cd4a705fc9 --- /dev/null +++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/symmetryPlane/symmetryPlanePolyPatch.H @@ -0,0 +1,177 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Class + Foam::symmetryPlanePolyPatch + +Description + Symmetry-plane patch. + +SourceFiles + symmetryPlanePolyPatch.C + +\*---------------------------------------------------------------------------*/ + +#ifndef symmetryPlanePolyPatch_H +#define symmetryPlanePolyPatch_H + +#include "polyPatch.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class symmetryPlanePolyPatch Declaration +\*---------------------------------------------------------------------------*/ + +class symmetryPlanePolyPatch +: + public polyPatch +{ + // Private data + + //- Symmetry plane normal (calculated on demand) + mutable vector n_; + + +public: + + //- Runtime type information + TypeName("symmetryPlane"); + + + // Constructors + + //- Construct from components + symmetryPlanePolyPatch + ( + const word& name, + const label size, + const label start, + const label index, + const polyBoundaryMesh& bm, + const word& patchType + ); + + //- Construct from dictionary + symmetryPlanePolyPatch + ( + const word& name, + const dictionary& dict, + const label index, + const polyBoundaryMesh& bm, + const word& patchType + ); + + //- Construct as copy, resetting the boundary mesh + symmetryPlanePolyPatch + ( + const symmetryPlanePolyPatch&, + const polyBoundaryMesh& + ); + + //- Construct given the original patch and resetting the + // face list and boundary mesh information + symmetryPlanePolyPatch + ( + const symmetryPlanePolyPatch& pp, + const polyBoundaryMesh& bm, + const label index, + const label newSize, + const label newStart + ); + + //- Construct given the original patch and a map + symmetryPlanePolyPatch + ( + const symmetryPlanePolyPatch& pp, + const polyBoundaryMesh& bm, + const label index, + const labelUList& mapAddressing, + const label newStart + ); + + //- Construct and return a clone, resetting the boundary mesh + virtual autoPtr<polyPatch> clone(const polyBoundaryMesh& bm) const + { + return autoPtr<polyPatch>(new symmetryPlanePolyPatch(*this, bm)); + } + + //- Construct and return a clone, resetting the face list + // and boundary mesh + virtual autoPtr<polyPatch> clone + ( + const polyBoundaryMesh& bm, + const label index, + const label newSize, + const label newStart + ) const + { + return autoPtr<polyPatch> + ( + new symmetryPlanePolyPatch(*this, bm, index, newSize, newStart) + ); + } + + //- Construct and return a clone, resetting the face list + // and boundary mesh + virtual autoPtr<polyPatch> clone + ( + const polyBoundaryMesh& bm, + const label index, + const labelUList& mapAddressing, + const label newStart + ) const + { + return autoPtr<polyPatch> + ( + new symmetryPlanePolyPatch + ( + *this, + bm, + index, + mapAddressing, + newStart + ) + ); + } + + + // Member Functions + + //- Return symmetry plane normal + const vector& n() const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/finiteVolume/Make/files b/src/finiteVolume/Make/files index 67deac58109ac4285d0e2b029048916a76e7de02..0bcfcf48a575f19a1d2aa01748f8e5ba00385db1 100644 --- a/src/finiteVolume/Make/files +++ b/src/finiteVolume/Make/files @@ -24,6 +24,7 @@ $(constraintFvPatches)/empty/emptyFvPatch.C $(constraintFvPatches)/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatch.C $(constraintFvPatches)/processor/processorFvPatch.C $(constraintFvPatches)/processorCyclic/processorCyclicFvPatch.C +$(constraintFvPatches)/symmetryPlane/symmetryPlaneFvPatch.C $(constraintFvPatches)/symmetry/symmetryFvPatch.C $(constraintFvPatches)/wedge/wedgeFvPatch.C @@ -119,6 +120,8 @@ $(constraintFvPatchFields)/nonuniformTransformCyclic/nonuniformTransformCyclicFv $(constraintFvPatchFields)/processor/processorFvPatchFields.C $(constraintFvPatchFields)/processor/processorFvPatchScalarField.C $(constraintFvPatchFields)/processorCyclic/processorCyclicFvPatchFields.C +$(constraintFvPatchFields)/symmetryPlane/symmetryPlaneFvPatchFields.C +$(constraintFvPatchFields)/symmetryPlane/symmetryPlaneFvPatchScalarField.C $(constraintFvPatchFields)/symmetry/symmetryFvPatchFields.C $(constraintFvPatchFields)/wedge/wedgeFvPatchFields.C $(constraintFvPatchFields)/wedge/wedgeFvPatchScalarField.C @@ -213,6 +216,7 @@ $(constraintFvsPatchFields)/empty/emptyFvsPatchFields.C $(constraintFvsPatchFields)/nonuniformTransformCyclic/nonuniformTransformCyclicFvsPatchFields.C $(constraintFvsPatchFields)/processor/processorFvsPatchFields.C $(constraintFvsPatchFields)/processorCyclic/processorCyclicFvsPatchFields.C +$(constraintFvsPatchFields)/symmetryPlane/symmetryPlaneFvsPatchFields.C $(constraintFvsPatchFields)/symmetry/symmetryFvsPatchFields.C $(constraintFvsPatchFields)/wedge/wedgeFvsPatchFields.C diff --git a/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchScalarField.C index 32ab1deb1f50961e5734a9a6ea2147ac70e1cb15..40f3f5467fb4990d62566e781ce5b6718a21d4d9 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchScalarField.C +++ b/src/finiteVolume/fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchScalarField.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -26,22 +26,21 @@ License #include "basicSymmetryFvPatchField.H" #include "volFields.H" -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template<> -tmp<scalarField > basicSymmetryFvPatchField<scalar>::snGrad() const +Foam::tmp<Foam::scalarField> +Foam::basicSymmetryFvPatchField<Foam::scalar>::snGrad() const { return tmp<scalarField >(new scalarField(size(), 0.0)); } template<> -void basicSymmetryFvPatchField<scalar>::evaluate(const Pstream::commsTypes) +void Foam::basicSymmetryFvPatchField<Foam::scalar>::evaluate +( + const Pstream::commsTypes +) { if (!updated()) { @@ -53,8 +52,4 @@ void basicSymmetryFvPatchField<scalar>::evaluate(const Pstream::commsTypes) } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - // ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/symmetry/symmetryFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/symmetry/symmetryFvPatchField.H index a5812c09b4b7204791d689a5cc9deb1e6d01de77..84ee2cf8dde01bc73310074ae0233651b28ba8a0 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/symmetry/symmetryFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/symmetry/symmetryFvPatchField.H @@ -36,7 +36,7 @@ Description \verbatim myPatch { - type symmetryPlane; + type symmetry; } \endverbatim diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchField.C new file mode 100644 index 0000000000000000000000000000000000000000..053a56689b6c543e5d1e55190f94c74a91847509 --- /dev/null +++ b/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchField.C @@ -0,0 +1,201 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "symmetryPlaneFvPatchField.H" + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template<class Type> +Foam::symmetryPlaneFvPatchField<Type>::symmetryPlaneFvPatchField +( + const fvPatch& p, + const DimensionedField<Type, volMesh>& iF +) +: + basicSymmetryFvPatchField<Type>(p, iF), + symmetryPlanePatch_(refCast<const symmetryPlaneFvPatch>(p)) +{} + + +template<class Type> +Foam::symmetryPlaneFvPatchField<Type>::symmetryPlaneFvPatchField +( + const symmetryPlaneFvPatchField<Type>& ptf, + const fvPatch& p, + const DimensionedField<Type, volMesh>& iF, + const fvPatchFieldMapper& mapper +) +: + basicSymmetryFvPatchField<Type>(ptf, p, iF, mapper), + symmetryPlanePatch_(refCast<const symmetryPlaneFvPatch>(p)) +{ + if (!isType<symmetryPlaneFvPatch>(this->patch())) + { + FatalErrorIn + ( + "symmetryPlaneFvPatchField<Type>::symmetryPlaneFvPatchField\n" + "(\n" + " const symmetryPlaneFvPatchField<Type>& ptf,\n" + " const fvPatch& p,\n" + " const DimensionedField<Type, volMesh>& iF,\n" + " const fvPatchFieldMapper& mapper\n" + ")\n" + ) << "\n patch type '" << p.type() + << "' not constraint type '" << typeName << "'" + << "\n for patch " << p.name() + << " of field " << this->dimensionedInternalField().name() + << " in file " << this->dimensionedInternalField().objectPath() + << exit(FatalIOError); + } +} + + +template<class Type> +Foam::symmetryPlaneFvPatchField<Type>::symmetryPlaneFvPatchField +( + const fvPatch& p, + const DimensionedField<Type, volMesh>& iF, + const dictionary& dict +) +: + basicSymmetryFvPatchField<Type>(p, iF, dict), + symmetryPlanePatch_(refCast<const symmetryPlaneFvPatch>(p)) +{ + if (!isType<symmetryPlaneFvPatch>(p)) + { + FatalIOErrorIn + ( + "symmetryPlaneFvPatchField<Type>::symmetryPlaneFvPatchField\n" + "(\n" + " const fvPatch& p,\n" + " const Field<Type>& field,\n" + " const dictionary& dict\n" + ")\n", + dict + ) << "\n patch type '" << p.type() + << "' not constraint type '" << typeName << "'" + << "\n for patch " << p.name() + << " of field " << this->dimensionedInternalField().name() + << " in file " << this->dimensionedInternalField().objectPath() + << exit(FatalIOError); + } +} + + +template<class Type> +Foam::symmetryPlaneFvPatchField<Type>::symmetryPlaneFvPatchField +( + const symmetryPlaneFvPatchField<Type>& ptf +) +: + basicSymmetryFvPatchField<Type>(ptf), + symmetryPlanePatch_(ptf.symmetryPlanePatch_) +{} + + +template<class Type> +Foam::symmetryPlaneFvPatchField<Type>::symmetryPlaneFvPatchField +( + const symmetryPlaneFvPatchField<Type>& ptf, + const DimensionedField<Type, volMesh>& iF +) +: + basicSymmetryFvPatchField<Type>(ptf, iF), + symmetryPlanePatch_(ptf.symmetryPlanePatch_) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template<class Type> +Foam::tmp<Foam::Field<Type> > +Foam::symmetryPlaneFvPatchField<Type>::snGrad() const +{ + vector nHat(symmetryPlanePatch_.n()); + + const Field<Type> iF(this->patchInternalField()); + + return + (transform(I - 2.0*sqr(nHat), iF) - iF) + *(this->patch().deltaCoeffs()/2.0); +} + + +template<class Type> +void Foam::symmetryPlaneFvPatchField<Type>::evaluate(const Pstream::commsTypes) +{ + if (!this->updated()) + { + this->updateCoeffs(); + } + + vector nHat(symmetryPlanePatch_.n()); + + const Field<Type> iF(this->patchInternalField()); + + Field<Type>::operator= + ( + (iF + transform(I - 2.0*sqr(nHat), iF))/2.0 + ); + + transformFvPatchField<Type>::evaluate(); +} + + +template<class Type> +Foam::tmp<Foam::Field<Type> > +Foam::symmetryPlaneFvPatchField<Type>::snGradTransformDiag() const +{ + vector nHat(symmetryPlanePatch_.n()); + + const vector diag + ( + mag(nHat.component(vector::X)), + mag(nHat.component(vector::Y)), + mag(nHat.component(vector::Z)) + ); + + return tmp<Field<Type> > + ( + new Field<Type> + ( + this->size(), + transformMask<Type> + ( + //pow<vector, pTraits<Type>::rank>(diag) + pow + ( + diag, + pTraits<typename powProduct<vector, pTraits<Type>::rank> + ::type>::zero + ) + ) + ) + ); +} + + +// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchField.H new file mode 100644 index 0000000000000000000000000000000000000000..5f17938aa4952852e1fc147dd662bdc9797d387f --- /dev/null +++ b/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchField.H @@ -0,0 +1,189 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Class + Foam::symmetryPlaneFvPatchField + +Group + grpConstraintBoundaryConditions + +Description + This boundary condition enforces a symmetryPlane constraint + + \heading Patch usage + + Example of the boundary condition specification: + \verbatim + myPatch + { + type symmetryPlane; + } + \endverbatim + +SourceFiles + symmetryPlaneFvPatchField.C + symmetryPlaneFvPatchFields.C + symmetryPlaneFvPatchFields.H + symmetryPlaneFvPatchFieldsFwd.H + +\*---------------------------------------------------------------------------*/ + +#ifndef symmetryPlaneFvPatchField_H +#define symmetryPlaneFvPatchField_H + +#include "basicSymmetryFvPatchField.H" +#include "symmetryPlaneFvPatch.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class symmetryPlaneFvPatchField Declaration +\*---------------------------------------------------------------------------*/ + +template<class Type> +class symmetryPlaneFvPatchField +: + public basicSymmetryFvPatchField<Type> +{ + // Private data + + //- Local reference cast into the symmetryPlane patch + const symmetryPlaneFvPatch& symmetryPlanePatch_; + + +public: + + //- Runtime type information + TypeName(symmetryPlaneFvPatch::typeName_()); + + + // Constructors + + //- Construct from patch and internal field + symmetryPlaneFvPatchField + ( + const fvPatch&, + const DimensionedField<Type, volMesh>& + ); + + //- Construct from patch, internal field and dictionary + symmetryPlaneFvPatchField + ( + const fvPatch&, + const DimensionedField<Type, volMesh>&, + const dictionary& + ); + + //- Construct by mapping given symmetryPlaneFvPatchField + // onto a new patch + symmetryPlaneFvPatchField + ( + const symmetryPlaneFvPatchField<Type>&, + const fvPatch&, + const DimensionedField<Type, volMesh>&, + const fvPatchFieldMapper& + ); + + //- Construct as copy + symmetryPlaneFvPatchField + ( + const symmetryPlaneFvPatchField<Type>& + ); + + //- Construct and return a clone + virtual tmp<fvPatchField<Type> > clone() const + { + return tmp<fvPatchField<Type> > + ( + new symmetryPlaneFvPatchField<Type>(*this) + ); + } + + //- Construct as copy setting internal field reference + symmetryPlaneFvPatchField + ( + const symmetryPlaneFvPatchField<Type>&, + const DimensionedField<Type, volMesh>& + ); + + //- Construct and return a clone setting internal field reference + virtual tmp<fvPatchField<Type> > clone + ( + const DimensionedField<Type, volMesh>& iF + ) const + { + return tmp<fvPatchField<Type> > + ( + new symmetryPlaneFvPatchField<Type>(*this, iF) + ); + } + + + // Member functions + + // Evaluation functions + + //- Return gradient at boundary + virtual tmp<Field<Type> > snGrad() const; + + //- Evaluate the patch field + virtual void evaluate + ( + const Pstream::commsTypes commsType=Pstream::blocking + ); + + //- Return face-gradient transform diagonal + virtual tmp<Field<Type> > snGradTransformDiag() const; +}; + + +// * * * * * * * * * * * Template Specialisations * * * * * * * * * * * * * // + +template<> +tmp<scalarField> symmetryPlaneFvPatchField<scalar>::snGrad() const; + +template<> +void symmetryPlaneFvPatchField<scalar>::evaluate +( + const Pstream::commsTypes commsType +); + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository +# include "symmetryPlaneFvPatchField.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchFields.C b/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchFields.C new file mode 100644 index 0000000000000000000000000000000000000000..5430190f01b40e57ff773df7d415a099a7245d21 --- /dev/null +++ b/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchFields.C @@ -0,0 +1,43 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "symmetryPlaneFvPatchFields.H" +#include "addToRunTimeSelectionTable.H" +#include "volFields.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +makePatchFields(symmetryPlane); + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchFields.H b/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchFields.H new file mode 100644 index 0000000000000000000000000000000000000000..8b32421c2113b733802987977d6a1ea4089b0be4 --- /dev/null +++ b/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchFields.H @@ -0,0 +1,49 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#ifndef symmetryPlaneFvPatchFields_H +#define symmetryPlaneFvPatchFields_H + +#include "symmetryPlaneFvPatchField.H" +#include "fieldTypes.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +makePatchTypeFieldTypedefs(symmetryPlane); + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchFieldsFwd.H b/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchFieldsFwd.H new file mode 100644 index 0000000000000000000000000000000000000000..ef8a3946a37afc6504d68e6b267d5a582fb39b3f --- /dev/null +++ b/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchFieldsFwd.H @@ -0,0 +1,50 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#ifndef symmetryPlaneFvPatchFieldsFwd_H +#define symmetryPlaneFvPatchFieldsFwd_H + +#include "fieldTypes.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +template<class Type> class symmetryPlaneFvPatchField; + +makePatchTypeFieldTypedefs(symmetryPlane); + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchScalarField.C new file mode 100644 index 0000000000000000000000000000000000000000..4f439406268e9fdbcf3b1bc799188e776aeaab42 --- /dev/null +++ b/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchScalarField.C @@ -0,0 +1,55 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "symmetryPlaneFvPatchField.H" +#include "volFields.H" + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template<> +Foam::tmp<Foam::scalarField> +Foam::symmetryPlaneFvPatchField<Foam::scalar>::snGrad() const +{ + return tmp<scalarField >(new scalarField(size(), 0.0)); +} + + +template<> +void Foam::symmetryPlaneFvPatchField<Foam::scalar>::evaluate +( + const Pstream::commsTypes +) +{ + if (!updated()) + { + updateCoeffs(); + } + + scalarField::operator=(patchInternalField()); + transformFvPatchField<scalar>::evaluate(); +} + + +// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.C new file mode 100644 index 0000000000000000000000000000000000000000..9e3477d5864ec618bff8d22ac65f53f2c036694e --- /dev/null +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.C @@ -0,0 +1,130 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "symmetryPlaneFvsPatchField.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template<class Type> +symmetryPlaneFvsPatchField<Type>::symmetryPlaneFvsPatchField +( + const fvPatch& p, + const DimensionedField<Type, surfaceMesh>& iF +) +: + fvsPatchField<Type>(p, iF) +{} + + +template<class Type> +symmetryPlaneFvsPatchField<Type>::symmetryPlaneFvsPatchField +( + const symmetryPlaneFvsPatchField<Type>& ptf, + const fvPatch& p, + const DimensionedField<Type, surfaceMesh>& iF, + const fvPatchFieldMapper& mapper +) +: + fvsPatchField<Type>(ptf, p, iF, mapper) +{ + if (!isType<symmetryPlaneFvPatch>(this->patch())) + { + FatalErrorIn + ( + "symmetryPlaneFvsPatchField<Type>::symmetryPlaneFvsPatchField\n" + "(\n" + " const symmetryPlaneFvsPatchField<Type>& ptf,\n" + " const fvPatch& p,\n" + " const DimensionedField<Type, surfaceMesh>& iF,\n" + " const fvPatchFieldMapper& mapper\n" + ")\n" + ) << "Field type does not correspond to patch type for patch " + << this->patch().index() << "." << endl + << "Field type: " << typeName << endl + << "Patch type: " << this->patch().type() + << exit(FatalError); + } +} + + +template<class Type> +symmetryPlaneFvsPatchField<Type>::symmetryPlaneFvsPatchField +( + const fvPatch& p, + const DimensionedField<Type, surfaceMesh>& iF, + const dictionary& dict +) +: + fvsPatchField<Type>(p, iF, dict) +{ + if (!isType<symmetryPlaneFvPatch>(p)) + { + FatalIOErrorIn + ( + "symmetryPlaneFvsPatchField<Type>::symmetryPlaneFvsPatchField\n" + "(\n" + " const fvPatch& p,\n" + " const Field<Type>& field,\n" + " const dictionary& dict\n" + ")\n", + dict + ) << "patch " << this->patch().index() << " not symmetryPlane type. " + << "Patch type = " << p.type() + << exit(FatalIOError); + } +} + + +template<class Type> +symmetryPlaneFvsPatchField<Type>::symmetryPlaneFvsPatchField +( + const symmetryPlaneFvsPatchField<Type>& ptf +) +: + fvsPatchField<Type>(ptf) +{} + + +template<class Type> +symmetryPlaneFvsPatchField<Type>::symmetryPlaneFvsPatchField +( + const symmetryPlaneFvsPatchField<Type>& ptf, + const DimensionedField<Type, surfaceMesh>& iF +) +: + fvsPatchField<Type>(ptf, iF) +{} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.H new file mode 100644 index 0000000000000000000000000000000000000000..8dd2035610147c02140911b4a55bb68d98f5e538 --- /dev/null +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.H @@ -0,0 +1,139 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Class + Foam::symmetryPlaneFvsPatchField + +Description + Foam::symmetryPlaneFvsPatchField + +SourceFiles + symmetryPlaneFvsPatchField.C + +\*---------------------------------------------------------------------------*/ + +#ifndef symmetryPlaneFvsPatchField_H +#define symmetryPlaneFvsPatchField_H + +#include "fvsPatchField.H" +#include "symmetryPlaneFvPatch.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class symmetryPlaneFvsPatch Declaration +\*---------------------------------------------------------------------------*/ + +template<class Type> +class symmetryPlaneFvsPatchField +: + public fvsPatchField<Type> +{ + +public: + + //- Runtime type information + TypeName(symmetryPlaneFvPatch::typeName_()); + + + // Constructors + + //- Construct from patch and internal field + symmetryPlaneFvsPatchField + ( + const fvPatch&, + const DimensionedField<Type, surfaceMesh>& + ); + + //- Construct from patch, internal field and dictionary + symmetryPlaneFvsPatchField + ( + const fvPatch&, + const DimensionedField<Type, surfaceMesh>&, + const dictionary& + ); + + //- Construct by mapping given symmetryPlaneFvsPatchField + // onto a new patch + symmetryPlaneFvsPatchField + ( + const symmetryPlaneFvsPatchField<Type>&, + const fvPatch&, + const DimensionedField<Type, surfaceMesh>&, + const fvPatchFieldMapper& + ); + + //- Construct as copy + symmetryPlaneFvsPatchField + ( + const symmetryPlaneFvsPatchField<Type>& + ); + + //- Construct and return a clone + virtual tmp<fvsPatchField<Type> > clone() const + { + return tmp<fvsPatchField<Type> > + ( + new symmetryPlaneFvsPatchField<Type>(*this) + ); + } + + //- Construct as copy setting internal field reference + symmetryPlaneFvsPatchField + ( + const symmetryPlaneFvsPatchField<Type>&, + const DimensionedField<Type, surfaceMesh>& + ); + + //- Construct and return a clone setting internal field reference + virtual tmp<fvsPatchField<Type> > clone + ( + const DimensionedField<Type, surfaceMesh>& iF + ) const + { + return tmp<fvsPatchField<Type> > + ( + new symmetryPlaneFvsPatchField<Type>(*this, iF) + ); + } +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository +# include "symmetryPlaneFvsPatchField.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchFields.C b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchFields.C new file mode 100644 index 0000000000000000000000000000000000000000..0d881f615c0755b0b48846394af774cdc741314e --- /dev/null +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchFields.C @@ -0,0 +1,43 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "symmetryPlaneFvsPatchFields.H" +#include "fvsPatchFields.H" +#include "addToRunTimeSelectionTable.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +makeFvsPatchFields(symmetryPlane); + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchFields.H b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchFields.H new file mode 100644 index 0000000000000000000000000000000000000000..b7d5e2cab80cee416a5b64124f770e4ce9365aca --- /dev/null +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchFields.H @@ -0,0 +1,49 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#ifndef symmetryPlaneFvsPatchFields_H +#define symmetryPlaneFvsPatchFields_H + +#include "symmetryPlaneFvsPatchField.H" +#include "fieldTypes.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +makeFvsPatchTypeFieldTypedefs(symmetryPlane); + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchFieldsFwd.H b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchFieldsFwd.H new file mode 100644 index 0000000000000000000000000000000000000000..c041cbf295b777bdc867449ebb82e6408c1324b2 --- /dev/null +++ b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchFieldsFwd.H @@ -0,0 +1,50 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#ifndef symmetryPlaneFvsPatchFieldsFwd_H +#define symmetryPlaneFvsPatchFieldsFwd_H + +#include "fieldTypes.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +template<class Type> class symmetryPlaneFvsPatchField; + +makeFvsPatchTypeFieldTypedefs(symmetryPlane); + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/finiteVolume/fvMesh/fvPatches/constraint/symmetry/symmetryFvPatch.H b/src/finiteVolume/fvMesh/fvPatches/constraint/symmetry/symmetryFvPatch.H index 11ca298ec4ed679f83ddf453a71b447ea25d1e34..ba10021d51949f2ce6452d164fe6c1b9c4a067ef 100644 --- a/src/finiteVolume/fvMesh/fvPatches/constraint/symmetry/symmetryFvPatch.H +++ b/src/finiteVolume/fvMesh/fvPatches/constraint/symmetry/symmetryFvPatch.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -25,7 +25,7 @@ Class Foam::symmetryFvPatch Description - Symmetry-plane patch. + Symmetry patch for non-planar or multi-plane patches. SourceFiles symmetryFvPatch.C diff --git a/src/finiteVolume/fvMesh/fvPatches/constraint/symmetryPlane/symmetryPlaneFvPatch.C b/src/finiteVolume/fvMesh/fvPatches/constraint/symmetryPlane/symmetryPlaneFvPatch.C new file mode 100644 index 0000000000000000000000000000000000000000..cabfd123c6b1777485bfe23059e4a4e547c69de0 --- /dev/null +++ b/src/finiteVolume/fvMesh/fvPatches/constraint/symmetryPlane/symmetryPlaneFvPatch.C @@ -0,0 +1,43 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "symmetryPlaneFvPatch.H" +#include "addToRunTimeSelectionTable.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +defineTypeNameAndDebug(symmetryPlaneFvPatch, 0); +addToRunTimeSelectionTable(fvPatch, symmetryPlaneFvPatch, polyPatch); + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/finiteVolume/fvMesh/fvPatches/constraint/symmetryPlane/symmetryPlaneFvPatch.H b/src/finiteVolume/fvMesh/fvPatches/constraint/symmetryPlane/symmetryPlaneFvPatch.H new file mode 100644 index 0000000000000000000000000000000000000000..069b37b6bc332fea1f61b57d97813f2a04d0d325 --- /dev/null +++ b/src/finiteVolume/fvMesh/fvPatches/constraint/symmetryPlane/symmetryPlaneFvPatch.H @@ -0,0 +1,97 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Class + Foam::symmetryPlaneFvPatch + +Description + Symmetry-plane patch. + +SourceFiles + symmetryPlaneFvPatch.C + +\*---------------------------------------------------------------------------*/ + +#ifndef symmetryPlaneFvPatch_H +#define symmetryPlaneFvPatch_H + +#include "fvPatch.H" +#include "symmetryPlanePolyPatch.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class symmetryPlaneFvPatch Declaration +\*---------------------------------------------------------------------------*/ + +class symmetryPlaneFvPatch +: + public fvPatch +{ + // Private data + + //- Local reference cast into the symmetryPlane patch + const symmetryPlanePolyPatch& symmetryPlanePolyPatch_; + + +public: + + //- Runtime type information + TypeName(symmetryPlanePolyPatch::typeName_()); + + + // Constructors + + //- Construct from polyPatch + symmetryPlaneFvPatch(const polyPatch& patch, const fvBoundaryMesh& bm) + : + fvPatch(patch, bm), + symmetryPlanePolyPatch_ + ( + refCast<const symmetryPlanePolyPatch>(patch) + ) + {} + + + // Member Functions + + //- Return symmetry plane normal + const vector& n() const + { + return symmetryPlanePolyPatch_.n(); + } +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/lagrangian/basic/particle/particle.H b/src/lagrangian/basic/particle/particle.H index 0275cc5fd1ec6ed1cd6bcd20b3d8fac3d86666c6..6cb1838e83a482e4d82f213a05209d41a6f4d46d 100644 --- a/src/lagrangian/basic/particle/particle.H +++ b/src/lagrangian/basic/particle/particle.H @@ -55,6 +55,7 @@ class polyPatch; class cyclicPolyPatch; class processorPolyPatch; +class symmetryPlanePolyPatch; class symmetryPolyPatch; class wallPolyPatch; class wedgePolyPatch; @@ -248,6 +249,15 @@ protected: template<class TrackData> void hitWedgePatch(const wedgePolyPatch&, TrackData& td); + //- Overridable function to handle the particle hitting a + // symmetryPlanePatch + template<class TrackData> + void hitSymmetryPlanePatch + ( + const symmetryPlanePolyPatch&, + TrackData& td + ); + //- Overridable function to handle the particle hitting a // symmetryPatch template<class TrackData> diff --git a/src/lagrangian/basic/particle/particleTemplates.C b/src/lagrangian/basic/particle/particleTemplates.C index ad50f7ddd8261ee575e4ca0f7420a6bcdf484811..3f47fe82e6ad4f6ad9631ea85695161ef49b31ab 100644 --- a/src/lagrangian/basic/particle/particleTemplates.C +++ b/src/lagrangian/basic/particle/particleTemplates.C @@ -28,6 +28,7 @@ License #include "cyclicPolyPatch.H" #include "cyclicAMIPolyPatch.H" #include "processorPolyPatch.H" +#include "symmetryPlanePolyPatch.H" #include "symmetryPolyPatch.H" #include "wallPolyPatch.H" #include "wedgePolyPatch.H" @@ -585,6 +586,13 @@ Foam::scalar Foam::particle::trackToFace static_cast<const wedgePolyPatch&>(patch), td ); } + else if (isA<symmetryPlanePolyPatch>(patch)) + { + p.hitSymmetryPlanePatch + ( + static_cast<const symmetryPlanePolyPatch&>(patch), td + ); + } else if (isA<symmetryPolyPatch>(patch)) { p.hitSymmetryPatch @@ -958,6 +966,20 @@ void Foam::particle::hitWedgePatch } +template<class TrackData> +void Foam::particle::hitSymmetryPlanePatch +( + const symmetryPlanePolyPatch& spp, + TrackData& +) +{ + vector nf = normal(); + nf /= mag(nf); + + transformProperties(I - 2.0*nf*nf); +} + + template<class TrackData> void Foam::particle::hitSymmetryPatch ( diff --git a/src/mesh/autoMesh/autoHexMesh/trackedParticle/trackedParticle.C b/src/mesh/autoMesh/autoHexMesh/trackedParticle/trackedParticle.C index b861bdb037221a652ed4575f991f2a8a60c0bf67..c8e8be3d06b276926d448363f22031d1552cc3ee 100644 --- a/src/mesh/autoMesh/autoHexMesh/trackedParticle/trackedParticle.C +++ b/src/mesh/autoMesh/autoHexMesh/trackedParticle/trackedParticle.C @@ -141,6 +141,17 @@ void Foam::trackedParticle::hitWedgePatch } +void Foam::trackedParticle::hitSymmetryPlanePatch +( + const symmetryPlanePolyPatch&, + trackingData& td +) +{ + // Remove particle + td.keepParticle = false; +} + + void Foam::trackedParticle::hitSymmetryPatch ( const symmetryPolyPatch&, diff --git a/src/mesh/autoMesh/autoHexMesh/trackedParticle/trackedParticle.H b/src/mesh/autoMesh/autoHexMesh/trackedParticle/trackedParticle.H index 30acbc2fcc3bfe521f61deafca5806b93b766c47..4500cab11df97acba8386981252bbcce46fd15f6 100644 --- a/src/mesh/autoMesh/autoHexMesh/trackedParticle/trackedParticle.H +++ b/src/mesh/autoMesh/autoHexMesh/trackedParticle/trackedParticle.H @@ -214,7 +214,15 @@ public: ); //- Overridable function to handle the particle hitting a - // symmetryPlane + // symmetry plane + void hitSymmetryPlanePatch + ( + const symmetryPlanePolyPatch&, + trackingData& td + ); + + //- Overridable function to handle the particle hitting a + // symmetry patch void hitSymmetryPatch ( const symmetryPolyPatch&, diff --git a/src/postProcessing/functionObjects/field/nearWallFields/findCellParticle.C b/src/postProcessing/functionObjects/field/nearWallFields/findCellParticle.C index 5fe71cac6ea1f1c0937ccf1f62b47275d652f06f..ad4d234a35dcf0cc8834bca46b5e506937d9a3f5 100644 --- a/src/postProcessing/functionObjects/field/nearWallFields/findCellParticle.C +++ b/src/postProcessing/functionObjects/field/nearWallFields/findCellParticle.C @@ -140,6 +140,17 @@ void Foam::findCellParticle::hitWedgePatch } +void Foam::findCellParticle::hitSymmetryPlanePatch +( + const symmetryPlanePolyPatch&, + trackingData& td +) +{ + // Remove particle + td.keepParticle = false; +} + + void Foam::findCellParticle::hitSymmetryPatch ( const symmetryPolyPatch&, diff --git a/src/postProcessing/functionObjects/field/nearWallFields/findCellParticle.H b/src/postProcessing/functionObjects/field/nearWallFields/findCellParticle.H index 0e87f644e26a07f065693e4bfde72a8ad5a3549e..82a430778a2956238332e28b789653c78a03fc4a 100644 --- a/src/postProcessing/functionObjects/field/nearWallFields/findCellParticle.H +++ b/src/postProcessing/functionObjects/field/nearWallFields/findCellParticle.H @@ -196,7 +196,15 @@ public: ); //- Overridable function to handle the particle hitting a - // symmetryPlane + // symmetry plane + void hitSymmetryPlanePatch + ( + const symmetryPlanePolyPatch&, + trackingData& td + ); + + //- Overridable function to handle the particle hitting a + // symmetry patch void hitSymmetryPatch ( const symmetryPolyPatch&, diff --git a/src/postProcessing/functionObjects/field/streamLine/streamLineParticle.C b/src/postProcessing/functionObjects/field/streamLine/streamLineParticle.C index ff03f1160b301b2bd87d6681392de80e81649c48..b62409d6bb1fb45a6c54fa92eac661ccf3265995 100644 --- a/src/postProcessing/functionObjects/field/streamLine/streamLineParticle.C +++ b/src/postProcessing/functionObjects/field/streamLine/streamLineParticle.C @@ -345,6 +345,17 @@ void Foam::streamLineParticle::hitWedgePatch } +void Foam::streamLineParticle::hitSymmetryPlanePatch +( + const symmetryPlanePolyPatch& pp, + trackingData& td +) +{ + // Remove particle + td.keepParticle = false; +} + + void Foam::streamLineParticle::hitSymmetryPatch ( const symmetryPolyPatch& pp, diff --git a/src/postProcessing/functionObjects/field/streamLine/streamLineParticle.H b/src/postProcessing/functionObjects/field/streamLine/streamLineParticle.H index 02bd609933fffbeb4923d4c242614aeeb4bf9c26..381680bf9a0947dc388facd1ff0a87add1373ff5 100644 --- a/src/postProcessing/functionObjects/field/streamLine/streamLineParticle.H +++ b/src/postProcessing/functionObjects/field/streamLine/streamLineParticle.H @@ -237,7 +237,15 @@ public: ); //- Overridable function to handle the particle hitting a - // symmetryPlane + // symmetry plane + void hitSymmetryPlanePatch + ( + const symmetryPlanePolyPatch&, + trackingData& td + ); + + //- Overridable function to handle the particle hitting a + // symmetry patch void hitSymmetryPatch ( const symmetryPolyPatch&, diff --git a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.H b/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.H index df93215be1a6d53747591f5c8e162239be34a405..85979062194e87fbd55f5829eedc254d028760ab 100644 --- a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.H +++ b/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.H @@ -159,7 +159,16 @@ protected: ); //- Overridable function to handle the particle hitting a - // symmetryPlane + // symmetry plane + template<class TrackData> + void hitSymmetryPlanePatch + ( + const symmetryPlanePolyPatch&, + TrackData& td + ); + + //- Overridable function to handle the particle hitting a + // symmetry patch template<class TrackData> void hitSymmetryPatch ( diff --git a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.C b/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.C index 18b1b37a8984928ea29d615f65f71bebfb71ae0b..265621ae05e0a2c74838e9c5750ef32fcac5d66c 100644 --- a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.C +++ b/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.C @@ -80,6 +80,13 @@ void Foam::wallBoundedParticle::patchInteraction static_cast<const wedgePolyPatch&>(patch), td ); } + else if (isA<symmetryPlanePolyPatch>(patch)) + { + p.hitSymmetryPlanePatch + ( + static_cast<const symmetryPlanePolyPatch&>(patch), td + ); + } else if (isA<symmetryPolyPatch>(patch)) { p.hitSymmetryPatch @@ -403,6 +410,18 @@ void Foam::wallBoundedParticle::hitWedgePatch } +template<class TrackData> +void Foam::wallBoundedParticle::hitSymmetryPlanePatch +( + const symmetryPlanePolyPatch& pp, + TrackData& td +) +{ + // Remove particle + td.keepParticle = false; +} + + template<class TrackData> void Foam::wallBoundedParticle::hitSymmetryPatch ( diff --git a/tutorials/basic/potentialFoam/cylinder/0.org/U b/tutorials/basic/potentialFoam/cylinder/0.org/U index c4b3d7fb847efb27b1bb62a66c1edcf5302b29c5..d6116b31aabcabcab75c2b6d7b039eb4925ef1b2 100644 --- a/tutorials/basic/potentialFoam/cylinder/0.org/U +++ b/tutorials/basic/potentialFoam/cylinder/0.org/U @@ -43,7 +43,7 @@ boundaryField cylinder { - type symmetryPlane; + type symmetry; } defaultFaces diff --git a/tutorials/basic/potentialFoam/cylinder/0.org/p b/tutorials/basic/potentialFoam/cylinder/0.org/p index 89f2085d0defe41b267263f067bf0b237f573684..6f49804a73c532afd414d41edb937ba089777746 100644 --- a/tutorials/basic/potentialFoam/cylinder/0.org/p +++ b/tutorials/basic/potentialFoam/cylinder/0.org/p @@ -43,7 +43,7 @@ boundaryField cylinder { - type symmetryPlane; + type symmetry; } defaultFaces diff --git a/tutorials/basic/potentialFoam/cylinder/constant/polyMesh/blockMeshDict b/tutorials/basic/potentialFoam/cylinder/constant/polyMesh/blockMeshDict index b234ca868aa82d451fa0ba50244b4e806efbe039..7bfe080d73fbeb9c68fad0d317cdc849914ae7a1 100644 --- a/tutorials/basic/potentialFoam/cylinder/constant/polyMesh/blockMeshDict +++ b/tutorials/basic/potentialFoam/cylinder/constant/polyMesh/blockMeshDict @@ -138,7 +138,7 @@ boundary } cylinder { - type symmetryPlane; + type symmetry; faces ( (10 5 24 29) diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/boundaryT b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/boundaryT index 53679a4d4015921a950bb20ef27a026c93fdd4f7..ef322d8c87d4dab8bc272c69eb834ae5ef32a43b 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/boundaryT +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/boundaryT @@ -26,7 +26,7 @@ boundaryField value uniform 300; } - entrance + "entrance.*" { type symmetryPlane; } diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/boundaryU b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/boundaryU index ea3b12802eedcf9902e3527cccd1b18297c5c07a..744ecbbfb812a7416d788c9fa2b6d98758a69e0b 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/boundaryU +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/boundaryU @@ -26,7 +26,7 @@ boundaryField value uniform (1936 0 0); } - entrance + "entrance.*" { type symmetryPlane; } diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/dsmcRhoN b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/dsmcRhoN index d4692578fb6d6333ad0b045cbf5b623804a7a101..785995c6cf929f6382791a86d02fbf6c6e8ff46a 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/dsmcRhoN +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/dsmcRhoN @@ -25,7 +25,7 @@ boundaryField type zeroGradient; } - entrance + "entrance.*" { type symmetryPlane; } diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/fD b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/fD index 25c79baa0dfe753cecaf849836af34168ff96948..7b9c6df33abac4bf60a111566100b2693303c37e 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/fD +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/fD @@ -26,7 +26,7 @@ boundaryField value uniform (0 0 0); } - entrance + "entrance.*" { type symmetryPlane; } diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/iDof b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/iDof index a7675b5581cfd93ff11a2602cc76bf1054349320..ead6eebcbd0b706b4d0b9b60c7b8ca8d303641fd 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/iDof +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/iDof @@ -25,7 +25,7 @@ boundaryField type zeroGradient; } - entrance + "entrance.*" { type symmetryPlane; } diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/internalE b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/internalE index f906279f83784e6e443cc462dd37c10afc1174fd..ced72b0e8dc1ff43a77200bd4c3bd706dda196a2 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/internalE +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/internalE @@ -25,7 +25,7 @@ boundaryField type zeroGradient; } - entrance + "entrance.*" { type symmetryPlane; } diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/linearKE b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/linearKE index 46d7cf4032db1396170cf097902676bfb7be6f38..0bd68d2dd0bd0e2d0f04ee2c965105c647f4db0e 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/linearKE +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/linearKE @@ -25,7 +25,7 @@ boundaryField type zeroGradient; } - entrance + "entrance.*" { type symmetryPlane; } diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/momentum b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/momentum index 366978bbc47a727326e5972d04a064250b3a0913..2a65f62e0499cef7f99a62999471fba220864132 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/momentum +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/momentum @@ -25,7 +25,7 @@ boundaryField type zeroGradient; } - entrance + "entrance.*" { type symmetryPlane; } diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/q b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/q index 497d603d75e470c9720018f789a08743a4d8d206..49d5c4c775c8f428631c094e9a15fc621bf3e8e4 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/q +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/q @@ -27,7 +27,7 @@ boundaryField } - entrance + "entrance.*" { type symmetryPlane; } diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/rhoM b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/rhoM index 20a8d376945ec1d4f783a3add22b249de4328e8e..a07b9b4cc5720af7e6cb96a020496b02c31e2c17 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/rhoM +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/rhoM @@ -25,7 +25,7 @@ boundaryField type zeroGradient; } - entrance + "entrance.*" { type symmetryPlane; } diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/rhoN b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/rhoN index 9aec13a5eed9c62f9fb59c65bf1142cc53d5938a..10cad731ebd2944a2209c7fef8f5187e2fb713b5 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/rhoN +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/0/rhoN @@ -25,7 +25,7 @@ boundaryField type zeroGradient; } - entrance + "entrance.*" { type symmetryPlane; } diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/constant/polyMesh/blockMeshDict b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/constant/polyMesh/blockMeshDict index 66a179d00eb614bdbf766cee3c43207c1bbbafb6..599dfd540caaaeeffb04e3771723305ff69a8803 100644 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/constant/polyMesh/blockMeshDict +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/constant/polyMesh/blockMeshDict @@ -56,12 +56,20 @@ boundary ); } - entrance + entrance1 { type symmetryPlane; faces ( (0 1 5 4) + ); + } + + entrance2 + { + type symmetryPlane; + faces + ( (0 3 2 1) ); } diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/U b/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/U index b6507db443dcd3e12f13ba5ec1f196bc2fc36d4b..9b63f3c191a4b6c36b08e3704f45360d30bbb114 100644 --- a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/U +++ b/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/U @@ -33,7 +33,7 @@ boundaryField } up { - type symmetryPlane; + type symmetry; } hole { diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/kl b/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/kl index 496477b8a6596e3c31f281f1b516662595c7a526..b35fc203808408e14912000de992eba5bccfc862 100644 --- a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/kl +++ b/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/kl @@ -34,7 +34,7 @@ boundaryField } up { - type symmetryPlane; + type symmetry; } hole { diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/kt b/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/kt index 265bd65e66f967426d383ecd7d09665fdfd75687..c64ca0f6cff76dc305cb63e56440d0afa38990d7 100644 --- a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/kt +++ b/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/kt @@ -34,7 +34,7 @@ boundaryField } up { - type symmetryPlane; + type symmetry; } hole { diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/nut b/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/nut index e2a11d2cffc99cd11b2cca0fadae84fda1a64b3a..435c96ce84a9229d930170318d84c25ad313369a 100644 --- a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/nut +++ b/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/nut @@ -33,7 +33,7 @@ boundaryField } up { - type symmetryPlane; + type symmetry; } hole { diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/omega b/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/omega index 9ed9c7a2dc0853983ef82932a00f881186564dd5..fed86624a8eb3c3db210347610e3debba58c6fd0 100644 --- a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/omega +++ b/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/omega @@ -34,7 +34,7 @@ boundaryField } up { - type symmetryPlane; + type symmetry; } hole { diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/p b/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/p index fbb21d38abc95c5d5e7a7548c5f839272bc9ebc8..e2ef78a321070c009eacc94d7dbc04ce26b30350 100644 --- a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/p +++ b/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/p @@ -31,7 +31,7 @@ boundaryField } up { - type symmetryPlane; + type symmetry; } hole { diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/constant/polyMesh/blockMeshDict b/tutorials/incompressible/pimpleFoam/elipsekkLOmega/constant/polyMesh/blockMeshDict index 64e4d59a024a09314d0dff56ee5f257e7807b55e..28e1b8a9f3951cdcc8a0d8c8b39d1bc67b013e20 100644 --- a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/constant/polyMesh/blockMeshDict +++ b/tutorials/incompressible/pimpleFoam/elipsekkLOmega/constant/polyMesh/blockMeshDict @@ -67,7 +67,7 @@ boundary ( left { - type symmetryPlane; + type symmetry; faces ( (8 9 20 19) @@ -85,7 +85,7 @@ boundary } down { - type symmetryPlane; + type symmetry; faces ( (0 1 12 11) @@ -94,7 +94,7 @@ boundary } up { - type symmetryPlane; + type symmetry; faces ( (7 8 19 18) diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/U b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/U index 8cbb63e11608b0080a911f2591fc31af47ef1a9b..cee307a730f64dcc1f2b1b96970ff69e9868aadd 100644 --- a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/U +++ b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/U @@ -54,7 +54,7 @@ boundaryField { type symmetryPlane; } - frontAndBack + "(front|back)" { type symmetryPlane; } diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/include/frontBackUpperPatches b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/include/frontBackUpperPatches index 69519e55ad077a0426254a46a79e65935e095f54..ae6ea03155c54a5561e7bc393f131d38dfae4c4c 100644 --- a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/include/frontBackUpperPatches +++ b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/include/frontBackUpperPatches @@ -11,7 +11,7 @@ upperWall type symmetryPlane; } -frontAndBack +"(front|back)" { type symmetryPlane; } diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/k b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/k index 17fb5eca6d05e1702952e9b9bf20ac7d11889c8d..b4cd87638c3a29462792abf6ee257c83ae3b1199 100644 --- a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/k +++ b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/k @@ -46,7 +46,7 @@ boundaryField { type symmetryPlane; } - frontAndBack + "(front|back)" { type symmetryPlane; } diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/nuTilda b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/nuTilda index 8fb0fba67ec954e8fcc9436c52270edd5f2512cb..41461e671110c3338e2b919e10057e1cc97ceaec 100644 --- a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/nuTilda +++ b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/nuTilda @@ -46,7 +46,7 @@ boundaryField { type symmetryPlane; } - frontAndBack + "(front|back)" { type symmetryPlane; } diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/nut b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/nut index 9f5768c2e73c9231f2b6a5e86171b814217b6b2b..915f16d2257f63a89179082c09d9d26735f511fe 100644 --- a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/nut +++ b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/nut @@ -21,7 +21,7 @@ internalField uniform 0; boundaryField { - frontAndBack + "(front|back)" { type symmetryPlane; value uniform 0; diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/p b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/p index ea47d98bd969451e359de3dab54bf8477d8ecab5..f85ce77a8ce2b3741bf182ed4e13b478200f415f 100644 --- a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/p +++ b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.org/p @@ -42,7 +42,7 @@ boundaryField { type symmetryPlane; } - frontAndBack + "(front|back)" { type symmetryPlane; } diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/polyMesh/blockMeshDict b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/polyMesh/blockMeshDict index ecd71ab96cbc821f0b2d3aa7f006578aca6009d6..53f4ee34474e057cfe840445b41c674f63575bad 100644 --- a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/polyMesh/blockMeshDict +++ b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/polyMesh/blockMeshDict @@ -40,12 +40,19 @@ edges boundary ( - frontAndBack + front { type symmetryPlane; faces ( (3 7 6 2) + ); + } + back + { + type symmetryPlane; + faces + ( (1 5 4 0) ); } diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/polyMesh/blockMeshDict.8pSmall b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/polyMesh/blockMeshDict.8pSmall index 9272e69301522a40d59f915a105738c04dbf38b7..c865acf47b5a02d5d6b490b5da742329c69cd50e 100644 --- a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/polyMesh/blockMeshDict.8pSmall +++ b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/polyMesh/blockMeshDict.8pSmall @@ -40,12 +40,19 @@ edges boundary ( - frontAndBack + front { type symmetryPlane; faces ( (3 7 6 2) + ); + } + back + { + type symmetryPlane; + faces + ( (1 5 4 0) ); } diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/polyMesh/boundary b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/polyMesh/boundary index 70a305827af2cbe30d545936791c61bf3ada7876..40530a746d077ecc7a9cb45a277031110b068c62 100644 --- a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/polyMesh/boundary +++ b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/polyMesh/boundary @@ -15,15 +15,22 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -5 +6 ( - frontAndBack + front { type symmetryPlane; inGroups 1(symmetryPlane); - nFaces 320; + nFaces 160; startFace 3456; } + back + { + type symmetryPlane; + inGroups 1(symmetryPlane); + nFaces 160; + startFace 3616; + } inlet { type patch; diff --git a/tutorials/mesh/foamyHexMesh/mixerVessel/system/fvSchemes b/tutorials/mesh/foamyHexMesh/mixerVessel/system/fvSchemes index 70e7cf49ab6ec67ae4c65dc39708f95f9a61a430..84e4f5d57dfd09e85acab261c76262e00856e689 100644 --- a/tutorials/mesh/foamyHexMesh/mixerVessel/system/fvSchemes +++ b/tutorials/mesh/foamyHexMesh/mixerVessel/system/fvSchemes @@ -28,13 +28,13 @@ gradSchemes divSchemes { - div(rho*phi,U) Gauss linearUpwind grad(U); + div(rhoPhi,U) Gauss linearUpwind grad(U); div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss interfaceCompression 1; div(phid1,p_rgh) Gauss upwind; div(phid2,p_rgh) Gauss upwind; - div(rho*phi,T) Gauss linearUpwind unlimited; - div(rho*phi,K) Gauss upwind; + div(rhoPhi,T) Gauss linearUpwind unlimited; + div(rhoPhi,K) Gauss upwind; div(phi,k) Gauss upwind; div(phi,epsilon) Gauss upwind; div((muEff*dev2(T(grad(U))))) Gauss linear; diff --git a/tutorials/multiphase/LTSInterFoam/wigleyHull/0/U b/tutorials/multiphase/LTSInterFoam/wigleyHull/0/U index 92d3cfd744cc45ea733384c41fdc96497f965257..cdfb0476f512ad3fbc326665250c1ba4eeea57e2 100644 --- a/tutorials/multiphase/LTSInterFoam/wigleyHull/0/U +++ b/tutorials/multiphase/LTSInterFoam/wigleyHull/0/U @@ -39,7 +39,7 @@ boundaryField sides { - type symmetryPlane; + type symmetry; } atmosphere diff --git a/tutorials/multiphase/LTSInterFoam/wigleyHull/0/alpha.water.org b/tutorials/multiphase/LTSInterFoam/wigleyHull/0/alpha.water.org index d722029120eede69d8d441f3ffb371454fcb7ed4..9f0c8ce1fc6fce29cadbdca5aa07f99adffe52ac 100644 --- a/tutorials/multiphase/LTSInterFoam/wigleyHull/0/alpha.water.org +++ b/tutorials/multiphase/LTSInterFoam/wigleyHull/0/alpha.water.org @@ -34,7 +34,7 @@ boundaryField sides { - type symmetryPlane; + type symmetry; } atmosphere diff --git a/tutorials/multiphase/LTSInterFoam/wigleyHull/0/k b/tutorials/multiphase/LTSInterFoam/wigleyHull/0/k index 9f4d8df1c01a973102a7e5c645e39c382962deaa..aad177972c35962637692bb6233b97855b9788a9 100644 --- a/tutorials/multiphase/LTSInterFoam/wigleyHull/0/k +++ b/tutorials/multiphase/LTSInterFoam/wigleyHull/0/k @@ -34,7 +34,7 @@ boundaryField sides { - type symmetryPlane; + type symmetry; } atmosphere diff --git a/tutorials/multiphase/LTSInterFoam/wigleyHull/0/nut b/tutorials/multiphase/LTSInterFoam/wigleyHull/0/nut index 5106e2b1029e657da831443c0dc3ee9d5e52fa96..c36622b550442471c0f6994d2cc46c97368ee7d0 100644 --- a/tutorials/multiphase/LTSInterFoam/wigleyHull/0/nut +++ b/tutorials/multiphase/LTSInterFoam/wigleyHull/0/nut @@ -34,7 +34,7 @@ boundaryField sides { - type symmetryPlane; + type symmetry; } atmosphere diff --git a/tutorials/multiphase/LTSInterFoam/wigleyHull/0/omega b/tutorials/multiphase/LTSInterFoam/wigleyHull/0/omega index 885912311ac33b4f148d9a7f7031996b734b38ba..cf768115ca3e68ffaa1a7f50684ba3909ea99921 100644 --- a/tutorials/multiphase/LTSInterFoam/wigleyHull/0/omega +++ b/tutorials/multiphase/LTSInterFoam/wigleyHull/0/omega @@ -40,7 +40,7 @@ boundaryField sides { - type symmetryPlane; + type symmetry; } atmosphere diff --git a/tutorials/multiphase/LTSInterFoam/wigleyHull/0/p_rgh b/tutorials/multiphase/LTSInterFoam/wigleyHull/0/p_rgh index 835531655703ace8fb4f92cbec548c0a569f1ad9..d041cce82d07af19480424a07c2eb2ce63e92ac9 100644 --- a/tutorials/multiphase/LTSInterFoam/wigleyHull/0/p_rgh +++ b/tutorials/multiphase/LTSInterFoam/wigleyHull/0/p_rgh @@ -33,7 +33,7 @@ boundaryField sides { - type symmetryPlane; + type symmetry; } atmosphere diff --git a/tutorials/multiphase/LTSInterFoam/wigleyHull/constant/polyMesh/blockMeshDict b/tutorials/multiphase/LTSInterFoam/wigleyHull/constant/polyMesh/blockMeshDict index 15c061cdf7ca172f97a8b4e63434a77a1a131ab1..989ecac8b0ae3ecffa8eda3106db8e383b52af45 100644 --- a/tutorials/multiphase/LTSInterFoam/wigleyHull/constant/polyMesh/blockMeshDict +++ b/tutorials/multiphase/LTSInterFoam/wigleyHull/constant/polyMesh/blockMeshDict @@ -68,7 +68,7 @@ boundary sides { - type symmetryPlane; + type symmetry; faces ( (1 5 4 0) diff --git a/tutorials/multiphase/MRFInterFoam/mixerVessel2D/system/fvSchemes b/tutorials/multiphase/MRFInterFoam/mixerVessel2D/system/fvSchemes index 568660217fe3cdf6d0843a3fff4f058d4d03d1bb..e6b91940f088b92d23efb21a78fc8437f487c08c 100644 --- a/tutorials/multiphase/MRFInterFoam/mixerVessel2D/system/fvSchemes +++ b/tutorials/multiphase/MRFInterFoam/mixerVessel2D/system/fvSchemes @@ -27,7 +27,7 @@ gradSchemes divSchemes { - div(rho*phi,U) Gauss linear; + div(rhoPhi,U) Gauss linear; div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss interfaceCompression; div((muEff*dev(T(grad(U))))) Gauss linear; diff --git a/tutorials/multiphase/MRFMultiphaseInterFoam/mixerVessel2D/system/fvSchemes b/tutorials/multiphase/MRFMultiphaseInterFoam/mixerVessel2D/system/fvSchemes index d1ed26cae3bca94b43c279390ae992152d8c1682..8c391523146a27e605a4cd78234fe5b85346f191 100644 --- a/tutorials/multiphase/MRFMultiphaseInterFoam/mixerVessel2D/system/fvSchemes +++ b/tutorials/multiphase/MRFMultiphaseInterFoam/mixerVessel2D/system/fvSchemes @@ -27,7 +27,7 @@ gradSchemes divSchemes { - div(rho*phi,U) Gauss limitedLinearV 1; + div(rhoPhi,U) Gauss limitedLinearV 1; div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss interfaceCompression; div((muEff*dev(T(grad(U))))) Gauss linear; diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/fvSchemes b/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/fvSchemes index 3d39f5b409eb703d6ffea93e60538665384fb81b..85be6a2abe599318c6182c176356482da3fa4dc1 100644 --- a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/fvSchemes +++ b/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/fvSchemes @@ -30,11 +30,11 @@ divSchemes div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss interfaceCompression 1; - div(rho*phi,U) Gauss vanLeerV; + div(rhoPhi,U) Gauss vanLeerV; div(phi,thermo:rho.water) Gauss linear; div(phi,thermo:rho.air) Gauss linear; - div(rho*phi,T) Gauss vanLeer; - div(rho*phi,K) Gauss linear; + div(rhoPhi,T) Gauss vanLeer; + div(rhoPhi,K) Gauss linear; div((phi+meshPhi),p) Gauss linear; div((muEff*dev2(T(grad(U))))) Gauss linear; diff --git a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/system/fvSchemes b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/system/fvSchemes index b44890f3896acda7fb7e8726a5231784fb20b1ff..2003e43e507d73c37ee629b545a1fa2395ab067e 100644 --- a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/system/fvSchemes +++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/system/fvSchemes @@ -30,11 +30,11 @@ divSchemes div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss interfaceCompression 1; - div(rho*phi,U) Gauss upwind; + div(rhoPhi,U) Gauss upwind; div(phi,thermo:rho.water) Gauss upwind; div(phi,thermo:rho.air) Gauss upwind; - div(rho*phi,T) Gauss upwind; - div(rho*phi,K) Gauss upwind; + div(rhoPhi,T) Gauss upwind; + div(rhoPhi,K) Gauss upwind; div(phi,p) Gauss upwind; div(phi,k) Gauss upwind; diff --git a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/fvSchemes b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/fvSchemes index b44890f3896acda7fb7e8726a5231784fb20b1ff..2003e43e507d73c37ee629b545a1fa2395ab067e 100644 --- a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/fvSchemes +++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/fvSchemes @@ -30,11 +30,11 @@ divSchemes div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss interfaceCompression 1; - div(rho*phi,U) Gauss upwind; + div(rhoPhi,U) Gauss upwind; div(phi,thermo:rho.water) Gauss upwind; div(phi,thermo:rho.air) Gauss upwind; - div(rho*phi,T) Gauss upwind; - div(rho*phi,K) Gauss upwind; + div(rhoPhi,T) Gauss upwind; + div(rhoPhi,K) Gauss upwind; div(phi,p) Gauss upwind; div(phi,k) Gauss upwind; diff --git a/tutorials/multiphase/compressibleMultiphaseInterFoam/laminar/damBreak4phase/0.org/T b/tutorials/multiphase/compressibleMultiphaseInterFoam/laminar/damBreak4phase/0.org/T index 1dc67cd149c827026b09c4f1738f89f3a7073cc1..8041c3700d95a318a5e9f57f89081f7bccb4ec5a 100644 --- a/tutorials/multiphase/compressibleMultiphaseInterFoam/laminar/damBreak4phase/0.org/T +++ b/tutorials/multiphase/compressibleMultiphaseInterFoam/laminar/damBreak4phase/0.org/T @@ -39,7 +39,7 @@ boundaryField atmosphere { type inletOutlet; - phi rho*phi; + phi rhoPhi; inletValue $internalField; } defaultFaces diff --git a/tutorials/multiphase/compressibleMultiphaseInterFoam/laminar/damBreak4phase/system/fvSchemes b/tutorials/multiphase/compressibleMultiphaseInterFoam/laminar/damBreak4phase/system/fvSchemes index 9f3fac1dce597032e84957e7b639b1152fb3cad8..fd25001435963d0885cd27d48e1d7f31204700ab 100644 --- a/tutorials/multiphase/compressibleMultiphaseInterFoam/laminar/damBreak4phase/system/fvSchemes +++ b/tutorials/multiphase/compressibleMultiphaseInterFoam/laminar/damBreak4phase/system/fvSchemes @@ -27,12 +27,12 @@ gradSchemes divSchemes { - div(rho*phi,U) Gauss upwind; + div(rhoPhi,U) Gauss upwind; div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss interfaceCompression; "div\(phi,.*rho.*\)" Gauss upwind; - div(rho*phi,T) Gauss upwind; - div(rho*phi,K) Gauss upwind; + div(rhoPhi,T) Gauss upwind; + div(rhoPhi,K) Gauss upwind; div(phi,p) Gauss upwind; div((muEff*dev2(T(grad(U))))) Gauss linear; } diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/constant/dynamicMeshDict index 6c2f78df72ac14f3681a8d56f6a0f381841f43dd..7132713ff0c3ff5b6053ebf25cd9f2a18e40d0df 100644 --- a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/constant/dynamicMeshDict +++ b/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/constant/dynamicMeshDict @@ -41,7 +41,7 @@ dynamicRefineFvMeshCoeffs ( (phi none) (nHatf none) - (rho*phi none) + (rhoPhi none) (ghf none) ); // Write the refinement level as a volScalarField diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSchemes index ba444728e19c244ad788ce3878e4c65a2609b292..6a01390f25ecca9d7ba0bef02edf0cdb391ea166 100644 --- a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSchemes @@ -27,7 +27,7 @@ gradSchemes divSchemes { - div(rho*phi,U) Gauss upwind; + div(rhoPhi,U) Gauss upwind; div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss interfaceCompression; div((muEff*dev(T(grad(U))))) Gauss linear; diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/fvSchemes index 70e7cf49ab6ec67ae4c65dc39708f95f9a61a430..84e4f5d57dfd09e85acab261c76262e00856e689 100644 --- a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/fvSchemes @@ -28,13 +28,13 @@ gradSchemes divSchemes { - div(rho*phi,U) Gauss linearUpwind grad(U); + div(rhoPhi,U) Gauss linearUpwind grad(U); div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss interfaceCompression 1; div(phid1,p_rgh) Gauss upwind; div(phid2,p_rgh) Gauss upwind; - div(rho*phi,T) Gauss linearUpwind unlimited; - div(rho*phi,K) Gauss upwind; + div(rhoPhi,T) Gauss linearUpwind unlimited; + div(rhoPhi,K) Gauss upwind; div(phi,k) Gauss upwind; div(phi,epsilon) Gauss upwind; div((muEff*dev2(T(grad(U))))) Gauss linear; diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSchemes index b2c0af769de60be4fa5704d4973f1d0e6ae62d45..90379ecc541423649a05ed06cadd84b2252b9ff0 100644 --- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSchemes @@ -27,7 +27,7 @@ gradSchemes divSchemes { - div(rho*phi,U) Gauss vanLeerV; + div(rhoPhi,U) Gauss vanLeerV; div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss vanLeer; div((muEff*dev(T(grad(U))))) Gauss linear; diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSchemes index b2c0af769de60be4fa5704d4973f1d0e6ae62d45..90379ecc541423649a05ed06cadd84b2252b9ff0 100644 --- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSchemes @@ -27,7 +27,7 @@ gradSchemes divSchemes { - div(rho*phi,U) Gauss vanLeerV; + div(rhoPhi,U) Gauss vanLeerV; div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss vanLeer; div((muEff*dev(T(grad(U))))) Gauss linear; diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSchemes index b2c0af769de60be4fa5704d4973f1d0e6ae62d45..90379ecc541423649a05ed06cadd84b2252b9ff0 100644 --- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSchemes @@ -27,7 +27,7 @@ gradSchemes divSchemes { - div(rho*phi,U) Gauss vanLeerV; + div(rhoPhi,U) Gauss vanLeerV; div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss vanLeer; div((muEff*dev(T(grad(U))))) Gauss linear; diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSchemes index b2c0af769de60be4fa5704d4973f1d0e6ae62d45..90379ecc541423649a05ed06cadd84b2252b9ff0 100644 --- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSchemes @@ -27,7 +27,7 @@ gradSchemes divSchemes { - div(rho*phi,U) Gauss vanLeerV; + div(rhoPhi,U) Gauss vanLeerV; div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss vanLeer; div((muEff*dev(T(grad(U))))) Gauss linear; diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSchemes index b2c0af769de60be4fa5704d4973f1d0e6ae62d45..90379ecc541423649a05ed06cadd84b2252b9ff0 100644 --- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSchemes @@ -27,7 +27,7 @@ gradSchemes divSchemes { - div(rho*phi,U) Gauss vanLeerV; + div(rhoPhi,U) Gauss vanLeerV; div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss vanLeer; div((muEff*dev(T(grad(U))))) Gauss linear; diff --git a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/fvSchemes index b2c0af769de60be4fa5704d4973f1d0e6ae62d45..90379ecc541423649a05ed06cadd84b2252b9ff0 100644 --- a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/fvSchemes @@ -27,7 +27,7 @@ gradSchemes divSchemes { - div(rho*phi,U) Gauss vanLeerV; + div(rhoPhi,U) Gauss vanLeerV; div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss vanLeer; div((muEff*dev(T(grad(U))))) Gauss linear; diff --git a/tutorials/multiphase/interFoam/laminar/capillaryRise/system/fvSchemes b/tutorials/multiphase/interFoam/laminar/capillaryRise/system/fvSchemes index aded32f19531e85eb3b940fae50024c6628844f3..ef8581b85fac9dc78cea846977d7933cce157ac1 100644 --- a/tutorials/multiphase/interFoam/laminar/capillaryRise/system/fvSchemes +++ b/tutorials/multiphase/interFoam/laminar/capillaryRise/system/fvSchemes @@ -27,7 +27,7 @@ gradSchemes divSchemes { - div(rho*phi,U) Gauss upwind; + div(rhoPhi,U) Gauss upwind; div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss interfaceCompression; div((muEff*dev(T(grad(U))))) Gauss linear; diff --git a/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSchemes b/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSchemes index 1d9632b67461e66072dc478e30a1133c3801c202..672ec59cc1fbbbf7eb75e051bb167808cc7ceb49 100644 --- a/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSchemes +++ b/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSchemes @@ -27,7 +27,7 @@ gradSchemes divSchemes { - div(rho*phi,U) Gauss limitedLinearV 1; + div(rhoPhi,U) Gauss limitedLinearV 1; div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss interfaceCompression; div((muEff*dev(T(grad(U))))) Gauss linear; diff --git a/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSolution b/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSolution index 9e473a7865023654a2e5865a837a2989d6071492..0836eb66e57e756a1f4467b199877a3c7c21a35f 100644 --- a/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSolution +++ b/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSolution @@ -17,7 +17,7 @@ FoamFile solvers { - alpha.water + "alpha.water.*" { nAlphaCorr 2; nAlphaSubCycles 1; diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/LTSInterFoam/system/controlDict b/tutorials/multiphase/interFoam/ras/waterChannel/LTSInterFoam/system/controlDict index 64eae52fe0c8adca928d5ac57ed83e84597d78ff..bfea3cad84711f84633e955ca793b09b8e6af093 100644 --- a/tutorials/multiphase/interFoam/ras/waterChannel/LTSInterFoam/system/controlDict +++ b/tutorials/multiphase/interFoam/ras/waterChannel/LTSInterFoam/system/controlDict @@ -66,7 +66,7 @@ functions fields ( - rho*phi + rhoPhi ); } diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/LTSInterFoam/system/fvSchemes b/tutorials/multiphase/interFoam/ras/waterChannel/LTSInterFoam/system/fvSchemes index de873558162e1e1cea020af091244cba613e96e7..803b55e99544928c5a3cd0442df63de4e9b6b016 100644 --- a/tutorials/multiphase/interFoam/ras/waterChannel/LTSInterFoam/system/fvSchemes +++ b/tutorials/multiphase/interFoam/ras/waterChannel/LTSInterFoam/system/fvSchemes @@ -27,7 +27,7 @@ gradSchemes divSchemes { - div(rho*phi,U) Gauss linearUpwind grad(U); + div(rhoPhi,U) Gauss linearUpwind grad(U); div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss interfaceCompression; div(phi,k) Gauss upwind; diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/system/controlDict b/tutorials/multiphase/interFoam/ras/waterChannel/system/controlDict index 05b109778c550ad3fa1a6cb1a3a94641829382a8..7d4ac3e2ef25f49e84c92b223e51c96f0ff425e0 100644 --- a/tutorials/multiphase/interFoam/ras/waterChannel/system/controlDict +++ b/tutorials/multiphase/interFoam/ras/waterChannel/system/controlDict @@ -67,7 +67,7 @@ functions fields ( - rho*phi + rhoPhi ); } diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/system/fvSchemes b/tutorials/multiphase/interFoam/ras/waterChannel/system/fvSchemes index 11fc30f2729251a04dbc6d17b621722ea785fbdb..053e51aa7f2d05c9829a95121112f5c9cbeab3e0 100644 --- a/tutorials/multiphase/interFoam/ras/waterChannel/system/fvSchemes +++ b/tutorials/multiphase/interFoam/ras/waterChannel/system/fvSchemes @@ -29,7 +29,7 @@ divSchemes { default none; - div(rho*phi,U) Gauss linearUpwind grad(U); + div(rhoPhi,U) Gauss linearUpwind grad(U); div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss interfaceCompression; diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/system/fvSolution b/tutorials/multiphase/interFoam/ras/waterChannel/system/fvSolution index f6208ef3d23141f4002c87e5a90a0d4207596194..1a7bff2000b7530e309c934df8be824bb87d8972 100644 --- a/tutorials/multiphase/interFoam/ras/waterChannel/system/fvSolution +++ b/tutorials/multiphase/interFoam/ras/waterChannel/system/fvSolution @@ -17,7 +17,7 @@ FoamFile solvers { - alpha.water + "alpha.water.*" { nAlphaCorr 1; nAlphaSubCycles 1; diff --git a/tutorials/multiphase/interFoam/ras/weirOverflow/system/fvSchemes b/tutorials/multiphase/interFoam/ras/weirOverflow/system/fvSchemes index 8ed8e03cc081883369e850bae8f758e5823c4b5b..3869ad107b691a7963cc3d5d2c1454f5c7788bcd 100644 --- a/tutorials/multiphase/interFoam/ras/weirOverflow/system/fvSchemes +++ b/tutorials/multiphase/interFoam/ras/weirOverflow/system/fvSchemes @@ -27,7 +27,7 @@ gradSchemes divSchemes { - div(rho*phi,U) Gauss linear; + div(rhoPhi,U) Gauss linear; div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss interfaceCompression; div(phi,k) Gauss upwind; diff --git a/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSchemes b/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSchemes index ea304e7042cb6bda7221eed5ee0c717684d3f48f..1de7b2421d4981d4b0ffe6f316b0e0e7c9eba555 100644 --- a/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSchemes +++ b/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSchemes @@ -27,7 +27,7 @@ gradSchemes divSchemes { - div(rho*phi,U) Gauss limitedLinearV 1; + div(rhoPhi,U) Gauss limitedLinearV 1; div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss interfaceCompression; div((muEff*dev(T(grad(U))))) Gauss linear; diff --git a/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/0/U b/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/0/U index 35049b5a32a89e44c8995b056341063795d27a77..2929f0e586937c9bff9faf0b545243bb1743a9c2 100644 --- a/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/0/U +++ b/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/0/U @@ -36,7 +36,7 @@ boundaryField walls { - type symmetryPlane; + type symmetry; } bullet diff --git a/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/0/alpha.water b/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/0/alpha.water index 6ca929b85518854cdadce3d0ce13500e21666b65..c08ba3184e0f599d9b062e94b6c553797f212dea 100644 --- a/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/0/alpha.water +++ b/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/0/alpha.water @@ -35,7 +35,7 @@ boundaryField walls { - type symmetryPlane; + type symmetry; } bullet diff --git a/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/0/p_rgh b/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/0/p_rgh index f2ef63d0be0ced1f66ff74471e1a87f72bc2a739..1106c436ecfe9001af305c9dfd0fa2e7a5a68ff3 100644 --- a/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/0/p_rgh +++ b/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/0/p_rgh @@ -34,7 +34,7 @@ boundaryField walls { - type symmetryPlane; + type symmetry; } bullet diff --git a/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/constant/polyMesh/blockMeshDict b/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/constant/polyMesh/blockMeshDict index 100156548dc5a63f11c7a333711e5ca59d743362..a88ee223dcf3f67449a08f9d2931c25efbd00950 100644 --- a/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/constant/polyMesh/blockMeshDict +++ b/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/constant/polyMesh/blockMeshDict @@ -54,7 +54,7 @@ boundary } walls { - type symmetryPlane; + type symmetry; faces ( (0 4 7 3) diff --git a/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/constant/polyMesh/boundary b/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/constant/polyMesh/boundary index 17c34d0093bec0469e5824177f10948c1f2b86ba..c87bd5dc917069d98ffd5703d32f421044ad6947 100644 --- a/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/constant/polyMesh/boundary +++ b/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/constant/polyMesh/boundary @@ -31,8 +31,8 @@ FoamFile } walls { - type symmetryPlane; - inGroups 1(symmetryPlane); + type symmetry; + inGroups 1(symmetry); nFaces 3000; startFace 1130431; } diff --git a/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/system/fvSolution b/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/system/fvSolution index 41c0ac39c6a22d42a6dee9577cd5a9bdfbe7a7be..f19f2cd8b23802d6e351247ded6af95d41cbe478 100644 --- a/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/system/fvSolution +++ b/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/system/fvSolution @@ -16,7 +16,7 @@ FoamFile solvers { - alpha.water + "alpha.water.*" { cAlpha 0; nAlphaCorr 2; diff --git a/tutorials/multiphase/twoLiquidMixingFoam/lockExchange/system/fvSchemes b/tutorials/multiphase/twoLiquidMixingFoam/lockExchange/system/fvSchemes index c4837bb39f9ed2c9b51387613228f3ae2a12cd5b..84a24f49246ed00e059462e590ef65ecab7b5723 100644 --- a/tutorials/multiphase/twoLiquidMixingFoam/lockExchange/system/fvSchemes +++ b/tutorials/multiphase/twoLiquidMixingFoam/lockExchange/system/fvSchemes @@ -30,7 +30,7 @@ divSchemes { default none; - div(rho*phi,U) Gauss linear; + div(rhoPhi,U) Gauss linear; div(phi,alpha) Gauss vanLeer; div(phi,k) Gauss limitedLinear 1; div((muEff*dev(T(grad(U))))) Gauss linear;