diff --git a/applications/solvers/combustion/reactingFoam/reactingFoam.C b/applications/solvers/combustion/reactingFoam/reactingFoam.C index f989c43d41..875191eea4 100644 --- a/applications/solvers/combustion/reactingFoam/reactingFoam.C +++ b/applications/solvers/combustion/reactingFoam/reactingFoam.C @@ -68,10 +68,10 @@ int main(int argc, char *argv[]) #include "chemistry.H" #include "rhoEqn.H" - #include "UEqn.H" for (label ocorr=1; ocorr <= nOuterCorr; ocorr++) { + #include "UEqn.H" #include "YEqn.H" #define Db turbulence->alphaEff() diff --git a/applications/solvers/compressible/rhoPorousSimpleFoam/Make/options b/applications/solvers/compressible/rhoPorousSimpleFoam/Make/options index 61456e486a..4f198992b9 100644 --- a/applications/solvers/compressible/rhoPorousSimpleFoam/Make/options +++ b/applications/solvers/compressible/rhoPorousSimpleFoam/Make/options @@ -1,5 +1,6 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/thermalPorousZone/lnInclude \ -I$(LIB_SRC)/turbulenceModels \ -I$(LIB_SRC)/turbulenceModels/compressible/RAS/RASModel \ -I$(LIB_SRC)/finiteVolume/cfdTools \ @@ -8,6 +9,7 @@ EXE_INC = \ EXE_LIBS = \ -lbasicThermophysicalModels \ + -lthermalPorousZone \ -lspecie \ -lcompressibleRASModels \ -lfiniteVolume \ diff --git a/applications/solvers/compressible/rhoPorousSimpleFoam/createFields.H b/applications/solvers/compressible/rhoPorousSimpleFoam/createFields.H index 1177cba2a4..09b75191db 100644 --- a/applications/solvers/compressible/rhoPorousSimpleFoam/createFields.H +++ b/applications/solvers/compressible/rhoPorousSimpleFoam/createFields.H @@ -64,7 +64,7 @@ dimensionedScalar initialMass = fvc::domainIntegrate(rho); - porousZones pZones(mesh); + thermalPorousZones pZones(mesh); Switch pressureImplicitPorosity(false); int nUCorr = 0; @@ -84,4 +84,3 @@ pressureImplicitPorosity = true; } } - diff --git a/applications/solvers/compressible/rhoPorousSimpleFoam/hEqn.H b/applications/solvers/compressible/rhoPorousSimpleFoam/hEqn.H index 605b8820d1..f33843b48f 100644 --- a/applications/solvers/compressible/rhoPorousSimpleFoam/hEqn.H +++ b/applications/solvers/compressible/rhoPorousSimpleFoam/hEqn.H @@ -9,6 +9,8 @@ - p*fvc::div(phi/fvc::interpolate(rho)) ); + pZones.addEnthalpySource(thermo, rho, hEqn); + hEqn.relax(); eqnResidual = hEqn.solve().initialResidual(); diff --git a/applications/solvers/compressible/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C b/applications/solvers/compressible/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C index 10bfeb61db..5b620be335 100644 --- a/applications/solvers/compressible/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C +++ b/applications/solvers/compressible/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C @@ -34,7 +34,7 @@ Description #include "fvCFD.H" #include "basicPsiThermo.H" #include "RASModel.H" -#include "porousZones.H" +#include "thermalPorousZones.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeMesh.C b/applications/utilities/mesh/generation/extrudeMesh/extrudeMesh.C index 4d7d6bc81d..bb590da011 100644 --- a/applications/utilities/mesh/generation/extrudeMesh/extrudeMesh.C +++ b/applications/utilities/mesh/generation/extrudeMesh/extrudeMesh.C @@ -231,6 +231,13 @@ int main(int argc, char *argv[]) if (mode == PATCH || mode == MESH) { + if (flipNormals) + { + FatalErrorIn(args.executable()) + << "Flipping normals not supported for extrusions from patch." + << exit(FatalError); + } + fileName sourceCasePath(dict.lookup("sourceCase")); sourceCasePath.expand(); fileName sourceRootDir = sourceCasePath.path(); diff --git a/applications/utilities/mesh/manipulation/mirrorMesh/mirrorFvMesh.C b/applications/utilities/mesh/manipulation/mirrorMesh/mirrorFvMesh.C index 83b1894f82..9876f4a06f 100644 --- a/applications/utilities/mesh/manipulation/mirrorMesh/mirrorFvMesh.C +++ b/applications/utilities/mesh/manipulation/mirrorMesh/mirrorFvMesh.C @@ -167,6 +167,16 @@ Foam::mirrorFvMesh::mirrorFvMesh(const IOobject& io) forAll (oldPatches, patchI) { const polyPatch& curPatch = oldPatches[patchI]; + + if (curPatch.coupled()) + { + WarningIn("mirrorFvMesh::mirrorFvMesh(const IOobject&)") + << "Found coupled patch " << curPatch.name() << endl + << " Mirroring faces on coupled patches destroys" + << " the ordering. This might be fixed by running a dummy" + << " createPatch afterwards." << endl; + } + boolList& curInsBouFace = insertedBouFace[patchI]; curInsBouFace.setSize(curPatch.size()); diff --git a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C index a26179507a..b2e08a6907 100644 --- a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C +++ b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C @@ -237,23 +237,28 @@ int main(int argc, char *argv[]) if (writeCellDist) { + const labelList& procIds = mesh.cellToProc(); + // Write the decomposition as labelList for use with 'manual' // decomposition method. - - // FIXME: may attempt to write to a non-existent "region0/" - OFstream os + labelIOList cellDecomposition ( - runTime.path() - / mesh.facesInstance() - / regionName - / "cellDecomposition" + IOobject + ( + "cellDecomposition", + mesh.facesInstance(), + mesh, + IOobject::NO_READ, + IOobject::NO_WRITE, + false + ), + procIds ); - - os << mesh.cellToProc(); + cellDecomposition.write(); Info<< nl << "Wrote decomposition to " - << os.name() << " for use in manual decomposition." - << endl; + << cellDecomposition.objectPath() + << " for use in manual decomposition." << endl; // Write as volScalarField for postprocessing. volScalarField cellDist @@ -271,7 +276,6 @@ int main(int argc, char *argv[]) zeroGradientFvPatchScalarField::typeName ); - const labelList& procIds = mesh.cellToProc(); forAll(procIds, celli) { cellDist[celli] = procIds[celli]; diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3FoamPointFields.H b/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3FoamPointFields.H index fc421ff4a2..3a609b2bde 100644 --- a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3FoamPointFields.H +++ b/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3FoamPointFields.H @@ -191,7 +191,7 @@ void Foam::vtkPV3Foam::convertPointField pointData->SetNumberOfTuples(nPoints + addPointCellLabels.size()); pointData->SetNumberOfComponents(nComp); pointData->Allocate(nComp*(nPoints + addPointCellLabels.size())); - pointData->SetName(tf.name().c_str()); + pointData->SetName(ptf.name().c_str()); if (debug) { diff --git a/src/OpenFOAM/dimensionSet/dimensionSet.C b/src/OpenFOAM/dimensionSet/dimensionSet.C index 9fba472d98..e60a3998d4 100644 --- a/src/OpenFOAM/dimensionSet/dimensionSet.C +++ b/src/OpenFOAM/dimensionSet/dimensionSet.C @@ -110,6 +110,7 @@ Foam::scalar Foam::dimensionSet::operator[](const dimensionType type) const return exponents_[type]; } + Foam::scalar& Foam::dimensionSet::operator[](const dimensionType type) { return exponents_[type]; @@ -130,6 +131,7 @@ bool Foam::dimensionSet::operator==(const dimensionSet& ds) const return equall; } + bool Foam::dimensionSet::operator!=(const dimensionSet& ds) const { return !(operator==(ds)); @@ -163,6 +165,7 @@ bool Foam::dimensionSet::operator+=(const dimensionSet& ds) const return true; } + bool Foam::dimensionSet::operator-=(const dimensionSet& ds) const { if (dimensionSet::debug && *this != ds) @@ -176,6 +179,7 @@ bool Foam::dimensionSet::operator-=(const dimensionSet& ds) const return true; } + bool Foam::dimensionSet::operator*=(const dimensionSet& ds) { reset((*this)*ds); @@ -183,6 +187,7 @@ bool Foam::dimensionSet::operator*=(const dimensionSet& ds) return true; } + bool Foam::dimensionSet::operator/=(const dimensionSet& ds) { reset((*this)/ds); @@ -206,6 +211,7 @@ Foam::dimensionSet Foam::max(const dimensionSet& ds1, const dimensionSet& ds2) return ds1; } + Foam::dimensionSet Foam::min(const dimensionSet& ds1, const dimensionSet& ds2) { if (dimensionSet::debug && ds1 != ds2) @@ -256,6 +262,7 @@ Foam::dimensionSet Foam::pow(const dimensionSet& ds, const scalar p) return dimPow; } + Foam::dimensionSet Foam::pow ( const dimensionSet& ds, @@ -283,6 +290,7 @@ Foam::dimensionSet Foam::pow return dimPow; } + Foam::dimensionSet Foam::pow ( const dimensionedScalar& dS, @@ -309,61 +317,79 @@ Foam::dimensionSet Foam::sqr(const dimensionSet& ds) return pow(ds, 2); } + Foam::dimensionSet Foam::pow3(const dimensionSet& ds) { return pow(ds, 3); } + Foam::dimensionSet Foam::pow4(const dimensionSet& ds) { return pow(ds, 4); } + Foam::dimensionSet Foam::pow5(const dimensionSet& ds) { return pow(ds, 5); } + Foam::dimensionSet Foam::pow6(const dimensionSet& ds) { return pow(ds, 6); } + +Foam::dimensionSet Foam::pow025(const dimensionSet& ds) +{ + return sqrt(sqrt(ds)); +} + + Foam::dimensionSet Foam::sqrt(const dimensionSet& ds) { return pow(ds, 0.5); } + Foam::dimensionSet Foam::magSqr(const dimensionSet& ds) { return pow(ds, 2); } + Foam::dimensionSet Foam::mag(const dimensionSet& ds) { return ds; } + Foam::dimensionSet Foam::sign(const dimensionSet&) { return dimless; } + Foam::dimensionSet Foam::pos(const dimensionSet&) { return dimless; } + Foam::dimensionSet Foam::neg(const dimensionSet&) { return dimless; } + Foam::dimensionSet Foam::inv(const dimensionSet& ds) { return dimless/ds; } + Foam::dimensionSet Foam::trans(const dimensionSet& ds) { if (dimensionSet::debug && !ds.dimensionless()) @@ -376,6 +402,7 @@ Foam::dimensionSet Foam::trans(const dimensionSet& ds) return ds; } + Foam::dimensionSet Foam::transform(const dimensionSet& ds) { return ds; @@ -389,6 +416,7 @@ Foam::dimensionSet Foam::operator-(const dimensionSet& ds) return ds; } + Foam::dimensionSet Foam::operator+ ( const dimensionSet& ds1, @@ -409,6 +437,7 @@ Foam::dimensionSet Foam::operator+ return dimSum; } + Foam::dimensionSet Foam::operator- ( const dimensionSet& ds1, @@ -429,6 +458,7 @@ Foam::dimensionSet Foam::operator- return dimDifference; } + Foam::dimensionSet Foam::operator* ( const dimensionSet& ds1, @@ -445,6 +475,7 @@ Foam::dimensionSet Foam::operator* return dimProduct; } + Foam::dimensionSet Foam::operator/ ( const dimensionSet& ds1, @@ -471,6 +502,7 @@ Foam::dimensionSet Foam::operator& return ds1*ds2; } + Foam::dimensionSet Foam::operator^ ( const dimensionSet& ds1, @@ -480,6 +512,7 @@ Foam::dimensionSet Foam::operator^ return ds1*ds2; } + Foam::dimensionSet Foam::operator&& ( const dimensionSet& ds1, diff --git a/src/OpenFOAM/dimensionSet/dimensionSet.H b/src/OpenFOAM/dimensionSet/dimensionSet.H index e61d3ec4df..13b0a899a9 100644 --- a/src/OpenFOAM/dimensionSet/dimensionSet.H +++ b/src/OpenFOAM/dimensionSet/dimensionSet.H @@ -70,6 +70,7 @@ dimensionSet pow3(const dimensionSet&); dimensionSet pow4(const dimensionSet&); dimensionSet pow5(const dimensionSet&); dimensionSet pow6(const dimensionSet&); +dimensionSet pow025(const dimensionSet&); dimensionSet sqrt(const dimensionSet&); dimensionSet magSqr(const dimensionSet&); @@ -226,6 +227,7 @@ public: friend dimensionSet pow4(const dimensionSet&); friend dimensionSet pow5(const dimensionSet&); friend dimensionSet pow6(const dimensionSet&); + friend dimensionSet pow025(const dimensionSet&); friend dimensionSet sqrt(const dimensionSet&); friend dimensionSet magSqr(const dimensionSet&); diff --git a/src/OpenFOAM/dimensionedTypes/dimensionedScalar/dimensionedScalar.C b/src/OpenFOAM/dimensionedTypes/dimensionedScalar/dimensionedScalar.C index 8761396a0f..054d1eb43b 100644 --- a/src/OpenFOAM/dimensionedTypes/dimensionedScalar/dimensionedScalar.C +++ b/src/OpenFOAM/dimensionedTypes/dimensionedScalar/dimensionedScalar.C @@ -38,32 +38,38 @@ dimensionedScalar operator+(const dimensionedScalar& ds1, const scalar s2) return ds1 + dimensionedScalar(s2); } + dimensionedScalar operator+(const scalar s1, const dimensionedScalar& ds2) { return dimensionedScalar(s1) + ds2; } + dimensionedScalar operator-(const dimensionedScalar& ds1, const scalar s2) { return ds1 - dimensionedScalar(s2); } + dimensionedScalar operator-(const scalar s1, const dimensionedScalar& ds2) { return dimensionedScalar(s1) - ds2; } + dimensionedScalar operator*(const dimensionedScalar& ds1, const scalar s2) { return ds1 * dimensionedScalar(s2); } + dimensionedScalar operator/(const scalar s1, const dimensionedScalar& ds2) { return dimensionedScalar(s1)/ds2; } + dimensionedScalar pow ( const dimensionedScalar& ds, @@ -78,6 +84,7 @@ dimensionedScalar pow ); } + dimensionedScalar pow3(const dimensionedScalar& ds) { return dimensionedScalar @@ -88,6 +95,7 @@ dimensionedScalar pow3(const dimensionedScalar& ds) ); } + dimensionedScalar pow4(const dimensionedScalar& ds) { return dimensionedScalar @@ -98,6 +106,7 @@ dimensionedScalar pow4(const dimensionedScalar& ds) ); } + dimensionedScalar pow5(const dimensionedScalar& ds) { return dimensionedScalar @@ -108,6 +117,7 @@ dimensionedScalar pow5(const dimensionedScalar& ds) ); } + dimensionedScalar pow6(const dimensionedScalar& ds) { return dimensionedScalar @@ -118,6 +128,18 @@ dimensionedScalar pow6(const dimensionedScalar& ds) ); } + +dimensionedScalar pow025(const dimensionedScalar& ds) +{ + return dimensionedScalar + ( + "pow025(" + ds.name() + ')', + pow025(ds.dimensions()), + pow025(ds.value()) + ); +} + + dimensionedScalar sqrt(const dimensionedScalar& ds) { return dimensionedScalar @@ -128,6 +150,7 @@ dimensionedScalar sqrt(const dimensionedScalar& ds) ); } + dimensionedScalar cbrt(const dimensionedScalar& ds) { return dimensionedScalar @@ -138,6 +161,7 @@ dimensionedScalar cbrt(const dimensionedScalar& ds) ); } + dimensionedScalar hypot ( const dimensionedScalar& x, @@ -152,6 +176,7 @@ dimensionedScalar hypot ); } + dimensionedScalar sign(const dimensionedScalar& ds) { return dimensionedScalar @@ -162,6 +187,7 @@ dimensionedScalar sign(const dimensionedScalar& ds) ); } + dimensionedScalar pos(const dimensionedScalar& ds) { return dimensionedScalar @@ -172,6 +198,7 @@ dimensionedScalar pos(const dimensionedScalar& ds) ); } + dimensionedScalar neg(const dimensionedScalar& ds) { return dimensionedScalar diff --git a/src/OpenFOAM/dimensionedTypes/dimensionedScalar/dimensionedScalar.H b/src/OpenFOAM/dimensionedTypes/dimensionedScalar/dimensionedScalar.H index 492d5064ef..c6e46168c9 100644 --- a/src/OpenFOAM/dimensionedTypes/dimensionedScalar/dimensionedScalar.H +++ b/src/OpenFOAM/dimensionedTypes/dimensionedScalar/dimensionedScalar.H @@ -61,6 +61,7 @@ dimensionedScalar pow3(const dimensionedScalar&); dimensionedScalar pow4(const dimensionedScalar&); dimensionedScalar pow5(const dimensionedScalar&); dimensionedScalar pow6(const dimensionedScalar&); +dimensionedScalar pow025(const dimensionedScalar&); dimensionedScalar sqrt(const dimensionedScalar&); dimensionedScalar cbrt(const dimensionedScalar&); diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.C b/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.C index ade367e8ff..4aad204f79 100644 --- a/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.C +++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.C @@ -376,6 +376,7 @@ UNARY_FUNCTION(scalar, scalar, pow3, pow3) UNARY_FUNCTION(scalar, scalar, pow4, pow4) UNARY_FUNCTION(scalar, scalar, pow5, pow5) UNARY_FUNCTION(scalar, scalar, pow6, pow6) +UNARY_FUNCTION(scalar, scalar, pow025, pow025) UNARY_FUNCTION(scalar, scalar, sqrt, sqrt) UNARY_FUNCTION(scalar, scalar, sign, sign) UNARY_FUNCTION(scalar, scalar, pos, pos) diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.H b/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.H index 1b5e5d22bf..e2d565283e 100644 --- a/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.H +++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.H @@ -84,6 +84,7 @@ UNARY_FUNCTION(scalar, scalar, pow3, pow3) UNARY_FUNCTION(scalar, scalar, pow4, pow4) UNARY_FUNCTION(scalar, scalar, pow5, pow5) UNARY_FUNCTION(scalar, scalar, pow6, pow6) +UNARY_FUNCTION(scalar, scalar, pow025, pow025) UNARY_FUNCTION(scalar, scalar, sqrt, sqrt) UNARY_FUNCTION(scalar, scalar, sign, sign) UNARY_FUNCTION(scalar, scalar, pos, pos) diff --git a/src/OpenFOAM/fields/FieldFields/scalarFieldField/scalarFieldField.C b/src/OpenFOAM/fields/FieldFields/scalarFieldField/scalarFieldField.C index fe9067a8f5..8a308adbb5 100644 --- a/src/OpenFOAM/fields/FieldFields/scalarFieldField/scalarFieldField.C +++ b/src/OpenFOAM/fields/FieldFields/scalarFieldField/scalarFieldField.C @@ -104,6 +104,7 @@ UNARY_FUNCTION(scalar, scalar, pow3) UNARY_FUNCTION(scalar, scalar, pow4) UNARY_FUNCTION(scalar, scalar, pow5) UNARY_FUNCTION(scalar, scalar, pow6) +UNARY_FUNCTION(scalar, scalar, pow025) UNARY_FUNCTION(scalar, scalar, sqrt) UNARY_FUNCTION(scalar, scalar, sign) UNARY_FUNCTION(scalar, scalar, pos) diff --git a/src/OpenFOAM/fields/FieldFields/scalarFieldField/scalarFieldField.H b/src/OpenFOAM/fields/FieldFields/scalarFieldField/scalarFieldField.H index 45f1e86ea0..019b731979 100644 --- a/src/OpenFOAM/fields/FieldFields/scalarFieldField/scalarFieldField.H +++ b/src/OpenFOAM/fields/FieldFields/scalarFieldField/scalarFieldField.H @@ -57,6 +57,7 @@ void stabilise const scalar s ); + template class Field> tmp > stabilise ( @@ -64,6 +65,7 @@ tmp > stabilise const scalar s ); + template class Field> tmp > stabilise ( @@ -95,6 +97,7 @@ UNARY_FUNCTION(scalar, scalar, pow3) UNARY_FUNCTION(scalar, scalar, pow4) UNARY_FUNCTION(scalar, scalar, pow5) UNARY_FUNCTION(scalar, scalar, pow6) +UNARY_FUNCTION(scalar, scalar, pow025) UNARY_FUNCTION(scalar, scalar, sqrt) UNARY_FUNCTION(scalar, scalar, sign) UNARY_FUNCTION(scalar, scalar, pos) diff --git a/src/OpenFOAM/fields/Fields/scalarField/scalarField.C b/src/OpenFOAM/fields/Fields/scalarField/scalarField.C index 4f2eccfa9c..ed8e2da5e3 100644 --- a/src/OpenFOAM/fields/Fields/scalarField/scalarField.C +++ b/src/OpenFOAM/fields/Fields/scalarField/scalarField.C @@ -109,6 +109,7 @@ UNARY_FUNCTION(scalar, scalar, pow3) UNARY_FUNCTION(scalar, scalar, pow4) UNARY_FUNCTION(scalar, scalar, pow5) UNARY_FUNCTION(scalar, scalar, pow6) +UNARY_FUNCTION(scalar, scalar, pow025) UNARY_FUNCTION(scalar, scalar, sqrt) UNARY_FUNCTION(scalar, scalar, sign) UNARY_FUNCTION(scalar, scalar, pos) diff --git a/src/OpenFOAM/fields/Fields/scalarField/scalarField.H b/src/OpenFOAM/fields/Fields/scalarField/scalarField.H index a1d0865d20..bd25d64a42 100644 --- a/src/OpenFOAM/fields/Fields/scalarField/scalarField.H +++ b/src/OpenFOAM/fields/Fields/scalarField/scalarField.H @@ -96,6 +96,7 @@ UNARY_FUNCTION(scalar, scalar, pow3) UNARY_FUNCTION(scalar, scalar, pow4) UNARY_FUNCTION(scalar, scalar, pow5) UNARY_FUNCTION(scalar, scalar, pow6) +UNARY_FUNCTION(scalar, scalar, pow025) UNARY_FUNCTION(scalar, scalar, sqrt) UNARY_FUNCTION(scalar, scalar, sign) UNARY_FUNCTION(scalar, scalar, pos) diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.C b/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.C index fa6a2a58d0..3aaf5ddf3b 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.C +++ b/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.C @@ -447,6 +447,7 @@ UNARY_FUNCTION(scalar, scalar, pow3, pow3) UNARY_FUNCTION(scalar, scalar, pow4, pow4) UNARY_FUNCTION(scalar, scalar, pow5, pow5) UNARY_FUNCTION(scalar, scalar, pow6, pow6) +UNARY_FUNCTION(scalar, scalar, pow025, pow025) UNARY_FUNCTION(scalar, scalar, sqrt, sqrt) UNARY_FUNCTION(scalar, scalar, sign, sign) UNARY_FUNCTION(scalar, scalar, pos, pos) diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.H b/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.H index 4a2d9166b4..3b50684200 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.H +++ b/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.H @@ -92,6 +92,7 @@ UNARY_FUNCTION(scalar, scalar, pow3, pow3) UNARY_FUNCTION(scalar, scalar, pow4, pow4) UNARY_FUNCTION(scalar, scalar, pow5, pow5) UNARY_FUNCTION(scalar, scalar, pow6, pow6) +UNARY_FUNCTION(scalar, scalar, pow025, pow025) UNARY_FUNCTION(scalar, scalar, sqrt, sqrt) UNARY_FUNCTION(scalar, scalar, sign, sign) UNARY_FUNCTION(scalar, scalar, pos, pos) diff --git a/src/OpenFOAM/primitives/Scalar/Scalar.H b/src/OpenFOAM/primitives/Scalar/Scalar.H index cf5d9cb31d..69961ab2cc 100644 --- a/src/OpenFOAM/primitives/Scalar/Scalar.H +++ b/src/OpenFOAM/primitives/Scalar/Scalar.H @@ -90,56 +90,67 @@ inline Scalar& setComponent(Scalar& s, const direction) return s; } + inline Scalar component(const Scalar s, const direction) { return s; } + inline Scalar sign(const Scalar s) { return (s >= 0)? 1: -1; } + inline Scalar pos(const Scalar s) { return (s >= 0)? 1: 0; } + inline Scalar neg(const Scalar s) { return (s < 0)? 1: 0; } + inline bool equal(const Scalar& s1, const Scalar& s2) { return mag(s1 - s2) <= ScalarVSMALL; } + inline bool notEqual(const Scalar s1, const Scalar s2) { return mag(s1 - s2) > ScalarVSMALL; } + inline Scalar limit(const Scalar s1, const Scalar s2) { return (mag(s1) < mag(s2)) ? s1: 0.0; } + inline Scalar minMod(const Scalar s1, const Scalar s2) { return (mag(s1) < mag(s2)) ? s1: s2; } + inline Scalar magSqr(const Scalar s) { return s*s; } + inline Scalar sqr(const Scalar s) { return s*s; } + inline Scalar sqrtSumSqr(const Scalar a, const Scalar b) { Scalar maga = mag(a); @@ -155,61 +166,79 @@ inline Scalar sqrtSumSqr(const Scalar a, const Scalar b) } } + inline Scalar pow3(const Scalar s) { return s*sqr(s); } + inline Scalar pow4(const Scalar s) { return sqr(sqr(s)); } + inline Scalar pow5(const Scalar s) { return s*pow4(s); } + inline Scalar pow6(const Scalar s) { return pow3(sqr(s)); } + +inline Scalar pow025(const Scalar s) +{ + return sqrt(sqrt(s)); +} + + inline Scalar inv(const Scalar s) { return 1.0/s; } + inline Scalar dot(const Scalar s1, const Scalar s2) { return s1*s2; } + inline Scalar cmptMultiply(const Scalar s1, const Scalar s2) { return s1*s2; } + inline Scalar cmptDivide(const Scalar s1, const Scalar s2) { return s1/s2; } + inline Scalar cmptMax(const Scalar s) { return s; } + inline Scalar cmptMin(const Scalar s) { return s; } + inline Scalar cmptAv(const Scalar s) { return s; } + inline Scalar cmptMag(const Scalar s) { return mag(s); diff --git a/src/finiteVolume/cfdTools/general/porousMedia/PorousZones.C b/src/finiteVolume/cfdTools/general/porousMedia/PorousZones.C new file mode 100644 index 0000000000..444cd25131 --- /dev/null +++ b/src/finiteVolume/cfdTools/general/porousMedia/PorousZones.C @@ -0,0 +1,209 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\/ 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 2 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, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +\*---------------------------------------------------------------------------*/ + +#include "PorousZones.H" +#include "Time.H" +#include "volFields.H" +#include "fvm.H" + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +template +template +void Foam::PorousZones::modifyDdt(fvMatrix& m) const +{ + forAll(*this, i) + { + this->operator[](i).modifyDdt(m); + } +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template +Foam::PorousZones::PorousZones +( + const fvMesh& mesh +) +: + IOPtrList + ( + IOobject + ( + "porousZones", + mesh.time().constant(), + mesh, + IOobject::READ_IF_PRESENT, + IOobject::NO_WRITE + ), + typename ZoneType::iNew(mesh) + ), + mesh_(mesh) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template +template +Foam::tmp > +Foam::PorousZones::ddt +( + GeometricField& vf +) +{ + tmp > tres = fvm::ddt(vf); + modifyDdt(tres()); + return tres; +} + + +template +template +Foam::tmp > +Foam::PorousZones::ddt +( + const oneField&, + GeometricField& vf +) +{ + tmp > tres = fvm::ddt(vf); + modifyDdt(tres()); + return tres; +} + + +template +template +Foam::tmp > +Foam::PorousZones::ddt +( + const dimensionedScalar& rho, + GeometricField& vf +) +{ + tmp > tres = fvm::ddt(rho,vf); + modifyDdt(tres()); + return tres; +} + + +template +template +Foam::tmp > +Foam::PorousZones::ddt +( + const volScalarField& rho, + GeometricField& vf +) +{ + tmp > tres = fvm::ddt(rho,vf); + modifyDdt(tres()); + return tres; +} + +template +void Foam::PorousZones::addResistance(fvVectorMatrix& UEqn) const +{ + forAll(*this, i) + { + this->operator[](i).addResistance(UEqn); + } +} + + +template +void Foam::PorousZones::addResistance +( + const fvVectorMatrix& UEqn, + volTensorField& AU +) const +{ + // addResistance for each zone, delaying the correction of the + // precessor BCs of AU + forAll(*this, i) + { + this->operator[](i).addResistance(UEqn, AU, false); + } + + // Correct the boundary conditions of the tensorial diagonal to ensure + // processor bounaries are correctly handled when AU^-1 is interpolated + // for the pressure equation. + AU.correctBoundaryConditions(); +} + + +template +bool Foam::PorousZones::readData(Istream& is) +{ + this->clear(); + + IOPtrList newLst + ( + IOobject + ( + "porousZones", + mesh_.time().constant(), + mesh_, + IOobject::MUST_READ, + IOobject::NO_WRITE, + false // Don't re-register new zones with objectRegistry + ), + typename ZoneType::iNew(mesh_) + ); + + transfer(newLst); + + return is.good(); +} + + +template +bool Foam::PorousZones::writeData(Ostream& os, bool subDict) const +{ + // Write size of list + os << nl << this->size(); + + // Write beginning of contents + os << nl << token::BEGIN_LIST; + + // Write list contents + forAll(*this, i) + { + os << nl; + this->operator[](i).writeDict(os, subDict); + } + + // Write end of contents + os << token::END_LIST << nl; + + // Check state of IOstream + return os.good(); +} + + +// ************************************************************************* // diff --git a/src/finiteVolume/cfdTools/general/porousMedia/PorousZones.H b/src/finiteVolume/cfdTools/general/porousMedia/PorousZones.H new file mode 100644 index 0000000000..cc55fc4264 --- /dev/null +++ b/src/finiteVolume/cfdTools/general/porousMedia/PorousZones.H @@ -0,0 +1,162 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\/ 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 2 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, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Class + Foam::PorousZones + +Description + A centralized ZoneType collection. + + Container class for a set of ZoneType with the ZoneType member + functions implemented to loop over the functions for each ZoneType. + +SourceFiles + PorousZones.C + +\*---------------------------------------------------------------------------*/ + +#ifndef PorousZones_H +#define PorousZones_H + +#include "IOPtrList.H" + +#include "volFieldsFwd.H" +#include "fvMatricesFwd.H" +#include "dimensionedScalarFwd.H" +#include "oneField.H" + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// Forward declaration of friend functions and operators +class fvMesh; + + +/*---------------------------------------------------------------------------*\ + Class PorousZones Declaration +\*---------------------------------------------------------------------------*/ + +template +class PorousZones +: + public IOPtrList +{ + // Private data + + //- Reference to the finite volume mesh this zone is part of + const fvMesh& mesh_; + + // Private Member Functions + + //- Disallow default bitwise copy construct + PorousZones(const PorousZones&); + + //- Disallow default bitwise assignment + void operator=(const PorousZones&); + + + //- modify time derivative elements + template + void modifyDdt(fvMatrix&) const; + +public: + + // Constructors + + //- Construct from fvMesh + // with automatically constructed coordinate systems list + PorousZones(const fvMesh&); + + + // Member Functions + + //- mirror fvm::ddt with porosity + template + tmp > ddt + ( + GeometricField& + ); + + //- mirror fvm::ddt with porosity + template + tmp > ddt + ( + const oneField&, + GeometricField& + ); + + //- mirror fvm::ddt with porosity + template + tmp > ddt + ( + const dimensionedScalar&, + GeometricField& + ); + + //- mirror fvm::ddt with porosity + template + tmp > ddt + ( + const volScalarField&, + GeometricField& + ); + + //- Add the viscous and inertial resistance force contribution + // to the momentum equation + void addResistance(fvVectorMatrix& UEqn) const; + + //- Add the viscous and inertial resistance force contribution + // to the tensorial diagonal + void addResistance + ( + const fvVectorMatrix& UEqn, + volTensorField& AU + ) const; + + //- read modified data + virtual bool readData(Istream&); + + //- write data + bool writeData(Ostream&, bool subDict = true) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository +# include "PorousZones.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/finiteVolume/cfdTools/general/porousMedia/porousZone.H b/src/finiteVolume/cfdTools/general/porousMedia/porousZone.H index 5b4d16af5f..9f35446e4d 100644 --- a/src/finiteVolume/cfdTools/general/porousMedia/porousZone.H +++ b/src/finiteVolume/cfdTools/general/porousMedia/porousZone.H @@ -198,7 +198,6 @@ public: return autoPtr(NULL); } - //- Return pointer to new porousZone created on freestore from Istream class iNew { @@ -222,6 +221,11 @@ public: }; + //- Destructor + virtual ~porousZone() + {} + + // Member Functions // Access @@ -232,6 +236,12 @@ public: return name_; } + //- Return mesh + const fvMesh& mesh() const + { + return mesh_; + } + //- cellZone number label zoneId() const { @@ -275,7 +285,7 @@ public: } - //- modify time derivative elements according to porosity + //- Modify time derivative elements according to porosity template void modifyDdt(fvMatrix&) const; @@ -294,7 +304,7 @@ public: ) const; //- Write the porousZone dictionary - void writeDict(Ostream&, bool subDict = true) const; + virtual void writeDict(Ostream&, bool subDict = true) const; // Ostream Operator diff --git a/src/finiteVolume/cfdTools/general/porousMedia/porousZones.C b/src/finiteVolume/cfdTools/general/porousMedia/porousZones.C index 596398e6d6..ffcb1ef2e8 100644 --- a/src/finiteVolume/cfdTools/general/porousMedia/porousZones.C +++ b/src/finiteVolume/cfdTools/general/porousMedia/porousZones.C @@ -25,8 +25,6 @@ License \*---------------------------------------------------------------------------*/ #include "porousZones.H" -#include "Time.H" -#include "volFields.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -35,105 +33,4 @@ namespace Foam defineTemplateTypeNameAndDebug(IOPtrList, 0); } -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::porousZones::porousZones -( - const fvMesh& mesh -) -: - IOPtrList - ( - IOobject - ( - "porousZones", - mesh.time().constant(), - mesh, - IOobject::READ_IF_PRESENT, - IOobject::NO_WRITE - ), - porousZone::iNew(mesh) - ), - mesh_(mesh) -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -void Foam::porousZones::addResistance(fvVectorMatrix& UEqn) const -{ - forAll(*this, i) - { - operator[](i).addResistance(UEqn); - } -} - - -void Foam::porousZones::addResistance -( - const fvVectorMatrix& UEqn, - volTensorField& AU -) const -{ - // addResistance for each zone, delaying the correction of the - // precessor BCs of AU - forAll(*this, i) - { - operator[](i).addResistance(UEqn, AU, false); - } - - // Correct the boundary conditions of the tensorial diagonal to ensure - // processor bounaries are correctly handled when AU^-1 is interpolated - // for the pressure equation. - AU.correctBoundaryConditions(); -} - - -bool Foam::porousZones::readData(Istream& is) -{ - clear(); - - IOPtrList newLst - ( - IOobject - ( - "porousZones", - mesh_.time().constant(), - mesh_, - IOobject::MUST_READ, - IOobject::NO_WRITE, - false // Don't re-register new zones with objectRegistry - ), - porousZone::iNew(mesh_) - ); - - transfer(newLst); - - return is.good(); -} - - -bool Foam::porousZones::writeData(Ostream& os, bool subDict) const -{ - // Write size of list - os << nl << size(); - - // Write beginning of contents - os << nl << token::BEGIN_LIST; - - // Write list contents - forAll(*this, i) - { - os << nl; - operator[](i).writeDict(os, subDict); - } - - // Write end of contents - os << token::END_LIST << nl; - - // Check state of IOstream - return os.good(); -} - - // ************************************************************************* // diff --git a/src/finiteVolume/cfdTools/general/porousMedia/porousZones.H b/src/finiteVolume/cfdTools/general/porousMedia/porousZones.H index 0d9dd2bd99..abc0ea633d 100644 --- a/src/finiteVolume/cfdTools/general/porousMedia/porousZones.H +++ b/src/finiteVolume/cfdTools/general/porousMedia/porousZones.H @@ -22,152 +22,23 @@ License along with OpenFOAM; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -Class +Typedef Foam::porousZones -Description - A centralized porousZone collection. - - Container class for a set of porousZones with the porousZone member - functions implemented to loop over the functions for each porousZone. - - The input file @c constant/porousZone is implemented as - IOPtrList\ and contains the following type of data: - - @verbatim - 1 - ( - cat1 - { - coordinateSystem system_10; - porosity 0.781; - Darcy - { - d d [0 -2 0 0 0] (-1000 -1000 0.50753e+08); - f f [0 -1 0 0 0] (-1000 -1000 12.83); - } - } - ) - @endverbatim - -SourceFiles - porousZones.C - \*---------------------------------------------------------------------------*/ #ifndef porousZones_H #define porousZones_H +#include "PorousZones.H" #include "porousZone.H" -#include "IOPtrList.H" - -#include "volFieldsFwd.H" -#include "fvMatrix.H" -#include "oneField.H" - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { - -/*---------------------------------------------------------------------------*\ - Class porousZones Declaration -\*---------------------------------------------------------------------------*/ - -class porousZones -: - public IOPtrList -{ - // Private data - - //- Reference to the finite volume mesh this zone is part of - const fvMesh& mesh_; - - // Private Member Functions - - //- Disallow default bitwise copy construct - porousZones(const porousZones&); - - //- Disallow default bitwise assignment - void operator=(const porousZones&); - - - //- modify time derivative elements - template - void modifyDdt(fvMatrix&) const; - -public: - - // Constructors - - //- Construct from fvMesh - // with automatically constructed coordinate systems list - porousZones(const fvMesh&); - - - // Member Functions - - //- mirror fvm::ddt with porosity - template - tmp > ddt - ( - GeometricField& - ); - - //- mirror fvm::ddt with porosity - template - tmp > ddt - ( - const oneField&, - GeometricField& - ); - - //- mirror fvm::ddt with porosity - template - tmp > ddt - ( - const dimensionedScalar&, - GeometricField& - ); - - //- mirror fvm::ddt with porosity - template - tmp > ddt - ( - const volScalarField&, - GeometricField& - ); - - //- Add the viscous and inertial resistance force contribution - // to the momentum equation - void addResistance(fvVectorMatrix& UEqn) const; - - //- Add the viscous and inertial resistance force contribution - // to the tensorial diagonal - void addResistance - ( - const fvVectorMatrix& UEqn, - volTensorField& AU - ) const; - - //- read modified data - virtual bool readData(Istream&); - - //- write data - bool writeData(Ostream&, bool subDict = true) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#ifdef NoRepository -# include "porousZonesTemplates.C" -#endif + typedef PorousZones porousZones; +} // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchFields.C b/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchFields.C index 100fe188a2..4280698c2e 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchFields.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchFields.C @@ -29,19 +29,18 @@ License #include "volFields.H" #include "surfaceFields.H" -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam { + makePatchTypeField(fvPatchScalarField, fanFvPatchScalarField); +} -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -makePatchTypeField(fvPatchScalarField, fanFvPatchScalarField); - +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // //- Specialisation of the jump-condition for the pressure template<> -void fanFvPatchField::updateCoeffs() +void Foam::fanFvPatchField::updateCoeffs() { if (updated()) { @@ -58,27 +57,33 @@ void fanFvPatchField::updateCoeffs() const fvsPatchField& phip = patch().patchField(phi); - scalarField Un = + scalarField Un = max + ( scalarField::subField(phip, size()/2) - /scalarField::subField(patch().magSf(), size()/2); + /scalarField::subField(patch().magSf(), size()/2), + 0.0 + ); if (phi.dimensions() == dimDensity*dimVelocity*dimArea) { - Un /= patch().lookupPatchField("rho"); + Un /= + scalarField::subField + ( + patch().lookupPatchField("rho"), + size()/2 + ); } for(label i=1; i::updateCoeffs(); } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - // ************************************************************************* // diff --git a/src/finiteVolume/fvMesh/fvPatches/derived/directMapped/directMappedWallFvPatch.H b/src/finiteVolume/fvMesh/fvPatches/derived/directMapped/directMappedWallFvPatch.H index 4be7eed592..be979c91c3 100644 --- a/src/finiteVolume/fvMesh/fvPatches/derived/directMapped/directMappedWallFvPatch.H +++ b/src/finiteVolume/fvMesh/fvPatches/derived/directMapped/directMappedWallFvPatch.H @@ -36,7 +36,7 @@ SourceFiles #ifndef directMappedWallFvPatch_H #define directMappedWallFvPatch_H -#include "fvPatch.H" +#include "wallFvPatch.H" #include "directMappedWallPolyPatch.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -45,12 +45,12 @@ namespace Foam { /*---------------------------------------------------------------------------*\ - Class directMappedWallFvPatch Declaration + Class directMappedWallFvPatch Declaration \*---------------------------------------------------------------------------*/ class directMappedWallFvPatch : - public fvPatch + public wallFvPatch { public: @@ -68,7 +68,7 @@ public: const fvBoundaryMesh& bm ) : - fvPatch(patch, bm) + wallFvPatch(patch, bm) {} }; diff --git a/src/lagrangian/basic/Particle/ParticleI.H b/src/lagrangian/basic/Particle/ParticleI.H index 785f490b8c..0e223e1ffd 100644 --- a/src/lagrangian/basic/Particle/ParticleI.H +++ b/src/lagrangian/basic/Particle/ParticleI.H @@ -25,6 +25,7 @@ License \*---------------------------------------------------------------------------*/ #include "polyMesh.H" +#include "wallPolyPatch.H" // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // @@ -46,21 +47,25 @@ inline Foam::scalar Foam::Particle::lambda Sf /= mag(Sf); vector Cf = mesh.faceCentres()[facei]; - // move reference point for wall + // patch interaction if (!cloud_.internalFace(facei)) { - const vector& C = mesh.cellCentres()[celli_]; - scalar CCf = mag((C - Cf) & Sf); - // check if distance between cell centre and face centre - // is larger than wallImpactDistance - if - ( - CCf - > static_cast(*this).wallImpactDistance(Sf) - ) + label patchi = patch(facei); + const polyPatch& patch = mesh.boundaryMesh()[patchi]; + + // move reference point for wall + if (isA(patch)) { - Cf -= static_cast(*this) - .wallImpactDistance(Sf)*Sf; + const vector& C = mesh.cellCentres()[celli_]; + scalar CCf = mag((C - Cf) & Sf); + // check if distance between cell centre and face centre + // is larger than wallImpactDistance + const ParticleType& p = + static_cast(*this); + if (CCf > p.wallImpactDistance(Sf)) + { + Cf -=p.wallImpactDistance(Sf)*Sf; + } } } @@ -190,26 +195,24 @@ inline Foam::scalar Foam::Particle::lambda Sf /= mag(Sf); vector Cf = mesh.faceCentres()[facei]; - // move reference point for wall + // patch interaction if (!cloud_.internalFace(facei)) { - label patchi = mesh.boundaryMesh().whichPatch(facei); + label patchi = patch(facei); const polyPatch& patch = mesh.boundaryMesh()[patchi]; + // move reference point for wall if (isA(patch)) { const vector& C = mesh.cellCentres()[celli_]; scalar CCf = mag((C - Cf) & Sf); // check if distance between cell centre and face centre // is larger than wallImpactDistance - if - ( - CCf - > static_cast(*this).wallImpactDistance(Sf) - ) + + const ParticleType& p = static_cast(*this); + if (CCf > p.wallImpactDistance(Sf)) { - Cf -= static_cast(*this) - .wallImpactDistance(Sf)*Sf; + Cf -= p.wallImpactDistance(Sf)*Sf; } } } diff --git a/src/lagrangian/intermediate/particleForces/particleForces.H b/src/lagrangian/intermediate/particleForces/particleForces.H index fbe88a6dc8..f0be486381 100644 --- a/src/lagrangian/intermediate/particleForces/particleForces.H +++ b/src/lagrangian/intermediate/particleForces/particleForces.H @@ -26,7 +26,8 @@ Class Foam::particleForces Description - Particle forces + Provides a mechanism to calculate particle forces + Note: forces are force per unit mass (accelerations) SourceFiles particleForces.C diff --git a/src/meshTools/directMapped/directMappedPointPatch/directMappedWallPointPatch.H b/src/meshTools/directMapped/directMappedPointPatch/directMappedWallPointPatch.H index 28bb877105..0c33de30b0 100644 --- a/src/meshTools/directMapped/directMappedPointPatch/directMappedWallPointPatch.H +++ b/src/meshTools/directMapped/directMappedPointPatch/directMappedWallPointPatch.H @@ -36,7 +36,7 @@ SourceFiles #ifndef directMappedWallPointPatch_H #define directMappedWallPointPatch_H -#include "facePointPatch.H" +#include "wallPointPatch.H" #include "directMappedWallPolyPatch.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -50,7 +50,7 @@ namespace Foam class directMappedWallPointPatch : - public facePointPatch + public wallPointPatch { public: @@ -68,7 +68,7 @@ public: const pointBoundaryMesh& bm ) : - facePointPatch(patch, bm) + wallPointPatch(patch, bm) {} }; diff --git a/src/thermophysicalModels/Allwmake b/src/thermophysicalModels/Allwmake index 7fbee69034..38f4d54b47 100755 --- a/src/thermophysicalModels/Allwmake +++ b/src/thermophysicalModels/Allwmake @@ -16,5 +16,6 @@ wmake libso chemistryModel wmake libso pdfs wmake libso radiation wmake libso barotropicCompressibilityModel +wmake libso thermalPorousZone # ----------------------------------------------------------------- end-of-file diff --git a/src/thermophysicalModels/thermalPorousZone/Make/files b/src/thermophysicalModels/thermalPorousZone/Make/files new file mode 100644 index 0000000000..046355feaf --- /dev/null +++ b/src/thermophysicalModels/thermalPorousZone/Make/files @@ -0,0 +1,4 @@ +thermalPorousZone/thermalPorousZone.C +thermalPorousZone/thermalPorousZones.C + +LIB = $(FOAM_LIBBIN)/libthermalPorousZone diff --git a/src/thermophysicalModels/thermalPorousZone/Make/options b/src/thermophysicalModels/thermalPorousZone/Make/options new file mode 100644 index 0000000000..ca2d6183be --- /dev/null +++ b/src/thermophysicalModels/thermalPorousZone/Make/options @@ -0,0 +1,9 @@ +EXE_INC = \ + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude + +LIB_LIBS = \ + -lbasicThermophysicalModels \ + -lmeshTools \ + -lfiniteVolume diff --git a/src/thermophysicalModels/thermalPorousZone/thermalPorousZone/thermalPorousZone.C b/src/thermophysicalModels/thermalPorousZone/thermalPorousZone/thermalPorousZone.C new file mode 100644 index 0000000000..e9083bc13b --- /dev/null +++ b/src/thermophysicalModels/thermalPorousZone/thermalPorousZone/thermalPorousZone.C @@ -0,0 +1,101 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\/ 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 2 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, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +\*----------------------------------------------------------------------------*/ + +#include "thermalPorousZone.H" +#include "fvMesh.H" +#include "fvMatrices.H" +#include "basicThermo.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::thermalPorousZone::thermalPorousZone +( + const word& name, + const fvMesh& mesh, + const dictionary& dict +) +: + porousZone(name, mesh, dict), + T_("T", dimTemperature, -GREAT) +{ + if (const dictionary* dictPtr = dict.subDictPtr("thermalModel")) + { + word thermalModel(dictPtr->lookup("type")); + + if (thermalModel == "fixedTemperature") + { + dictPtr->lookup("T") >> T_; + } + else + { + FatalIOErrorIn + ( + "thermalPorousZone::thermalPorousZone" + "(" + "const word& name, " + "const fvMesh& mesh, " + "const dictionary& dict" + ")", + *dictPtr + ) << "thermalModel " << thermalModel << " is not supported" << nl + << " Supported thermalModels are: fixedTemperature" + << exit(FatalIOError); + } + } +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void Foam::thermalPorousZone::addEnthalpySource +( + const basicThermo& thermo, + const volScalarField& rho, + fvScalarMatrix& hEqn +) const +{ + if (zoneId() == -1 || T_.value() < 0.0) + { + return; + } + + const labelList& cells = mesh().cellZones()[zoneId()]; + const scalarField& V = mesh().V(); + scalarField& hDiag = hEqn.diag(); + scalarField& hSource = hEqn.source(); + + scalarField hZone = thermo.h(scalarField(cells.size(), T_.value()), cells); + scalar rate = 1e6; + + forAll (cells, i) + { + hDiag[cells[i]] += rate*V[cells[i]]*rho[cells[i]]; + hSource[cells[i]] += rate*V[cells[i]]*rho[cells[i]]*hZone[i]; + } +} + + +// ************************************************************************* // diff --git a/src/thermophysicalModels/thermalPorousZone/thermalPorousZone/thermalPorousZone.H b/src/thermophysicalModels/thermalPorousZone/thermalPorousZone/thermalPorousZone.H new file mode 100644 index 0000000000..afcc79b30c --- /dev/null +++ b/src/thermophysicalModels/thermalPorousZone/thermalPorousZone/thermalPorousZone.H @@ -0,0 +1,161 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\/ 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 2 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, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Class + Foam::thermalPorousZone + +Description + Porous zone definition based on cell zones including terms for energy + equations. + +See Also + porousZone, thermalPorousZones and coordinateSystems + +SourceFiles + thermalPorousZone.C + thermalPorousZoneTemplates.C + +\*---------------------------------------------------------------------------*/ + +#ifndef thermalPorousZone_H +#define thermalPorousZone_H + +#include "porousZone.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +class fvMesh; +class basicThermo; + +/*---------------------------------------------------------------------------*\ + Class thermalPorousZone Declaration +\*---------------------------------------------------------------------------*/ + +class thermalPorousZone +: + public porousZone +{ + // Private data + + //- Temperature in the porous-zone + dimensionedScalar T_; + + + //- Disallow default bitwise copy construct + thermalPorousZone(const thermalPorousZone&); + + //- Disallow default bitwise assignment + void operator=(const thermalPorousZone&); + + +public: + + // Constructors + + //- Construct from components + thermalPorousZone(const word& name, const fvMesh&, const dictionary&); + + //- Return clone + autoPtr clone() const + { + notImplemented("autoPtr clone() const"); + return autoPtr(NULL); + } + + //- Return pointer to new thermalPorousZone + // created on freestore from Istream + class iNew + { + //- Reference to the finite volume mesh this zone is part of + const fvMesh& mesh_; + + public: + + iNew(const fvMesh& mesh) + : + mesh_(mesh) + {} + + autoPtr operator()(Istream& is) const + { + word name(is); + dictionary dict(is); + + return autoPtr + ( + new thermalPorousZone(name, mesh_, dict) + ); + } + }; + + + //- Destructor + virtual ~thermalPorousZone() + {} + + + // Member Functions + + // Access + + //- Return the temperature in the porous-zone + const dimensionedScalar& T() const + { + return T_; + } + + //- Edit access to the temperature in the porous-zone + dimensionedScalar& T() + { + return T_; + } + + //- Add the thermal source to the enthalpy equation + void addEnthalpySource + ( + const basicThermo& thermo, + const volScalarField& rho, + fvScalarMatrix& hEqn + ) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository +//# include "thermalPorousZoneTemplates.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/thermophysicalModels/thermalPorousZone/thermalPorousZone/thermalPorousZoneTemplates.C b/src/thermophysicalModels/thermalPorousZone/thermalPorousZone/thermalPorousZoneTemplates.C new file mode 100644 index 0000000000..9b2e734c54 --- /dev/null +++ b/src/thermophysicalModels/thermalPorousZone/thermalPorousZone/thermalPorousZoneTemplates.C @@ -0,0 +1,80 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\/ 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 2 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, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +\*----------------------------------------------------------------------------*/ + +#include "porousZone.H" +#include "fvMesh.H" + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +template +void Foam::porousZone::addPowerLawResistance +( + scalarField& Udiag, + const labelList& cells, + const scalarField& V, + const RhoFieldType& rho, + const vectorField& U +) const +{ + const scalar C0 = C0_; + const scalar C1m1b2 = (C1_ - 1.0)/2.0; + + forAll (cells, i) + { + Udiag[cells[i]] += + V[cells[i]]*rho[cells[i]]*C0*pow(magSqr(U[cells[i]]), C1m1b2); + } +} + + +template +void Foam::porousZone::addViscousInertialResistance +( + scalarField& Udiag, + vectorField& Usource, + const labelList& cells, + const scalarField& V, + const RhoFieldType& rho, + const scalarField& mu, + const vectorField& U +) const +{ + const tensor& D = D_.value(); + const tensor& F = F_.value(); + + forAll (cells, i) + { + tensor dragCoeff = mu[cells[i]]*D + (rho[cells[i]]*mag(U[cells[i]]))*F; + scalar isoDragCoeff = tr(dragCoeff); + + Udiag[cells[i]] += V[cells[i]]*isoDragCoeff; + Usource[cells[i]] -= + V[cells[i]]*((dragCoeff - I*isoDragCoeff) & U[cells[i]]); + } +} + + +// ************************************************************************* // diff --git a/src/finiteVolume/cfdTools/general/porousMedia/porousZonesTemplates.C b/src/thermophysicalModels/thermalPorousZone/thermalPorousZone/thermalPorousZones.C similarity index 52% rename from src/finiteVolume/cfdTools/general/porousMedia/porousZonesTemplates.C rename to src/thermophysicalModels/thermalPorousZone/thermalPorousZone/thermalPorousZones.C index f2b7f4b2ad..ec68f13d5c 100644 --- a/src/finiteVolume/cfdTools/general/porousMedia/porousZonesTemplates.C +++ b/src/thermophysicalModels/thermalPorousZone/thermalPorousZone/thermalPorousZones.C @@ -22,79 +22,43 @@ License along with OpenFOAM; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -\*----------------------------------------------------------------------------*/ +\*---------------------------------------------------------------------------*/ -#include "porousZones.H" +#include "thermalPorousZones.H" #include "volFields.H" -#include "fvMatrix.H" -#include "fvm.H" -// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // -template -void Foam::porousZones::modifyDdt(fvMatrix& m) const +namespace Foam +{ + defineTemplateTypeNameAndDebug(IOPtrList, 0); +} + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::thermalPorousZones::thermalPorousZones +( + const fvMesh& mesh +) +: + PorousZones(mesh) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void Foam::thermalPorousZones::addEnthalpySource +( + const basicThermo& thermo, + const volScalarField& rho, + fvScalarMatrix& hEqn +) const { forAll(*this, i) { - operator[](i).modifyDdt(m); + operator[](i).addEnthalpySource(thermo, rho, hEqn); } } -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -template -Foam::tmp > -Foam::porousZones::ddt -( - GeometricField& vf -) -{ - tmp > tres = fvm::ddt(vf); - modifyDdt(tres()); - return tres; -} - - -template -Foam::tmp > -Foam::porousZones::ddt -( - const oneField&, - GeometricField& vf -) -{ - tmp > tres = fvm::ddt(vf); - modifyDdt(tres()); - return tres; -} - - -template -Foam::tmp > -Foam::porousZones::ddt -( - const dimensionedScalar& rho, - GeometricField& vf -) -{ - tmp > tres = fvm::ddt(rho,vf); - modifyDdt(tres()); - return tres; -} - - -template -Foam::tmp > -Foam::porousZones::ddt -( - const volScalarField& rho, - GeometricField& vf -) -{ - tmp > tres = fvm::ddt(rho,vf); - modifyDdt(tres()); - return tres; -} - // ************************************************************************* // diff --git a/src/thermophysicalModels/thermalPorousZone/thermalPorousZone/thermalPorousZones.H b/src/thermophysicalModels/thermalPorousZone/thermalPorousZone/thermalPorousZones.H new file mode 100644 index 0000000000..fbe913c74a --- /dev/null +++ b/src/thermophysicalModels/thermalPorousZone/thermalPorousZone/thermalPorousZones.H @@ -0,0 +1,109 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\/ 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 2 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, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Class + Foam::thermalPorousZones + +Description + A centralized thermalPorousZone collection. + + Container class for a set of thermalPorousZones with the thermalPorousZone + member functions implemented to loop over the functions for each + thermalPorousZone. + + The input file @c constant/thermalPorousZone is implemented as + IOPtrList\ and contains the following type of data: + + @verbatim + 1 + ( + cat1 + { + coordinateSystem system_10; + porosity 0.781; + Darcy + { + d d [0 -2 0 0 0] (-1000 -1000 0.50753e+08); + f f [0 -1 0 0 0] (-1000 -1000 12.83); + } + Temperature [0 0 1 0 0] 600; + } + ) + @endverbatim + +SourceFiles + thermalPorousZones.C + +\*---------------------------------------------------------------------------*/ + +#ifndef thermalPorousZones_H +#define thermalPorousZones_H + +#include "PorousZones.H" +#include "thermalPorousZone.H" + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class thermalPorousZones Declaration +\*---------------------------------------------------------------------------*/ + +class thermalPorousZones +: + public PorousZones +{ + +public: + + // Constructors + + //- Construct from fvMesh + thermalPorousZones(const fvMesh&); + + + // Member Functions + + //- Add the thermal source to the enthalpy equation + void addEnthalpySource + ( + const basicThermo& thermo, + const volScalarField& rho, + fvScalarMatrix& hEqn + ) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C index 1d4054fb04..f0b77bb1f2 100644 --- a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C +++ b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C @@ -176,7 +176,7 @@ tmp RASModel::yPlus(const label patchNo, const scalar Cmu) const if (isType(curPatch)) { - Yp = pow(Cmu, 0.25) + Yp = pow025(Cmu) *y_[patchNo] *sqrt(k()().boundaryField()[patchNo].patchInternalField()) /( diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C index 5893f2072e..bacfe9615e 100644 --- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C +++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C @@ -118,7 +118,7 @@ void turbulentMixingLengthFrequencyInletFvPatchScalarField::updateCoeffs() const scalar Cmu = rasModel.coeffDict().lookupOrDefault("Cmu", 0.09); - const scalar Cmu25 = pow(Cmu, 0.25); + const scalar Cmu25 = pow025(Cmu); const fvPatchField& kp = patch().lookupPatchField(kName_); diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C index e8fdf3edd5..b5022e2756 100644 --- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C +++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C @@ -204,7 +204,7 @@ void alphatJayatillekeWallFunctionFvPatchScalarField::updateCoeffs() const RASModel& rasModel = db().lookupObject("RASProperties"); - const scalar Cmu25 = pow(Cmu_, 0.25); + const scalar Cmu25 = pow025(Cmu_); const scalarField& y = rasModel.y()[patchI]; diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C index 07382bad52..a129ec8bff 100644 --- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C +++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C @@ -188,7 +188,7 @@ void epsilonWallFunctionFvPatchScalarField::updateCoeffs() const RASModel& rasModel = db().lookupObject("RASProperties"); - const scalar Cmu25 = pow(Cmu_, 0.25); + const scalar Cmu25 = pow025(Cmu_); const scalar Cmu75 = pow(Cmu_, 0.75); const scalarField& y = rasModel.y()[patchI]; diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkRoughWallFunction/mutkRoughWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkRoughWallFunction/mutkRoughWallFunctionFvPatchScalarField.C index 6af9687f7b..67353e4319 100644 --- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkRoughWallFunction/mutkRoughWallFunctionFvPatchScalarField.C +++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkRoughWallFunction/mutkRoughWallFunctionFvPatchScalarField.C @@ -75,7 +75,7 @@ tmp mutkRoughWallFunctionFvPatchScalarField::calcMut() const const volScalarField& k = tk(); const scalarField& muw = rasModel.mu().boundaryField()[patchI]; - const scalar Cmu25 = pow(Cmu_, 0.25); + const scalar Cmu25 = pow025(Cmu_); tmp tmutw(new scalarField(patch().size(), 0.0)); scalarField& mutw = tmutw(); diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkWallFunction/mutkWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkWallFunction/mutkWallFunctionFvPatchScalarField.C index 5ab8324cda..674097af09 100644 --- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkWallFunction/mutkWallFunctionFvPatchScalarField.C +++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkWallFunction/mutkWallFunctionFvPatchScalarField.C @@ -83,7 +83,7 @@ tmp mutkWallFunctionFvPatchScalarField::calcMut() const const volScalarField& k = tk(); const scalarField& muw = rasModel.mu().boundaryField()[patchI]; - const scalar Cmu25 = pow(Cmu_, 0.25); + const scalar Cmu25 = pow025(Cmu_); tmp tmutw(new scalarField(patch().size(), 0.0)); scalarField& mutw = tmutw(); @@ -215,7 +215,7 @@ tmp mutkWallFunctionFvPatchScalarField::yPlus() const const scalarField& muw = rasModel.mu().boundaryField()[patchI]; const scalarField& rhow = rasModel.rho().boundaryField()[patchI]; - return pow(Cmu_, 0.25)*y*sqrt(kwc)/(muw/rhow); + return pow025(Cmu_)*y*sqrt(kwc)/(muw/rhow); } diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C index 6e475094ec..c60d6628e5 100644 --- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C +++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C @@ -187,7 +187,7 @@ void omegaWallFunctionFvPatchScalarField::updateCoeffs() const RASModel& rasModel = db().lookupObject("RASProperties"); const scalarField& y = rasModel.y()[patch().index()]; - const scalar Cmu25 = pow(Cmu_, 0.25); + const scalar Cmu25 = pow025(Cmu_); volScalarField& G = const_cast (db().lookupObject(GName_)); diff --git a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C b/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C index b8c1f48ee4..a755d4e56e 100644 --- a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C +++ b/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C @@ -346,7 +346,7 @@ void kOmegaSSTSAS::correct(const tmp& gradU) volVectorField gradK = fvc::grad(k_); volVectorField gradOmega = fvc::grad(omega_); - volScalarField L = sqrt(k_)/(pow(Cmu_, 0.25)*(omega_ + omegaSmall_)); + volScalarField L = sqrt(k_)/(pow025(Cmu_)*(omega_ + omegaSmall_)); volScalarField CDkOmega = (2.0*alphaOmega2_)*(gradK & gradOmega)/(omega_ + omegaSmall_); volScalarField F1 = this->F1(CDkOmega); diff --git a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C b/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C index c2546e659e..3e8412689b 100644 --- a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C +++ b/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C @@ -171,7 +171,7 @@ tmp RASModel::yPlus(const label patchNo, const scalar Cmu) const if (isType(curPatch)) { - Yp = pow(Cmu, 0.25) + Yp = pow025(Cmu) *y_[patchNo] *sqrt(k()().boundaryField()[patchNo].patchInternalField()) /nu().boundaryField()[patchNo]; diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C index dac5ccb0f1..179ea640c5 100644 --- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C +++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C @@ -118,7 +118,7 @@ void turbulentMixingLengthFrequencyInletFvPatchScalarField::updateCoeffs() const scalar Cmu = rasModel.coeffDict().lookupOrDefault("Cmu", 0.09); - const scalar Cmu25 = pow(Cmu, 0.25); + const scalar Cmu25 = pow025(Cmu); const fvPatchField& kp = patch().lookupPatchField(kName_); diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C index 5f771ec663..cdd6582d7a 100644 --- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C +++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C @@ -185,7 +185,7 @@ void epsilonWallFunctionFvPatchScalarField::updateCoeffs() const RASModel& rasModel = db().lookupObject("RASProperties"); const scalarField& y = rasModel.y()[patchI]; - const scalar Cmu25 = pow(Cmu_, 0.25); + const scalar Cmu25 = pow025(Cmu_); const scalar Cmu75 = pow(Cmu_, 0.75); volScalarField& G = diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkRoughWallFunction/nutkRoughWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkRoughWallFunction/nutkRoughWallFunctionFvPatchScalarField.C index f81cb76c5c..fdd5428a71 100644 --- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkRoughWallFunction/nutkRoughWallFunctionFvPatchScalarField.C +++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkRoughWallFunction/nutkRoughWallFunctionFvPatchScalarField.C @@ -74,7 +74,7 @@ tmp nutkRoughWallFunctionFvPatchScalarField::calcNut() const const volScalarField& k = tk(); const scalarField& nuw = rasModel.nu().boundaryField()[patchI]; - const scalar Cmu25 = pow(Cmu_, 0.25); + const scalar Cmu25 = pow025(Cmu_); tmp tnutw(new scalarField(patch().size(), 0.0)); scalarField& nutw = tnutw(); diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkWallFunction/nutkWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkWallFunction/nutkWallFunctionFvPatchScalarField.C index dbb07712d8..6f786d8f5c 100644 --- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkWallFunction/nutkWallFunctionFvPatchScalarField.C +++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkWallFunction/nutkWallFunctionFvPatchScalarField.C @@ -83,7 +83,7 @@ tmp nutkWallFunctionFvPatchScalarField::calcNut() const const volScalarField& k = tk(); const scalarField& nuw = rasModel.nu().boundaryField()[patchI]; - const scalar Cmu25 = pow(Cmu_, 0.25); + const scalar Cmu25 = pow025(Cmu_); tmp tnutw(new scalarField(patch().size(), 0.0)); scalarField& nutw = tnutw(); @@ -223,7 +223,7 @@ tmp nutkWallFunctionFvPatchScalarField::yPlus() const const scalarField kwc = k.boundaryField()[patchI].patchInternalField(); const scalarField& nuw = rasModel.nu().boundaryField()[patchI]; - return pow(Cmu_, 0.25)*y*sqrt(kwc)/nuw; + return pow025(Cmu_)*y*sqrt(kwc)/nuw; } diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C index c39b20bf0c..b494541846 100644 --- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C +++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C @@ -186,7 +186,7 @@ void omegaWallFunctionFvPatchScalarField::updateCoeffs() const RASModel& rasModel = db().lookupObject("RASProperties"); const scalarField& y = rasModel.y()[patchI]; - const scalar Cmu25 = pow(Cmu_, 0.25); + const scalar Cmu25 = pow025(Cmu_); volScalarField& G = const_cast(db().lookupObject(GName_)); diff --git a/src/turbulenceModels/incompressible/RAS/include/nonLinearWallFunctionsI.H b/src/turbulenceModels/incompressible/RAS/include/nonLinearWallFunctionsI.H index e88e0f8ee3..8b10335481 100644 --- a/src/turbulenceModels/incompressible/RAS/include/nonLinearWallFunctionsI.H +++ b/src/turbulenceModels/incompressible/RAS/include/nonLinearWallFunctionsI.H @@ -75,7 +75,7 @@ Description label faceCelli = curPatch.faceCells()[facei]; //- using local Cmu ! - scalar Cmu25 = pow(Cmu_[faceCelli], 0.25); + scalar Cmu25 = pow025(Cmu_[faceCelli]); scalar Cmu75 = pow(Cmu_[faceCelli], 0.75); scalar yPlus = diff --git a/src/turbulenceModels/incompressible/RAS/include/wallNonlinearViscosityI.H b/src/turbulenceModels/incompressible/RAS/include/wallNonlinearViscosityI.H index b24b23c282..5ff4e58a00 100644 --- a/src/turbulenceModels/incompressible/RAS/include/wallNonlinearViscosityI.H +++ b/src/turbulenceModels/incompressible/RAS/include/wallNonlinearViscosityI.H @@ -49,7 +49,7 @@ Description label faceCelli = curPatch.faceCells()[facei]; //- Using local Cmu - scalar Cmu25 = pow(Cmu_[faceCelli], 0.25); + scalar Cmu25 = pow025(Cmu_[faceCelli]); scalar yPlus = Cmu25*y_[patchi][facei]*sqrt(k_[faceCelli])/nuw[facei]; diff --git a/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/polyMesh/boundary b/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/polyMesh/boundary index d060c920af..0abd1608ab 100644 --- a/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/polyMesh/boundary +++ b/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.6 | +| \\ / O peration | Version: dev | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary index 5adb07e26c..0abd1608ab 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary @@ -1,14 +1,14 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.6 | +| \\ / O peration | Version: dev | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format binary; + format ascii; class polyBoundaryMesh; location "constant/polyMesh"; object boundary; diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/porousZones b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/porousZones index 634799837e..43602a72a6 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/porousZones +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/porousZones @@ -30,6 +30,13 @@ FoamFile d d [0 -2 0 0 0 0 0] (5e7 -1000 -1000); f f [0 -1 0 0 0 0 0] (0 0 0); } + + thermalModel + { + type fixedTemperature; + + T T [0 0 0 1 0] 350; + } } ) diff --git a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/constant/polyMesh/boundary b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/constant/polyMesh/boundary index 0eb90da00f..850c9baa1e 100644 --- a/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/constant/polyMesh/boundary +++ b/tutorials/discreteMethods/molecularDynamics/mdEquilibrationFoam/periodicCubeArgon/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.6 | +| \\ / O peration | Version: dev | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/incompressible/pimpleDyMFoam/movingCone/system/tetFemSolution b/tutorials/incompressible/pimpleDyMFoam/movingCone/system/tetFemSolution deleted file mode 100644 index 7e16a5b03d..0000000000 --- a/tutorials/incompressible/pimpleDyMFoam/movingCone/system/tetFemSolution +++ /dev/null @@ -1,24 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.6 | -| \\ / A nd | Web: www.OpenFOAM.org | -| \\/ M anipulation | | -\*---------------------------------------------------------------------------*/ -FoamFile -{ - version 2.0; - format binary; - class dictionary; - location "system"; - object tetFemSolution; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -solvers -{ - motionU ICCG 1e-06 0; -} - - -// ************************************************************************* // diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/0/R b/tutorials/incompressible/pisoFoam/ras/cavity/0/R index 9cf2f6b375..bba9b5b414 100644 --- a/tutorials/incompressible/pisoFoam/ras/cavity/0/R +++ b/tutorials/incompressible/pisoFoam/ras/cavity/0/R @@ -23,11 +23,13 @@ boundaryField movingWall { type kqRWallFunction; + value uniform ( 0 0 0 0 0 0 ); } fixedWalls { type kqRWallFunction; + value uniform ( 0 0 0 0 0 0 ); } frontAndBack diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/0/R b/tutorials/incompressible/simpleFoam/pitzDaily/0/R index 9fb9feb503..2eb8459d86 100644 --- a/tutorials/incompressible/simpleFoam/pitzDaily/0/R +++ b/tutorials/incompressible/simpleFoam/pitzDaily/0/R @@ -34,11 +34,13 @@ boundaryField upperWall { type kqRWallFunction; + value uniform ( 0 0 0 0 0 0 ); } lowerWall { type kqRWallFunction; + value uniform ( 0 0 0 0 0 0 ); } frontAndBack diff --git a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/R b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/R index 9fb9feb503..2eb8459d86 100644 --- a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/R +++ b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/R @@ -34,11 +34,13 @@ boundaryField upperWall { type kqRWallFunction; + value uniform ( 0 0 0 0 0 0 ); } lowerWall { type kqRWallFunction; + value uniform ( 0 0 0 0 0 0 ); } frontAndBack diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSchemes index 23b94c5508..af3f8f0b4c 100644 --- a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSchemes @@ -23,8 +23,6 @@ ddtSchemes gradSchemes { default Gauss linear; - grad(U) Gauss linear; - grad(alpha) Gauss linear; } divSchemes diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSchemes index 448e93ffcb..7c651353ff 100644 --- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSchemes @@ -23,8 +23,6 @@ ddtSchemes gradSchemes { default Gauss linear; - grad(U) Gauss linear; - grad(alpha1) Gauss linear; } divSchemes diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSchemes index 52f649dff5..7c651353ff 100644 --- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSchemes @@ -23,8 +23,6 @@ ddtSchemes gradSchemes { default Gauss linear; - grad(U) Gauss linear; - grad(alpha) Gauss linear; } divSchemes diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSchemes index 52f649dff5..7c651353ff 100644 --- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSchemes @@ -23,8 +23,6 @@ ddtSchemes gradSchemes { default Gauss linear; - grad(U) Gauss linear; - grad(alpha) Gauss linear; } divSchemes diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSchemes index 52f649dff5..7c651353ff 100644 --- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSchemes @@ -23,8 +23,6 @@ ddtSchemes gradSchemes { default Gauss linear; - grad(U) Gauss linear; - grad(alpha) Gauss linear; } divSchemes diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSchemes index 52f649dff5..7c651353ff 100644 --- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSchemes @@ -23,8 +23,6 @@ ddtSchemes gradSchemes { default Gauss linear; - grad(U) Gauss linear; - grad(alpha) Gauss linear; } divSchemes diff --git a/tutorials/multiphase/interFoam/MRFInterFoam/mixerVessel2D/system/fvSchemes b/tutorials/multiphase/interFoam/MRFInterFoam/mixerVessel2D/system/fvSchemes index 1aac8ff1f3..cf581d3a14 100644 --- a/tutorials/multiphase/interFoam/MRFInterFoam/mixerVessel2D/system/fvSchemes +++ b/tutorials/multiphase/interFoam/MRFInterFoam/mixerVessel2D/system/fvSchemes @@ -23,8 +23,6 @@ ddtSchemes gradSchemes { default Gauss linear; - grad(U) Gauss linear; - grad(alpha1) Gauss linear; } divSchemes diff --git a/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSchemes b/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSchemes index a2d6580f46..02b1c3278a 100644 --- a/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSchemes +++ b/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSchemes @@ -23,8 +23,6 @@ ddtSchemes gradSchemes { default Gauss linear; - grad(U) Gauss linear; - grad(alpha1) Gauss linear; } divSchemes