From 7d192447f00b72d61126012bf8de1df4c061a089 Mon Sep 17 00:00:00 2001 From: Henry Weller Date: Sat, 20 Feb 2016 22:44:37 +0000 Subject: [PATCH] Boundary conditions: Added extrapolatedCalculatedFvPatchField To be used instead of zeroGradientFvPatchField for temporary fields for which zero-gradient extrapolation is use to evaluate the boundary field but avoiding fields derived from temporary field using field algebra inheriting the zeroGradient boundary condition by the reuse of the temporary field storage. zeroGradientFvPatchField should not be used as the default patch field for any temporary fields and should be avoided for non-temporary fields except where it is clearly appropriate; extrapolatedCalculatedFvPatchField and calculatedFvPatchField are generally more suitable defaults depending on the manner in which the boundary values are specified or evaluated. The entire OpenFOAM-dev code-base has been updated following the above recommendations. Henry G. Weller CFD Direct --- .../basicXiSubXiEq/basicXiSubXiEq.C | 63 ++--- .../XiGModels/basicXiSubG/basicXiSubG.C | 27 +- .../PDRModels/dragModels/basic/basic.C | 9 +- .../XiModels/XiEqModels/XiEqModel/XiEqModel.C | 40 ++- .../rhoCentralDyMFoam/rhoCentralDyMFoam.C | 3 +- .../rhoCentralFoam/rhoCentralFoam.C | 3 +- .../multiphaseMixtureThermo.C | 7 +- .../multiphaseSystem/multiphaseSystem.C | 7 +- .../multiphaseMixture/multiphaseMixture.C | 7 +- .../dragModels/segregated/segregated.C | 3 +- .../HeatAndMassTransferPhaseSystem.C | 3 +- .../InertPhaseModel/InertPhaseModel.C | 5 +- .../multiphaseSystem/multiphaseSystem.C | 7 +- .../reactingTwoPhaseEulerFoam/Make/options | 2 +- .../dragModels/segregated/segregated.C | 3 +- .../readMechanicalProperties.H | 9 +- .../readThermalProperties.H | 9 +- .../decomposePar/decomposePar.C | 3 +- .../redistributePar/redistributePar.C | 12 +- .../postProcessing/velocityField/Co/Co.C | 3 +- .../Lists/CompactListList/CompactListList.C | 6 +- .../Lists/CompactListList/CompactListList.H | 2 +- src/OpenFOAM/containers/Lists/List/List.C | 50 +--- src/OpenFOAM/containers/Lists/List/List.H | 2 +- src/OpenFOAM/containers/Lists/List/ListIO.C | 5 +- .../containers/Lists/PtrList/PtrList.C | 15 +- .../containers/Lists/PtrList/PtrList.H | 2 +- .../containers/Lists/UPtrList/UPtrList.C | 4 +- .../containers/Lists/UPtrList/UPtrList.H | 2 +- .../DimensionedField/DimensionedField.C | 14 +- .../DimensionedField/DimensionedField.H | 6 +- .../FieldFields/FieldField/FieldField.C | 7 +- .../FieldFields/FieldField/FieldField.H | 2 +- .../FieldField/FieldFieldReuseFunctions.H | 12 +- src/OpenFOAM/fields/Fields/Field/Field.C | 6 +- src/OpenFOAM/fields/Fields/Field/Field.H | 2 +- .../fields/Fields/Field/FieldReuseFunctions.H | 15 +- .../GeometricFieldReuseFunctions.H | 230 +++++++++++------- .../pointPatchField/pointPatchField.H | 7 +- .../matrices/LduMatrix/LduMatrix/LduMatrix.C | 6 +- .../matrices/LduMatrix/LduMatrix/LduMatrix.H | 2 +- .../matrices/lduMatrix/lduMatrix/lduMatrix.C | 6 +- .../matrices/lduMatrix/lduMatrix/lduMatrix.H | 2 +- src/OpenFOAM/memory/autoPtr/autoPtr.H | 4 +- src/OpenFOAM/memory/autoPtr/autoPtrI.H | 6 +- src/OpenFOAM/memory/tmp/tmp.H | 3 +- src/OpenFOAM/memory/tmp/tmpI.H | 6 +- .../meshes/lduMesh/lduPrimitiveMesh.C | 8 +- .../meshes/lduMesh/lduPrimitiveMesh.H | 4 +- .../meshes/polyMesh/mapPolyMesh/mapPolyMesh.C | 50 ++-- .../meshes/polyMesh/mapPolyMesh/mapPolyMesh.H | 4 +- .../mapPolyMesh/mapSubsetMesh/mapSubsetMesh.H | 4 +- .../PrimitivePatch/PrimitivePatch.C | 6 +- .../PrimitivePatch/PrimitivePatch.H | 2 +- src/combustionModels/laminar/laminar.C | 8 +- .../noCombustion/noCombustion.C | 8 +- .../singleStepCombustion.C | 3 +- src/finiteVolume/Make/files | 1 + .../cfdTools/general/CorrectPhi/CorrectPhi.C | 3 +- .../cfdTools/general/MRF/MRFZoneList.C | 112 +++++++-- .../cfdTools/general/include/createRDeltaT.H | 2 +- .../cfdTools/general/include/fvCFD.H | 2 + .../basic/calculated/calculatedFvPatchField.C | 34 +-- .../extrapolatedCalculatedFvPatchField.C | 112 +++++++++ .../extrapolatedCalculatedFvPatchField.H | 165 +++++++++++++ .../extrapolatedCalculatedFvPatchFields.C | 44 ++++ .../extrapolatedCalculatedFvPatchFields.H | 49 ++++ .../extrapolatedCalculatedFvPatchFieldsFwd.H | 50 ++++ .../fvPatchFields/fvPatchField/fvPatchField.H | 4 + .../fvsPatchField/fvsPatchField.H | 4 + .../CoEulerDdtScheme/CoEulerDdtScheme.C | 2 +- .../ddtSchemes/SLTSDdtScheme/SLTSDdtScheme.C | 2 +- .../finiteVolume/fvc/fvcCellReduce.C | 4 +- .../finiteVolume/fvc/fvcReconstruct.C | 4 +- .../finiteVolume/fvc/fvcReconstructMag.C | 6 +- .../finiteVolume/fvc/fvcSimpleReconstruct.C | 4 +- .../finiteVolume/fvc/fvcSurfaceIntegrate.C | 6 +- .../LeastSquaresGrad/LeastSquaresGrad.C | 4 +- .../gradSchemes/gaussGrad/gaussGrad.C | 4 +- .../leastSquaresGrad/leastSquaresGrad.C | 4 +- .../fvMatrices/fvMatrix/fvMatrix.C | 10 +- .../fvScalarMatrix/fvScalarMatrix.C | 8 +- .../schemes/cellCoBlended/cellCoBlended.H | 4 +- .../outletStabilised/outletStabilised.H | 1 + .../solidificationMeltingSource.C | 5 +- .../genericFvPatchField/genericFvPatchField.C | 8 +- .../KinematicCloud/KinematicCloudI.H | 4 +- .../MPPIC/AveragingMethods/Basic/Basic.C | 1 + .../MPPIC/PackingModels/Implicit/Implicit.C | 15 +- .../meshRefinement/meshRefinement.C | 4 +- .../utilities/CourantNo/CourantNo.C | 3 +- .../blendingFactor/blendingFactorTemplates.C | 1 + .../reactingOneDim/reactingOneDim.C | 3 - .../kinematicSingleLayerI.H | 11 +- .../constantFilmThermo/constantFilmThermo.C | 13 +- .../liquidFilmThermo/liquidFilmThermo.C | 13 +- .../filmTurbulenceModel/laminar/laminar.C | 6 +- .../constantRadiation/constantRadiation.C | 6 +- .../noRadiation/noRadiation.C | 6 +- .../primaryRadiation/primaryRadiation.C | 6 +- .../standardRadiation/standardRadiation.C | 5 +- .../constantHeatTransfer.C | 6 +- .../thermoSingleLayer/thermoSingleLayerI.H | 8 +- .../chemistryModel/chemistryModel.C | 10 +- .../greyMeanAbsorptionEmission.C | 4 +- .../greyMeanSolidAbsorptionEmission.C | 4 +- .../pyrolysisChemistryModel.C | 8 +- .../solidChemistryModel/solidChemistryModel.C | 9 +- src/triSurface/triSurface/triSurface.C | 4 +- src/triSurface/triSurface/triSurface.H | 2 +- 110 files changed, 1004 insertions(+), 552 deletions(-) create mode 100644 src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.C create mode 100644 src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.H create mode 100644 src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchFields.C create mode 100644 src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchFields.H create mode 100644 src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchFieldsFwd.H diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/XiEqModels/basicXiSubXiEq/basicXiSubXiEq.C b/applications/solvers/combustion/PDRFoam/PDRModels/XiEqModels/basicXiSubXiEq/basicXiSubXiEq.C index 9e507b5f9..06c3c5537 100644 --- a/applications/solvers/combustion/PDRFoam/PDRModels/XiEqModels/basicXiSubXiEq/basicXiSubXiEq.C +++ b/applications/solvers/combustion/PDRFoam/PDRModels/XiEqModels/basicXiSubXiEq/basicXiSubXiEq.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -24,7 +24,6 @@ License \*---------------------------------------------------------------------------*/ #include "basicXiSubXiEq.H" -#include "zeroGradientFvPatchFields.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -93,59 +92,43 @@ Foam::tmp Foam::XiEqModels::basicSubGrid::XiEq() const const scalarField Cw = pow(mesh.V(), 2.0/3.0); - tmp tN + volScalarField N ( - new volScalarField + IOobject ( - IOobject - ( - "tN", - mesh.time().constant(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "N", + mesh.time().constant(), mesh, - dimensionedScalar("zero", Nv.dimensions(), 0.0), - zeroGradientFvPatchVectorField::typeName - ) + IOobject::NO_READ, + IOobject::NO_WRITE + ), + mesh, + dimensionedScalar("zero", Nv.dimensions(), 0.0) ); - - volScalarField& N = tN(); - N.internalField() = Nv.internalField()*Cw; - tmp tns + volSymmTensorField ns ( - new volSymmTensorField + IOobject ( - IOobject - ( - "tns", - U.mesh().time().timeName(), - U.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "ns", + U.mesh().time().timeName(), U.mesh(), - dimensionedSymmTensor - ( - "zero", - nsv.dimensions(), - pTraits::zero - ), - zeroGradientFvPatchSymmTensorField::typeName + IOobject::NO_READ, + IOobject::NO_WRITE + ), + U.mesh(), + dimensionedSymmTensor + ( + "zero", + nsv.dimensions(), + pTraits::zero ) ); - - volSymmTensorField& ns = tns(); - ns.internalField() = nsv.internalField()*Cw; volScalarField n(max(N - (Uhat & ns & Uhat), scalar(1e-4))); - volScalarField b((Uhat & B_ & Uhat)/sqrt(n)); - volScalarField up(sqrt((2.0/3.0)*turbulence_.k())); volScalarField XiSubEq diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.C b/applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.C index 928c42419..fe96d0bfe 100644 --- a/applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.C +++ b/applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -24,7 +24,6 @@ License \*---------------------------------------------------------------------------*/ #include "basicXiSubG.H" -#include "zeroGradientFvPatchFields.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -74,29 +73,7 @@ Foam::tmp Foam::XiGModels::basicSubGrid::G() const volScalarField& Gtot = tGtot(); const scalarField Cw = pow(Su_.mesh().V(), 2.0/3.0); - - tmp tN - ( - new volScalarField - ( - IOobject - ( - "tN", - Su_.mesh().time().timeName(), - Su_.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - false - ), - Su_.mesh(), - dimensionedScalar("zero", Nv.dimensions(), 0.0), - zeroGradientFvPatchVectorField::typeName - ) - ); - - volScalarField& N = tN(); - - N.internalField() = Nv.internalField()*Cw; + scalarField N(Nv.internalField()*Cw); forAll(N, celli) { diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.C b/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.C index 9fd96b203..7454b2f7e 100644 --- a/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.C +++ b/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -24,7 +24,6 @@ License \*---------------------------------------------------------------------------*/ #include "basic.H" -#include "zeroGradientFvPatchFields.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -110,8 +109,7 @@ Foam::tmp Foam::PDRDragModels::basic::Dcu() const "zero", dimMass/dimTime/pow(dimLength, 3), pTraits::zero - ), - zeroGradientFvPatchSymmTensorField::typeName + ) ) ); @@ -145,8 +143,7 @@ Foam::tmp Foam::PDRDragModels::basic::Gk() const IOobject::NO_WRITE ), U_.mesh(), - dimensionedScalar("zero", dimMass/dimLength/pow(dimTime, 3), 0.0), - zeroGradientFvPatchVectorField::typeName + dimensionedScalar("zero", dimMass/dimLength/pow(dimTime, 3), 0.0) ) ); diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.C b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.C index 4d1c8c11f..59f5c81bd 100644 --- a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.C +++ b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -24,7 +24,6 @@ License \*---------------------------------------------------------------------------*/ #include "XiEqModel.H" -#include "zeroGradientFvPatchFields.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -111,39 +110,30 @@ Foam::XiEqModel::calculateSchelkinEffect(const scalar uPrimeCoef) const false ), mesh, - dimensionedScalar("zero", Nv.dimensions(), 0.0), - zeroGradientFvPatchVectorField::typeName + dimensionedScalar("zero", Nv.dimensions(), 0.0) ) ); - volScalarField& N = tN(); - N.internalField() = Nv.internalField()*pow(mesh.V(), 2.0/3.0); - tmp tns + volSymmTensorField ns ( - new volSymmTensorField + IOobject ( - IOobject - ( - "tns", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "tns", + mesh.time().timeName(), mesh, - dimensionedSymmTensor - ( - "zero", - nsv.dimensions(), - pTraits::zero - ) + IOobject::NO_READ, + IOobject::NO_WRITE + ), + mesh, + dimensionedSymmTensor + ( + "zero", + nsv.dimensions(), + pTraits::zero ) ); - - volSymmTensorField& ns = tns(); - ns.internalField() = nsv.internalField()*pow(mesh.V(), 2.0/3.0); const volVectorField Uhat diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C index 922aa72a9..a9fa5559b 100644 --- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C +++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -34,7 +34,6 @@ Description #include "dynamicFvMesh.H" #include "psiThermo.H" #include "turbulentFluidThermoModel.H" -#include "zeroGradientFvPatchFields.H" #include "fixedRhoFvPatchScalarField.H" #include "directionInterpolate.H" #include "motionSolver.H" diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C b/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C index 7b85b5b11..841c9a516 100644 --- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C +++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -33,7 +33,6 @@ Description #include "fvCFD.H" #include "psiThermo.H" #include "turbulentFluidThermoModel.H" -#include "zeroGradientFvPatchFields.H" #include "fixedRhoFvPatchScalarField.H" #include "directionInterpolate.H" #include "localEulerDdtScheme.H" diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C index 55af59428..573027338 100644 --- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C +++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2013-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -59,8 +59,6 @@ void Foam::multiphaseMixtureThermo::calcAlphas() alphas_ += level*phase(); level += 1.0; } - - alphas_.correctBoundaryConditions(); } @@ -104,8 +102,7 @@ Foam::multiphaseMixtureThermo::multiphaseMixtureThermo IOobject::AUTO_WRITE ), mesh_, - dimensionedScalar("alphas", dimless, 0.0), - zeroGradientFvPatchScalarField::typeName + dimensionedScalar("alphas", dimless, 0.0) ), sigmas_(lookup("sigmas")), diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C index d0cd5c9b1..6755e96ec 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -54,8 +54,6 @@ void Foam::multiphaseSystem::calcAlphas() alphas_ += level*iter(); level += 1.0; } - - alphas_.correctBoundaryConditions(); } @@ -417,8 +415,7 @@ Foam::multiphaseSystem::multiphaseSystem IOobject::AUTO_WRITE ), mesh_, - dimensionedScalar("alphas", dimless, 0.0), - zeroGradientFvPatchScalarField::typeName + dimensionedScalar("alphas", dimless, 0.0) ), sigmas_(lookup("sigmas")), diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C index 1bbd3177a..27f0f51c3 100644 --- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C +++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -52,8 +52,6 @@ void Foam::multiphaseMixture::calcAlphas() alphas_ += level*iter(); level += 1.0; } - - alphas_.correctBoundaryConditions(); } @@ -108,8 +106,7 @@ Foam::multiphaseMixture::multiphaseMixture IOobject::AUTO_WRITE ), mesh_, - dimensionedScalar("alphas", dimless, 0.0), - zeroGradientFvPatchScalarField::typeName + dimensionedScalar("alphas", dimless, 0.0) ), nu_ diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/segregated/segregated.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/segregated/segregated.C index 00ca3d49e..ed4564318 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/segregated/segregated.C +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/segregated/segregated.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2014-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -27,6 +27,7 @@ License #include "phasePair.H" #include "fvcGrad.H" #include "surfaceInterpolate.H" +#include "zeroGradientFvPatchFields.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/HeatAndMassTransferPhaseSystem/HeatAndMassTransferPhaseSystem.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/HeatAndMassTransferPhaseSystem/HeatAndMassTransferPhaseSystem.C index 3db07ef80..03c26c89d 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/HeatAndMassTransferPhaseSystem/HeatAndMassTransferPhaseSystem.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/HeatAndMassTransferPhaseSystem/HeatAndMassTransferPhaseSystem.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2015-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -34,6 +34,7 @@ License #include "fvcDiv.H" #include "fvmSup.H" #include "fvMatrix.H" +#include "zeroGradientFvPatchFields.H" // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/InertPhaseModel/InertPhaseModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/InertPhaseModel/InertPhaseModel.C index ba5e90459..bd4dda226 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/InertPhaseModel/InertPhaseModel.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/InertPhaseModel/InertPhaseModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2015-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -78,8 +78,7 @@ Foam::InertPhaseModel::Sh() const this->mesh() ), this->mesh(), - dimensionedScalar("zero", dimEnergy/dimTime/dimVolume, 0), - zeroGradientFvPatchScalarField::typeName + dimensionedScalar("zero", dimEnergy/dimTime/dimVolume, 0) ) ); } diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C index 2ec0b1590..a9de2e6d5 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2013-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -64,8 +64,6 @@ void Foam::multiphaseSystem::calcAlphas() alphas_ += level*phases()[i]; level += 1.0; } - - alphas_.correctBoundaryConditions(); } @@ -506,8 +504,7 @@ Foam::multiphaseSystem::multiphaseSystem IOobject::AUTO_WRITE ), mesh, - dimensionedScalar("alphas", dimless, 0.0), - zeroGradientFvPatchScalarField::typeName + dimensionedScalar("alphas", dimless, 0.0) ), cAlphas_(lookup("interfaceCompression")), diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Make/options b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Make/options index 5216efaa9..622878cc5 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Make/options +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Make/options @@ -1,4 +1,4 @@ -EXE_INC = \ +EXE_INC = -ggdb3 \ -ItwoPhaseSystem/lnInclude \ -I../phaseSystems/lnInclude \ -I../interfacialModels/lnInclude \ diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.C index ca0a145f5..079b5d187 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2014-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -27,6 +27,7 @@ License #include "phasePair.H" #include "fvcGrad.H" #include "surfaceInterpolate.H" +#include "zeroGradientFvPatchFields.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/applications/solvers/stressAnalysis/solidDisplacementFoam/readMechanicalProperties.H b/applications/solvers/stressAnalysis/solidDisplacementFoam/readMechanicalProperties.H index eca43adbf..a912d80e0 100644 --- a/applications/solvers/stressAnalysis/solidDisplacementFoam/readMechanicalProperties.H +++ b/applications/solvers/stressAnalysis/solidDisplacementFoam/readMechanicalProperties.H @@ -41,8 +41,7 @@ "rho", dimMass/dimVolume, rhoValue - ), - zeroGradientFvPatchField::typeName + ) ) ); } @@ -97,8 +96,7 @@ "Erho", dimMass/dimLength/sqr(dimTime), rhoEValue - ), - zeroGradientFvPatchField::typeName + ) ) ); } @@ -152,8 +150,7 @@ "nu", dimless, nuValue - ), - zeroGradientFvPatchField::typeName + ) ) ); } diff --git a/applications/solvers/stressAnalysis/solidDisplacementFoam/readThermalProperties.H b/applications/solvers/stressAnalysis/solidDisplacementFoam/readThermalProperties.H index 45327c2b4..0c90a8853 100644 --- a/applications/solvers/stressAnalysis/solidDisplacementFoam/readThermalProperties.H +++ b/applications/solvers/stressAnalysis/solidDisplacementFoam/readThermalProperties.H @@ -75,8 +75,7 @@ if (thermalStress) "C", dimensionSet(0, 2, -2 , -1, 0), CValue - ), - zeroGradientFvPatchField::typeName + ) ) ); @@ -131,8 +130,7 @@ if (thermalStress) "rhoK", dimensionSet(1, 1, -3 , -1, 0), rhoKValue - ), - zeroGradientFvPatchField::typeName + ) ) ); @@ -188,8 +186,7 @@ if (thermalStress) "alpha", inv(dimTemperature), alphaValue - ), - zeroGradientFvPatchField::typeName + ) ) ); } diff --git a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C index 6f973fb66..1e5db003e 100644 --- a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C +++ b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C @@ -398,8 +398,7 @@ int main(int argc, char *argv[]) IOobject::AUTO_WRITE ), mesh, - dimensionedScalar("cellDist", dimless, 0), - zeroGradientFvPatchScalarField::typeName + dimensionedScalar("cellDist", dimless, 0) ); forAll(procIds, celli) diff --git a/applications/utilities/parallelProcessing/redistributePar/redistributePar.C b/applications/utilities/parallelProcessing/redistributePar/redistributePar.C index 92afcdbae..cd1b0c438 100644 --- a/applications/utilities/parallelProcessing/redistributePar/redistributePar.C +++ b/applications/utilities/parallelProcessing/redistributePar/redistributePar.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -236,20 +236,18 @@ void writeDecomposition false // do not register ), mesh, - dimensionedScalar(name, dimless, -1), - zeroGradientFvPatchScalarField::typeName + dimensionedScalar(name, dimless, -1) ); forAll(procCells, cI) { procCells[cI] = decomp[cI]; } + procCells.write(); } -// Read vol or surface fields -//template template void readFields ( @@ -260,12 +258,12 @@ void readFields PtrList& fields ) { - //typedef GeometricField fldType; - // Get my objects of type IOobjectList objects(allObjects.lookupClass(GeoField::typeName)); + // Check that we all have all objects wordList objectNames = objects.toc(); + // Get master names wordList masterNames(objectNames); Pstream::scatter(masterNames); diff --git a/applications/utilities/postProcessing/velocityField/Co/Co.C b/applications/utilities/postProcessing/velocityField/Co/Co.C index 03718ef52..110c39b41 100644 --- a/applications/utilities/postProcessing/velocityField/Co/Co.C +++ b/applications/utilities/postProcessing/velocityField/Co/Co.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -35,6 +35,7 @@ Description #include "calc.H" #include "fvc.H" +#include "zeroGradientFvPatchFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/OpenFOAM/containers/Lists/CompactListList/CompactListList.C b/src/OpenFOAM/containers/Lists/CompactListList/CompactListList.C index 164069d2f..4cdf0ac32 100644 --- a/src/OpenFOAM/containers/Lists/CompactListList/CompactListList.C +++ b/src/OpenFOAM/containers/Lists/CompactListList/CompactListList.C @@ -113,12 +113,12 @@ template Foam::CompactListList::CompactListList ( CompactListList& lst, - bool reUse + bool reuse ) : size_(lst.size()), - offsets_(lst.offsets_, reUse), - m_(lst.m_, reUse) + offsets_(lst.offsets_, reuse), + m_(lst.m_, reuse) {} diff --git a/src/OpenFOAM/containers/Lists/CompactListList/CompactListList.H b/src/OpenFOAM/containers/Lists/CompactListList/CompactListList.H index 5cfa0a07f..91c6b98fe 100644 --- a/src/OpenFOAM/containers/Lists/CompactListList/CompactListList.H +++ b/src/OpenFOAM/containers/Lists/CompactListList/CompactListList.H @@ -123,7 +123,7 @@ public: explicit CompactListList(const Xfer>&); //- Construct as copy or re-use as specified. - CompactListList(CompactListList&, bool reUse); + CompactListList(CompactListList&, bool reuse); //- Construct from Istream. CompactListList(Istream&); diff --git a/src/OpenFOAM/containers/Lists/List/List.C b/src/OpenFOAM/containers/Lists/List/List.C index cd766c8ed..134bd4f04 100644 --- a/src/OpenFOAM/containers/Lists/List/List.C +++ b/src/OpenFOAM/containers/Lists/List/List.C @@ -34,11 +34,8 @@ License #include "BiIndirectList.H" #include "contiguous.H" -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - // * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * * // -// Construct with length specified template Foam::List::List(const label s) : @@ -58,7 +55,6 @@ Foam::List::List(const label s) } -// Construct with length and single value specified template Foam::List::List(const label s, const T& a) : @@ -83,7 +79,6 @@ Foam::List::List(const label s, const T& a) } -// Construct as copy template Foam::List::List(const List& a) : @@ -93,13 +88,13 @@ Foam::List::List(const List& a) { this->v_ = new T[this->size_]; -# ifdef USEMEMCPY + #ifdef USEMEMCPY if (contiguous()) { memcpy(this->v_, a.v_, this->byteSize()); } else -# endif + #endif { List_ACCESS(T, (*this), vp); List_CONST_ACCESS(T, a, ap); @@ -111,7 +106,6 @@ Foam::List::List(const List& a) } -// Construct by transferring the parameter contents template Foam::List::List(const Xfer>& lst) { @@ -119,13 +113,12 @@ Foam::List::List(const Xfer>& lst) } -// Construct as copy or re-use as specified. template -Foam::List::List(List& a, bool reUse) +Foam::List::List(List& a, bool reuse) : UList(NULL, a.size_) { - if (reUse) + if (reuse) { this->v_ = a.v_; a.v_ = 0; @@ -135,13 +128,13 @@ Foam::List::List(List& a, bool reUse) { this->v_ = new T[this->size_]; -# ifdef USEMEMCPY + #ifdef USEMEMCPY if (contiguous()) { memcpy(this->v_, a.v_, this->byteSize()); } else -# endif + #endif { List_ACCESS(T, (*this), vp); List_CONST_ACCESS(T, a, ap); @@ -153,7 +146,6 @@ Foam::List::List(List& a, bool reUse) } -// Construct as subset template Foam::List::List(const UList& a, const labelUList& map) : @@ -173,7 +165,6 @@ Foam::List::List(const UList& a, const labelUList& map) } -// Construct given start and end iterators. template template Foam::List::List(InputIterator first, InputIterator last) @@ -205,7 +196,6 @@ Foam::List::List(InputIterator first, InputIterator last) } -// Construct as copy of FixedList template template Foam::List::List(const FixedList& lst) @@ -224,7 +214,6 @@ Foam::List::List(const FixedList& lst) } -// Construct as copy of PtrList template Foam::List::List(const PtrList& lst) : @@ -242,7 +231,6 @@ Foam::List::List(const PtrList& lst) } -// Construct as copy of SLList template Foam::List::List(const SLList& lst) : @@ -266,7 +254,6 @@ Foam::List::List(const SLList& lst) } -// Construct as copy of UIndirectList template Foam::List::List(const UIndirectList& lst) : @@ -284,7 +271,6 @@ Foam::List::List(const UIndirectList& lst) } -// Construct as copy of BiIndirectList template Foam::List::List(const BiIndirectList& lst) : @@ -304,7 +290,6 @@ Foam::List::List(const BiIndirectList& lst) // * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * * // -// Destroy list elements template Foam::List::~List() { @@ -334,13 +319,13 @@ void Foam::List::setSize(const label newSize) { label i = min(this->size_, newSize); -# ifdef USEMEMCPY + #ifdef USEMEMCPY if (contiguous()) { memcpy(nv, this->v_, i*sizeof(T)); } else -# endif + #endif { T* vv = &this->v_[i]; T* av = &nv[i]; @@ -384,8 +369,6 @@ void Foam::List::clear() } -// Transfer the contents of the argument List into this List -// and annul the argument list template void Foam::List::transfer(List& a) { @@ -398,25 +381,21 @@ void Foam::List::transfer(List& a) } -// Transfer the contents of the argument DynamicList into this List -// and annul the argument list template template void Foam::List::transfer(DynamicList& a) { - // shrink the allocated space to the number of elements used + // Shrink the allocated space to the number of elements used a.shrink(); transfer(static_cast&>(a)); a.clearStorage(); } -// Transfer the contents of the argument SortableList into this List -// and annul the argument list template void Foam::List::transfer(SortableList& a) { - // shrink away the sort indices + // Shrink away the sort indices a.shrink(); transfer(static_cast&>(a)); } @@ -424,7 +403,6 @@ void Foam::List::transfer(SortableList& a) // * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // -// Assignment to UList operator. Takes linear time. template void Foam::List::operator=(const UList& a) { @@ -438,13 +416,13 @@ void Foam::List::operator=(const UList& a) if (this->size_) { -# ifdef USEMEMCPY + #ifdef USEMEMCPY if (contiguous()) { memcpy(this->v_, a.v_, this->byteSize()); } else -# endif + #endif { List_ACCESS(T, (*this), vp); List_CONST_ACCESS(T, a, ap); @@ -456,7 +434,6 @@ void Foam::List::operator=(const UList& a) } -// Assignment operator. Takes linear time. template void Foam::List::operator=(const List& a) { @@ -471,7 +448,6 @@ void Foam::List::operator=(const List& a) } -// Assignment operator. Takes linear time. template void Foam::List::operator=(const SLList& lst) { @@ -499,7 +475,6 @@ void Foam::List::operator=(const SLList& lst) } -// Assignment operator. Takes linear time. template void Foam::List::operator=(const UIndirectList& lst) { @@ -518,7 +493,6 @@ void Foam::List::operator=(const UIndirectList& lst) } -// Assignment operator. Takes linear time. template void Foam::List::operator=(const BiIndirectList& lst) { diff --git a/src/OpenFOAM/containers/Lists/List/List.H b/src/OpenFOAM/containers/Lists/List/List.H index ba1e75ad1..4f8859e32 100644 --- a/src/OpenFOAM/containers/Lists/List/List.H +++ b/src/OpenFOAM/containers/Lists/List/List.H @@ -112,7 +112,7 @@ public: List(const Xfer>&); //- Construct as copy or re-use as specified. - List(List&, bool reUse); + List(List&, bool reuse); //- Construct as subset. List(const UList&, const labelUList& mapAddressing); diff --git a/src/OpenFOAM/containers/Lists/List/ListIO.C b/src/OpenFOAM/containers/Lists/List/ListIO.C index 97d338470..1ac3ecc91 100644 --- a/src/OpenFOAM/containers/Lists/List/ListIO.C +++ b/src/OpenFOAM/containers/Lists/List/ListIO.C @@ -31,7 +31,6 @@ License // * * * * * * * * * * * * * * * IOstream Operators * * * * * * * * * * * * // -// Construct from Istream template Foam::List::List(Istream& is) : @@ -173,12 +172,12 @@ Foam::List Foam::readList(Istream& is) << exit(FatalIOError); } - // read via a singly-linked list + // Read via a singly-linked list L = SLList(is); } else { - // create list with a single item + // Create list with a single item L.setSize(1); is >> L[0]; diff --git a/src/OpenFOAM/containers/Lists/PtrList/PtrList.C b/src/OpenFOAM/containers/Lists/PtrList/PtrList.C index 0101d481e..2fdafcbb7 100644 --- a/src/OpenFOAM/containers/Lists/PtrList/PtrList.C +++ b/src/OpenFOAM/containers/Lists/PtrList/PtrList.C @@ -77,20 +77,11 @@ Foam::PtrList::PtrList(const Xfer>& lst) template -Foam::PtrList::PtrList(PtrList& a, bool reUse) +Foam::PtrList::PtrList(PtrList& a, bool reuse) : - ptrs_(a.size()) + ptrs_(a.ptrs_, reuse) { - if (reUse) - { - forAll(*this, i) - { - ptrs_[i] = a.ptrs_[i]; - a.ptrs_[i] = NULL; - } - a.setSize(0); - } - else + if (!reuse) { forAll(*this, i) { diff --git a/src/OpenFOAM/containers/Lists/PtrList/PtrList.H b/src/OpenFOAM/containers/Lists/PtrList/PtrList.H index 68bf3a715..d412270b1 100644 --- a/src/OpenFOAM/containers/Lists/PtrList/PtrList.H +++ b/src/OpenFOAM/containers/Lists/PtrList/PtrList.H @@ -161,7 +161,7 @@ public: PtrList(const Xfer>&); //- Construct as copy or re-use as specified. - PtrList(PtrList&, bool reUse); + PtrList(PtrList&, bool reuse); //- Construct as copy of SLPtrList explicit PtrList(const SLPtrList&); diff --git a/src/OpenFOAM/containers/Lists/UPtrList/UPtrList.C b/src/OpenFOAM/containers/Lists/UPtrList/UPtrList.C index 3a6a7c2d9..0936f9ac0 100644 --- a/src/OpenFOAM/containers/Lists/UPtrList/UPtrList.C +++ b/src/OpenFOAM/containers/Lists/UPtrList/UPtrList.C @@ -51,9 +51,9 @@ Foam::UPtrList::UPtrList(const Xfer>& lst) template -Foam::UPtrList::UPtrList(UPtrList& a, bool reUse) +Foam::UPtrList::UPtrList(UPtrList& a, bool reuse) : - ptrs_(a.ptrs_, reUse) + ptrs_(a.ptrs_, reuse) {} diff --git a/src/OpenFOAM/containers/Lists/UPtrList/UPtrList.H b/src/OpenFOAM/containers/Lists/UPtrList/UPtrList.H index 02aee9f14..36cdc80fb 100644 --- a/src/OpenFOAM/containers/Lists/UPtrList/UPtrList.H +++ b/src/OpenFOAM/containers/Lists/UPtrList/UPtrList.H @@ -113,7 +113,7 @@ public: UPtrList(const Xfer>&); //- Construct as copy or re-use as specified. - UPtrList(UPtrList&, bool reUse); + UPtrList(UPtrList&, bool reuse); // Member functions diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.C b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.C index 27c2948c2..d7ee58eb2 100644 --- a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.C +++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.C @@ -131,11 +131,11 @@ template DimensionedField::DimensionedField ( DimensionedField& df, - bool reUse + bool reuse ) : - regIOobject(df, reUse), - Field(df, reUse), + regIOobject(df, reuse), + Field(df, reuse), mesh_(df.mesh_), dimensions_(df.dimensions_) {} @@ -194,11 +194,11 @@ DimensionedField::DimensionedField ( const IOobject& io, DimensionedField& df, - bool reUse + bool reuse ) : regIOobject(io, df), - Field(df, reUse), + Field(df, reuse), mesh_(df.mesh_), dimensions_(df.dimensions_) {} @@ -223,11 +223,11 @@ DimensionedField::DimensionedField ( const word& newName, DimensionedField& df, - bool reUse + bool reuse ) : regIOobject(newName, df, true), - Field(df, reUse), + Field(df, reuse), mesh_(df.mesh_), dimensions_(df.dimensions_) {} diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.H b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.H index 81817fdeb..f90f9bfe2 100644 --- a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.H +++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.H @@ -159,7 +159,7 @@ public: DimensionedField ( DimensionedField&, - bool reUse + bool reuse ); //- Construct by transferring the DimensionedField @@ -188,7 +188,7 @@ public: ( const IOobject&, DimensionedField&, - bool reUse + bool reuse ); //- Construct as copy resetting name @@ -203,7 +203,7 @@ public: ( const word& newName, DimensionedField&, - bool reUse + bool reuse ); //- Construct by transferring the DimensionedField with a new name diff --git a/src/OpenFOAM/fields/FieldFields/FieldField/FieldField.C b/src/OpenFOAM/fields/FieldFields/FieldField/FieldField.C index 21fc405c8..fba85680a 100644 --- a/src/OpenFOAM/fields/FieldFields/FieldField/FieldField.C +++ b/src/OpenFOAM/fields/FieldFields/FieldField/FieldField.C @@ -143,10 +143,10 @@ FieldField::FieldField(const FieldField& f) template class Field, class Type> -FieldField::FieldField(FieldField& f, bool reUse) +FieldField::FieldField(FieldField& f, bool reuse) : refCount(), - PtrList>(f, reUse) + PtrList>(f, reuse) {} @@ -157,7 +157,6 @@ FieldField::FieldField(const PtrList>& tl) {} -// Construct as copy of tmp #ifndef NoConstructFromTmp template class Field, class Type> FieldField::FieldField(const tmp>& tf) @@ -168,7 +167,7 @@ FieldField::FieldField(const tmp>& tf) tf.isTmp() ) { - const_cast&>(tf()).resetRefCount(); + tf.clear(); } #endif diff --git a/src/OpenFOAM/fields/FieldFields/FieldField/FieldField.H b/src/OpenFOAM/fields/FieldFields/FieldField/FieldField.H index 3c1134e20..e63201e5b 100644 --- a/src/OpenFOAM/fields/FieldFields/FieldField/FieldField.H +++ b/src/OpenFOAM/fields/FieldFields/FieldField/FieldField.H @@ -102,7 +102,7 @@ public: FieldField(const FieldField&); //- Construct as copy or re-use as specified. - FieldField(FieldField&, bool reUse); + FieldField(FieldField&, bool reuse); //- Construct as copy of a PtrList FieldField(const PtrList>&); diff --git a/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldReuseFunctions.H b/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldReuseFunctions.H index b941bee74..3e7b3fe66 100644 --- a/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldReuseFunctions.H +++ b/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldReuseFunctions.H @@ -63,7 +63,8 @@ public: static tmp> New ( - const tmp>& tf1 + const tmp>& tf1, + const bool initRet = false ) { if (tf1.isTmp()) @@ -72,10 +73,17 @@ public: } else { - return tmp> + tmp> rtf ( FieldField::NewCalculatedType(tf1()) ); + + if (initRet) + { + rtf() = tf1(); + } + + return rtf; } } diff --git a/src/OpenFOAM/fields/Fields/Field/Field.C b/src/OpenFOAM/fields/Fields/Field/Field.C index 73dbc688c..e3f17b61a 100644 --- a/src/OpenFOAM/fields/Fields/Field/Field.C +++ b/src/OpenFOAM/fields/Fields/Field/Field.C @@ -202,9 +202,9 @@ Foam::Field::Field(const Field& f) template -Foam::Field::Field(Field& f, bool reUse) +Foam::Field::Field(Field& f, bool reuse) : - List(f, reUse) + List(f, reuse) {} @@ -236,7 +236,7 @@ Foam::Field::Field(const tmp>& tf) : List(const_cast&>(tf()), tf.isTmp()) { - const_cast&>(tf()).resetRefCount(); + tf.clear(); } #endif diff --git a/src/OpenFOAM/fields/Fields/Field/Field.H b/src/OpenFOAM/fields/Fields/Field/Field.H index 678dd3c77..fd8a849c1 100644 --- a/src/OpenFOAM/fields/Fields/Field/Field.H +++ b/src/OpenFOAM/fields/Fields/Field/Field.H @@ -205,7 +205,7 @@ public: Field(const Field&); //- Construct as copy or re-use as specified. - Field(Field&, bool reUse); + Field(Field&, bool reuse); //- Construct by transferring the Field contents Field(const Xfer>&); diff --git a/src/OpenFOAM/fields/Fields/Field/FieldReuseFunctions.H b/src/OpenFOAM/fields/Fields/Field/FieldReuseFunctions.H index 35c5a5c16..1d3c39859 100644 --- a/src/OpenFOAM/fields/Fields/Field/FieldReuseFunctions.H +++ b/src/OpenFOAM/fields/Fields/Field/FieldReuseFunctions.H @@ -55,7 +55,11 @@ class reuseTmp { public: - static tmp> New(const tmp>& tf1) + static tmp> New + ( + const tmp>& tf1, + const bool initRet = false + ) { if (tf1.isTmp()) { @@ -63,7 +67,14 @@ public: } else { - return tmp>(new Field(tf1().size())); + tmp> rtf(new Field(tf1().size())); + + if (initRet) + { + rtf() = tf1(); + } + + return rtf; } } diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldReuseFunctions.H b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldReuseFunctions.H index 06970c3c6..563dc9b19 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldReuseFunctions.H +++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldReuseFunctions.H @@ -33,6 +33,48 @@ namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +template +< + class Type, + template class PatchField, + class GeoMesh +> +bool reusable(const tmp>& tgf) +{ + if (tgf.isTmp()) + { + if (GeometricField::debug) + { + const GeometricField& gf = tgf(); + const typename GeometricField:: + GeometricBoundaryField& gbf = gf.boundaryField(); + + forAll(gbf, patchi) + { + if + ( + !polyPatch::constraintType(gbf[patchi].patch().type()) + && !isA::Calculated>(gbf[patchi]) + ) + { + WarningInFunction + << "Attempt to reuse temporary with non-reusable BC " + << gbf[patchi].type() << endl; + + return false; + } + } + } + + return true; + } + else + { + return false; + } +} + + template < class TypeR, @@ -46,12 +88,12 @@ public: static tmp> New ( - const tmp>& tdf1, + const tmp>& tgf1, const word& name, const dimensionSet& dimensions ) { - const GeometricField& df1 = tdf1(); + const GeometricField& gf1 = tgf1(); return tmp> ( @@ -60,10 +102,10 @@ public: IOobject ( name, - df1.instance(), - df1.db() + gf1.instance(), + gf1.db() ), - df1.mesh(), + gf1.mesh(), dimensions ) ); @@ -71,10 +113,10 @@ public: static void clear ( - const tmp>& tdf1 + const tmp>& tgf1 ) { - tdf1.clear(); + tgf1.clear(); } }; @@ -86,47 +128,55 @@ public: static tmp> New ( - const tmp>& tdf1, + const tmp>& tgf1, const word& name, - const dimensionSet& dimensions + const dimensionSet& dimensions, + const bool initRet = false ) { - GeometricField& df1 = - const_cast& >(tdf1()); + GeometricField& gf1 = + const_cast& >(tgf1()); - if (tdf1.isTmp()) + if (reusable(tgf1)) { - df1.rename(name); - df1.dimensions().reset(dimensions); - return tdf1; + gf1.rename(name); + gf1.dimensions().reset(dimensions); + return tgf1; } else { - return tmp> + tmp> rtgf ( new GeometricField ( IOobject ( name, - df1.instance(), - df1.db() + gf1.instance(), + gf1.db() ), - df1.mesh(), + gf1.mesh(), dimensions ) ); + + if (initRet) + { + rtgf() == tgf1(); + } + + return rtgf; } } static void clear ( - const tmp>& tdf1 + const tmp>& tgf1 ) { - if (tdf1.isTmp()) + if (reusable(tgf1)) { - tdf1.ptr(); + tgf1.ptr(); } } }; @@ -147,13 +197,13 @@ public: static tmp> New ( - const tmp>& tdf1, - const tmp>& tdf2, + const tmp>& tgf1, + const tmp>& tgf2, const word& name, const dimensionSet& dimensions ) { - const GeometricField& df1 = tdf1(); + const GeometricField& gf1 = tgf1(); return tmp> ( @@ -162,10 +212,10 @@ public: IOobject ( name, - df1.instance(), - df1.db() + gf1.instance(), + gf1.db() ), - df1.mesh(), + gf1.mesh(), dimensions ) ); @@ -173,12 +223,12 @@ public: static void clear ( - const tmp>& tdf1, - const tmp>& tdf2 + const tmp>& tgf1, + const tmp>& tgf2 ) { - tdf1.clear(); - tdf2.clear(); + tgf1.clear(); + tgf2.clear(); } }; @@ -198,21 +248,21 @@ public: static tmp> New ( - const tmp>& tdf1, - const tmp>& tdf2, + const tmp>& tgf1, + const tmp>& tgf2, const word& name, const dimensionSet& dimensions ) { - const GeometricField& df1 = tdf1(); - GeometricField& df2 = - const_cast& >(tdf2()); + const GeometricField& gf1 = tgf1(); + GeometricField& gf2 = + const_cast& >(tgf2()); - if (tdf2.isTmp()) + if (reusable(tgf2)) { - df2.rename(name); - df2.dimensions().reset(dimensions); - return tdf2; + gf2.rename(name); + gf2.dimensions().reset(dimensions); + return tgf2; } else { @@ -223,10 +273,10 @@ public: IOobject ( name, - df1.instance(), - df1.db() + gf1.instance(), + gf1.db() ), - df1.mesh(), + gf1.mesh(), dimensions ) ); @@ -235,14 +285,14 @@ public: static void clear ( - const tmp>& tdf1, - const tmp>& tdf2 + const tmp>& tgf1, + const tmp>& tgf2 ) { - tdf1.clear(); - if (tdf2.isTmp()) + tgf1.clear(); + if (reusable(tgf2)) { - tdf2.ptr(); + tgf2.ptr(); } } }; @@ -261,20 +311,20 @@ public: static tmp> New ( - const tmp>& tdf1, - const tmp>& tdf2, + const tmp>& tgf1, + const tmp>& tgf2, const word& name, const dimensionSet& dimensions ) { - GeometricField& df1 = - const_cast& >(tdf1()); + GeometricField& gf1 = + const_cast& >(tgf1()); - if (tdf1.isTmp()) + if (reusable(tgf1)) { - df1.rename(name); - df1.dimensions().reset(dimensions); - return tdf1; + gf1.rename(name); + gf1.dimensions().reset(dimensions); + return tgf1; } else { @@ -285,10 +335,10 @@ public: IOobject ( name, - df1.instance(), - df1.db() + gf1.instance(), + gf1.db() ), - df1.mesh(), + gf1.mesh(), dimensions ) ); @@ -297,15 +347,15 @@ public: static void clear ( - const tmp>& tdf1, - const tmp>& tdf2 + const tmp>& tgf1, + const tmp>& tgf2 ) { - if (tdf1.isTmp()) + if (reusable(tgf1)) { - tdf1.ptr(); + tgf1.ptr(); } - tdf2.clear(); + tgf2.clear(); } }; @@ -317,28 +367,28 @@ public: static tmp> New ( - const tmp>& tdf1, - const tmp>& tdf2, + const tmp>& tgf1, + const tmp>& tgf2, const word& name, const dimensionSet& dimensions ) { - GeometricField& df1 = - const_cast& >(tdf1()); - GeometricField& df2 = - const_cast& >(tdf2()); + GeometricField& gf1 = + const_cast& >(tgf1()); + GeometricField& gf2 = + const_cast& >(tgf2()); - if (tdf1.isTmp()) + if (reusable(tgf1)) { - df1.rename(name); - df1.dimensions().reset(dimensions); - return tdf1; + gf1.rename(name); + gf1.dimensions().reset(dimensions); + return tgf1; } - else if (tdf2.isTmp()) + else if (reusable(tgf2)) { - df2.rename(name); - df2.dimensions().reset(dimensions); - return tdf2; + gf2.rename(name); + gf2.dimensions().reset(dimensions); + return tgf2; } else { @@ -349,10 +399,10 @@ public: IOobject ( name, - df1.instance(), - df1.db() + gf1.instance(), + gf1.db() ), - df1.mesh(), + gf1.mesh(), dimensions ) ); @@ -361,19 +411,19 @@ public: static void clear ( - const tmp>& tdf1, - const tmp>& tdf2 + const tmp>& tgf1, + const tmp>& tgf2 ) { - if (tdf1.isTmp()) + if (reusable(tgf1)) { - tdf1.ptr(); - tdf2.clear(); + tgf1.ptr(); + tgf2.clear(); } - else if (tdf2.isTmp()) + else if (reusable(tgf2)) { - tdf1.clear(); - tdf2.ptr(); + tgf1.clear(); + tgf2.ptr(); } } }; diff --git a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H index ba296fb12..bf77b43ac 100644 --- a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H @@ -63,6 +63,9 @@ class pointMesh; template class pointPatchField; +template +class calculatedPointPatchField; + template Ostream& operator<< ( @@ -99,6 +102,7 @@ class pointPatchField public: typedef pointPatch Patch; + typedef calculatedPointPatchField Calculated; //- Runtime type information @@ -239,8 +243,7 @@ public: const dictionary& ); - - //- Return a pointer to a new CalculatedpointPatchField created on + //- Return a pointer to a new calculatedPointPatchField created on // freestore without setting patchField values template static autoPtr> diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.C b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.C index 8c3d6a79c..aa50c4def 100644 --- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.C +++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -77,7 +77,7 @@ Foam::LduMatrix::LduMatrix(const LduMatrix& A) template -Foam::LduMatrix::LduMatrix(LduMatrix& A, bool reUse) +Foam::LduMatrix::LduMatrix(LduMatrix& A, bool reuse) : lduMesh_(A.lduMesh_), diagPtr_(NULL), @@ -88,7 +88,7 @@ Foam::LduMatrix::LduMatrix(LduMatrix& A, bool reUse) interfacesUpper_(0), interfacesLower_(0) { - if (reUse) + if (reuse) { if (A.diagPtr_) { diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.H b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.H index 22b740c4d..55081e89a 100644 --- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.H +++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.H @@ -470,7 +470,7 @@ public: LduMatrix(const LduMatrix&); //- Construct as copy or re-use as specified. - LduMatrix(LduMatrix&, bool reUse); + LduMatrix(LduMatrix&, bool reuse); //- Construct given an LDU addressed mesh and an Istream // from which the coefficients are read diff --git a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.C b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.C index 1f22e238e..8de739562 100644 --- a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.C +++ b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -70,14 +70,14 @@ Foam::lduMatrix::lduMatrix(const lduMatrix& A) } -Foam::lduMatrix::lduMatrix(lduMatrix& A, bool reUse) +Foam::lduMatrix::lduMatrix(lduMatrix& A, bool reuse) : lduMesh_(A.lduMesh_), lowerPtr_(NULL), diagPtr_(NULL), upperPtr_(NULL) { - if (reUse) + if (reuse) { if (A.lowerPtr_) { diff --git a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.H b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.H index 43566e164..5d5d62fd4 100644 --- a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.H +++ b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.H @@ -521,7 +521,7 @@ public: lduMatrix(const lduMatrix&); //- Construct as copy or re-use as specified. - lduMatrix(lduMatrix&, bool reUse); + lduMatrix(lduMatrix&, bool reuse); //- Construct given an LDU addressed mesh and an Istream // from which the coefficients are read diff --git a/src/OpenFOAM/memory/autoPtr/autoPtr.H b/src/OpenFOAM/memory/autoPtr/autoPtr.H index c3ea064fb..748975b5c 100644 --- a/src/OpenFOAM/memory/autoPtr/autoPtr.H +++ b/src/OpenFOAM/memory/autoPtr/autoPtr.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -69,7 +69,7 @@ public: //- Construct either by transferring pointer or cloning. Should // only be called with type that supports cloning. - inline autoPtr(const autoPtr&, const bool reUse); + inline autoPtr(const autoPtr&, const bool reuse); //- Destructor, delete object if pointer is not NULL diff --git a/src/OpenFOAM/memory/autoPtr/autoPtrI.H b/src/OpenFOAM/memory/autoPtr/autoPtrI.H index 961456e5b..ef199ca20 100644 --- a/src/OpenFOAM/memory/autoPtr/autoPtrI.H +++ b/src/OpenFOAM/memory/autoPtr/autoPtrI.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -45,9 +45,9 @@ inline Foam::autoPtr::autoPtr(const autoPtr& ap) template -inline Foam::autoPtr::autoPtr(const autoPtr& ap, const bool reUse) +inline Foam::autoPtr::autoPtr(const autoPtr& ap, const bool reuse) { - if (reUse) + if (reuse) { ptr_ = ap.ptr_; ap.ptr_ = 0; diff --git a/src/OpenFOAM/memory/tmp/tmp.H b/src/OpenFOAM/memory/tmp/tmp.H index 783d06feb..24700bfad 100644 --- a/src/OpenFOAM/memory/tmp/tmp.H +++ b/src/OpenFOAM/memory/tmp/tmp.H @@ -100,7 +100,8 @@ public: // Edit - //- Return tmp pointer for reuse + //- Return tmp pointer for reuse. + // Returns a clone if the object is not a temporary inline T* ptr() const; //- If object pointer points to valid object: diff --git a/src/OpenFOAM/memory/tmp/tmpI.H b/src/OpenFOAM/memory/tmp/tmpI.H index 4f3ae9c66..490ac76e3 100644 --- a/src/OpenFOAM/memory/tmp/tmpI.H +++ b/src/OpenFOAM/memory/tmp/tmpI.H @@ -1,4 +1,4 @@ -/*---------------------------------------------------------------------------*\ +/*--------------------------------------------------------------------r-------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | @@ -171,7 +171,7 @@ inline T* Foam::tmp::ptr() const template inline void Foam::tmp::clear() const { - if (isTmp_ && ptr_) // skip this bit: && ptr_->okToDelete()) + if (isTmp_ && ptr_) // Skip this bit: && ptr_->okToDelete()) { delete ptr_; ptr_ = 0; @@ -326,7 +326,7 @@ inline void Foam::tmp::operator=(const tmp& t) } ptr_ = t.ptr_; - t.ptr_ = 0; + const_cast&>(t).ptr_ = 0; ptr_->resetRefCount(); } else diff --git a/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C b/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C index 13731a858..bdd4dbe09 100644 --- a/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C +++ b/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2013-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -206,12 +206,12 @@ Foam::lduPrimitiveMesh::lduPrimitiveMesh labelList& l, labelList& u, const label comm, - bool reUse + bool reuse ) : lduAddressing(nCells), - lowerAddr_(l, reUse), - upperAddr_(u, reUse), + lowerAddr_(l, reuse), + upperAddr_(u, reuse), comm_(comm) {} diff --git a/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.H b/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.H index 5bd7901c8..e94850f4b 100644 --- a/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.H +++ b/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -117,7 +117,7 @@ public: labelList& l, labelList& u, const label comm, - bool reUse + bool reuse ); //- Add interfaces to a mesh constructed without diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.C index ddf90970f..48d857b05 100644 --- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.C +++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -143,38 +143,38 @@ Foam::mapPolyMesh::mapPolyMesh labelList& oldPatchStarts, labelList& oldPatchNMeshPoints, autoPtr& oldCellVolumesPtr, - const bool reUse + const bool reuse ) : mesh_(mesh), nOldPoints_(nOldPoints), nOldFaces_(nOldFaces), nOldCells_(nOldCells), - pointMap_(pointMap, reUse), - pointsFromPointsMap_(pointsFromPoints, reUse), - faceMap_(faceMap, reUse), - facesFromPointsMap_(facesFromPoints, reUse), - facesFromEdgesMap_(facesFromEdges, reUse), - facesFromFacesMap_(facesFromFaces, reUse), - cellMap_(cellMap, reUse), - cellsFromPointsMap_(cellsFromPoints, reUse), - cellsFromEdgesMap_(cellsFromEdges, reUse), - cellsFromFacesMap_(cellsFromFaces, reUse), - cellsFromCellsMap_(cellsFromCells, reUse), - reversePointMap_(reversePointMap, reUse), - reverseFaceMap_(reverseFaceMap, reUse), - reverseCellMap_(reverseCellMap, reUse), + pointMap_(pointMap, reuse), + pointsFromPointsMap_(pointsFromPoints, reuse), + faceMap_(faceMap, reuse), + facesFromPointsMap_(facesFromPoints, reuse), + facesFromEdgesMap_(facesFromEdges, reuse), + facesFromFacesMap_(facesFromFaces, reuse), + cellMap_(cellMap, reuse), + cellsFromPointsMap_(cellsFromPoints, reuse), + cellsFromEdgesMap_(cellsFromEdges, reuse), + cellsFromFacesMap_(cellsFromFaces, reuse), + cellsFromCellsMap_(cellsFromCells, reuse), + reversePointMap_(reversePointMap, reuse), + reverseFaceMap_(reverseFaceMap, reuse), + reverseCellMap_(reverseCellMap, reuse), flipFaceFlux_(flipFaceFlux), - patchPointMap_(patchPointMap, reUse), - pointZoneMap_(pointZoneMap, reUse), - faceZonePointMap_(faceZonePointMap, reUse), - faceZoneFaceMap_(faceZoneFaceMap, reUse), - cellZoneMap_(cellZoneMap, reUse), - preMotionPoints_(preMotionPoints, reUse), + patchPointMap_(patchPointMap, reuse), + pointZoneMap_(pointZoneMap, reuse), + faceZonePointMap_(faceZonePointMap, reuse), + faceZoneFaceMap_(faceZoneFaceMap, reuse), + cellZoneMap_(cellZoneMap, reuse), + preMotionPoints_(preMotionPoints, reuse), oldPatchSizes_(oldPatchStarts.size()), - oldPatchStarts_(oldPatchStarts, reUse), - oldPatchNMeshPoints_(oldPatchNMeshPoints, reUse), - oldCellVolumesPtr_(oldCellVolumesPtr, reUse) + oldPatchStarts_(oldPatchStarts, reuse), + oldPatchNMeshPoints_(oldPatchNMeshPoints, reuse), + oldCellVolumesPtr_(oldCellVolumesPtr, reuse) { if (oldPatchStarts_.size() > 0) { diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.H b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.H index e81de98eb..33ef92340 100644 --- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.H +++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -349,7 +349,7 @@ public: labelList& oldPatchStarts, labelList& oldPatchNMeshPoints, autoPtr& oldCellVolumesPtr, - const bool reUse + const bool reuse ); // Member Functions diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapSubsetMesh/mapSubsetMesh.H b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapSubsetMesh/mapSubsetMesh.H index d85063422..ff8ea1f26 100644 --- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapSubsetMesh/mapSubsetMesh.H +++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapSubsetMesh/mapSubsetMesh.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-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -112,7 +112,7 @@ public: const label exposedPatchID, labelList& oldPatchStarts, labelList& oldPatchNMeshPoints, - const bool reUse + const bool reuse ); diff --git a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatch.C b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatch.C index ade55ed71..6fb9994e4 100644 --- a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatch.C +++ b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatch.C @@ -111,11 +111,11 @@ PrimitivePatch ( FaceList& faces, Field& points, - const bool reUse + const bool reuse ) : - FaceList(faces, reUse), - points_(points, reUse), + FaceList(faces, reuse), + points_(points, reuse), edgesPtr_(NULL), nInternalEdges_(-1), boundaryPointsPtr_(NULL), diff --git a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatch.H b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatch.H index 9137ed673..0d7f235d8 100644 --- a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatch.H +++ b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatch.H @@ -255,7 +255,7 @@ public: ( FaceList& faces, Field& points, - const bool reUse + const bool reuse ); //- Construct as copy diff --git a/src/combustionModels/laminar/laminar.C b/src/combustionModels/laminar/laminar.C index 069e9b588..d53a859a7 100644 --- a/src/combustionModels/laminar/laminar.C +++ b/src/combustionModels/laminar/laminar.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2013-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -151,8 +151,7 @@ Foam::combustionModels::laminar::dQ() const false ), this->mesh(), - dimensionedScalar("dQ", dimEnergy/dimTime, 0.0), - zeroGradientFvPatchScalarField::typeName + dimensionedScalar("dQ", dimEnergy/dimTime, 0.0) ) ); @@ -183,8 +182,7 @@ Foam::combustionModels::laminar::Sh() const false ), this->mesh(), - dimensionedScalar("zero", dimEnergy/dimTime/dimVolume, 0.0), - zeroGradientFvPatchScalarField::typeName + dimensionedScalar("zero", dimEnergy/dimTime/dimVolume, 0.0) ) ); diff --git a/src/combustionModels/noCombustion/noCombustion.C b/src/combustionModels/noCombustion/noCombustion.C index 838edd169..f59477591 100644 --- a/src/combustionModels/noCombustion/noCombustion.C +++ b/src/combustionModels/noCombustion/noCombustion.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -90,8 +90,7 @@ Foam::combustionModels::noCombustion::dQ() const false ), this->mesh(), - dimensionedScalar("dQ", dimEnergy/dimTime, 0.0), - zeroGradientFvPatchScalarField::typeName + dimensionedScalar("dQ", dimEnergy/dimTime, 0.0) ) ); @@ -117,8 +116,7 @@ Foam::combustionModels::noCombustion::Sh() const false ), this->mesh(), - dimensionedScalar("zero", dimEnergy/dimTime/dimVolume, 0.0), - zeroGradientFvPatchScalarField::typeName + dimensionedScalar("zero", dimEnergy/dimTime/dimVolume, 0.0) ) ); diff --git a/src/combustionModels/singleStepCombustion/singleStepCombustion.C b/src/combustionModels/singleStepCombustion/singleStepCombustion.C index 944198486..ba586bc1c 100644 --- a/src/combustionModels/singleStepCombustion/singleStepCombustion.C +++ b/src/combustionModels/singleStepCombustion/singleStepCombustion.C @@ -154,8 +154,7 @@ singleStepCombustion::dQ() const false ), this->mesh_, - dimensionedScalar("dQ", dimEnergy/dimTime, 0.0), - zeroGradientFvPatchScalarField::typeName + dimensionedScalar("dQ", dimEnergy/dimTime, 0.0) ) ); diff --git a/src/finiteVolume/Make/files b/src/finiteVolume/Make/files index eda874fd0..f94219df9 100644 --- a/src/finiteVolume/Make/files +++ b/src/finiteVolume/Make/files @@ -99,6 +99,7 @@ $(fvPatchFields)/fvPatchField/fvPatchFields.C basicFvPatchFields = $(fvPatchFields)/basic $(basicFvPatchFields)/basicSymmetry/basicSymmetryFvPatchScalarField.C $(basicFvPatchFields)/calculated/calculatedFvPatchFields.C +$(basicFvPatchFields)/extrapolatedCalculated/extrapolatedCalculatedFvPatchFields.C $(basicFvPatchFields)/coupled/coupledFvPatchFields.C $(basicFvPatchFields)/directionMixed/directionMixedFvPatchFields.C $(basicFvPatchFields)/fixedGradient/fixedGradientFvPatchFields.C diff --git a/src/finiteVolume/cfdTools/general/CorrectPhi/CorrectPhi.C b/src/finiteVolume/cfdTools/general/CorrectPhi/CorrectPhi.C index c6cdff20c..f0fd91f4b 100644 --- a/src/finiteVolume/cfdTools/general/CorrectPhi/CorrectPhi.C +++ b/src/finiteVolume/cfdTools/general/CorrectPhi/CorrectPhi.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2015-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -31,6 +31,7 @@ License #include "fvmLaplacian.H" #include "fvcDiv.H" #include "fixedValueFvPatchFields.H" +#include "zeroGradientFvPatchFields.H" #include "adjustPhi.H" #include "fvcMeshPhi.H" #include "pimpleControl.H" diff --git a/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.C b/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.C index 3b045fa22..89b9e8547 100644 --- a/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.C +++ b/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.C @@ -221,47 +221,93 @@ void Foam::MRFZoneList::makeRelative(surfaceScalarField& phi) const Foam::tmp Foam::MRFZoneList::relative ( - const tmp& phi + const tmp& tphi ) const { - tmp rphi(phi.ptr()); - makeRelative(rphi()); - return rphi; + if (size()) + { + tmp rphi + ( + reuseTmpGeometricField + ::New + ( + tphi, + "relative(" + tphi().name() + ')', + tphi().dimensions(), + true + ) + ); + + makeRelative(rphi()); + + reuseTmpGeometricField + ::clear(tphi); + + return rphi; + } + else + { + return tmp(tphi, true); + } } Foam::tmp> Foam::MRFZoneList::relative ( - const tmp>& phi + const tmp>& tphi ) const { - tmp> rphi(phi.ptr()); - - forAll(*this, i) + if (size()) { - operator[](i).makeRelative(rphi()); - } + tmp> rphi + ( + reuseTmpFieldField::New(tphi, true) + ); - return rphi; + forAll(*this, i) + { + operator[](i).makeRelative(rphi()); + } + + reuseTmpFieldField::clear(tphi); + + return rphi; + } + else + { + return tmp>(tphi, true); + } } Foam::tmp> Foam::MRFZoneList::relative ( - const tmp>& phi, + const tmp>& tphi, const label patchi ) const { - tmp> rphi(phi.ptr()); - - forAll(*this, i) + if (size()) { - operator[](i).makeRelative(rphi(), patchi); - } + tmp> rphi + ( + reuseTmp::New(tphi, true) + ); - return rphi; + forAll(*this, i) + { + operator[](i).makeRelative(rphi(), patchi); + } + + reuseTmp::clear(tphi); + + return rphi; + } + else + { + return tmp>(tphi, true); + } } @@ -298,12 +344,34 @@ void Foam::MRFZoneList::makeAbsolute(surfaceScalarField& phi) const Foam::tmp Foam::MRFZoneList::absolute ( - const tmp& phi + const tmp& tphi ) const { - tmp rphi(phi.ptr()); - makeAbsolute(rphi()); - return rphi; + if (size()) + { + tmp rphi + ( + reuseTmpGeometricField + ::New + ( + tphi, + "absolute(" + tphi().name() + ')', + tphi().dimensions(), + true + ) + ); + + makeAbsolute(rphi()); + + reuseTmpGeometricField + ::clear(tphi); + + return rphi; + } + else + { + return tmp(tphi, true); + } } diff --git a/src/finiteVolume/cfdTools/general/include/createRDeltaT.H b/src/finiteVolume/cfdTools/general/include/createRDeltaT.H index 5d24e2f78..9553e0c36 100644 --- a/src/finiteVolume/cfdTools/general/include/createRDeltaT.H +++ b/src/finiteVolume/cfdTools/general/include/createRDeltaT.H @@ -20,7 +20,7 @@ if (LTS) ), mesh, dimensionedScalar("one", dimless/dimTime, 1), - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); } diff --git a/src/finiteVolume/cfdTools/general/include/fvCFD.H b/src/finiteVolume/cfdTools/general/include/fvCFD.H index bc21a17c4..f539b0a00 100644 --- a/src/finiteVolume/cfdTools/general/include/fvCFD.H +++ b/src/finiteVolume/cfdTools/general/include/fvCFD.H @@ -11,7 +11,9 @@ #include "linear.H" #include "uniformDimensionedFields.H" #include "calculatedFvPatchFields.H" +#include "extrapolatedCalculatedFvPatchFields.H" #include "fixedValueFvPatchFields.H" +#include "zeroGradientFvPatchFields.H" #include "fixedFluxPressureFvPatchScalarField.H" #include "constrainHbyA.H" #include "constrainPressure.H" diff --git a/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchField.C index 1b4018776..a7b003dd0 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchField.C @@ -48,19 +48,6 @@ Foam::calculatedFvPatchField::calculatedFvPatchField {} -template -Foam::calculatedFvPatchField::calculatedFvPatchField -( - const calculatedFvPatchField& ptf, - const fvPatch& p, - const DimensionedField& iF, - const fvPatchFieldMapper& mapper -) -: - fvPatchField(ptf, p, iF, mapper) -{} - - template Foam::calculatedFvPatchField::calculatedFvPatchField ( @@ -74,6 +61,19 @@ Foam::calculatedFvPatchField::calculatedFvPatchField {} +template +Foam::calculatedFvPatchField::calculatedFvPatchField +( + const calculatedFvPatchField& ptf, + const fvPatch& p, + const DimensionedField& iF, + const fvPatchFieldMapper& mapper +) +: + fvPatchField(ptf, p, iF, mapper) +{} + + template Foam::calculatedFvPatchField::calculatedFvPatchField ( @@ -154,7 +154,7 @@ Foam::calculatedFvPatchField::valueInternalCoeffs << " in file " << this->dimensionedInternalField().objectPath() << "\n You are probably trying to solve for a field with a " "default boundary condition." - << exit(FatalError); + << abort(FatalError); return *this; } @@ -174,7 +174,7 @@ Foam::calculatedFvPatchField::valueBoundaryCoeffs << " in file " << this->dimensionedInternalField().objectPath() << "\n You are probably trying to solve for a field with a " "default boundary condition." - << exit(FatalError); + << abort(FatalError); return *this; } @@ -191,7 +191,7 @@ Foam::calculatedFvPatchField::gradientInternalCoeffs() const << " in file " << this->dimensionedInternalField().objectPath() << "\n You are probably trying to solve for a field with a " "default boundary condition." - << exit(FatalError); + << abort(FatalError); return *this; } @@ -208,7 +208,7 @@ Foam::calculatedFvPatchField::gradientBoundaryCoeffs() const << " in file " << this->dimensionedInternalField().objectPath() << "\n You are probably trying to solve for a field with a " "default boundary condition." - << exit(FatalError); + << abort(FatalError); return *this; } diff --git a/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.C new file mode 100644 index 000000000..3d1543488 --- /dev/null +++ b/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.C @@ -0,0 +1,112 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 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 . + +\*---------------------------------------------------------------------------*/ + +#include "extrapolatedCalculatedFvPatchField.H" +#include "fvPatchFieldMapper.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template +Foam::extrapolatedCalculatedFvPatchField:: +extrapolatedCalculatedFvPatchField +( + const fvPatch& p, + const DimensionedField& iF +) +: + calculatedFvPatchField(p, iF) +{} + + +template +Foam::extrapolatedCalculatedFvPatchField:: +extrapolatedCalculatedFvPatchField +( + const fvPatch& p, + const DimensionedField& iF, + const dictionary& dict, + const bool valueRequired +) +: + calculatedFvPatchField(p, iF, dict, valueRequired) +{} + + +template +Foam::extrapolatedCalculatedFvPatchField:: +extrapolatedCalculatedFvPatchField +( + const extrapolatedCalculatedFvPatchField& ptf, + const fvPatch& p, + const DimensionedField& iF, + const fvPatchFieldMapper& mapper +) +: + calculatedFvPatchField(ptf, p, iF, mapper) +{} + + +template +Foam::extrapolatedCalculatedFvPatchField:: +extrapolatedCalculatedFvPatchField +( + const extrapolatedCalculatedFvPatchField& ptf +) +: + calculatedFvPatchField(ptf) +{} + + +template +Foam::extrapolatedCalculatedFvPatchField:: +extrapolatedCalculatedFvPatchField +( + const extrapolatedCalculatedFvPatchField& ptf, + const DimensionedField& iF +) +: + calculatedFvPatchField(ptf, iF) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template +void Foam::extrapolatedCalculatedFvPatchField::evaluate +( + const Pstream::commsTypes +) +{ + if (!this->updated()) + { + this->updateCoeffs(); + } + + calculatedFvPatchField::operator==(this->patchInternalField()); + calculatedFvPatchField::evaluate(); +} + + +// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.H new file mode 100644 index 000000000..0003baac0 --- /dev/null +++ b/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.H @@ -0,0 +1,165 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 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 . + +Class + Foam::extrapolatedCalculatedFvPatchField + +Group + grpGenericBoundaryConditions + +Description + This boundary condition applies a zero-gradient condition from the patch + internal field onto the patch faces when \c evaluated but may also be + assigned. \c snGrad returns the patch gradient evaluated from the current + internal and patch field values rather than returning zero. + + \heading Patch usage + + Example of the boundary condition specification: + \verbatim + myPatch + { + type extrapolatedCalculated; + } + \endverbatim + +SourceFiles + extrapolatedCalculatedFvPatchField.C + +\*---------------------------------------------------------------------------*/ + +#ifndef extrapolatedCalculatedFvPatchField_H +#define extrapolatedCalculatedFvPatchField_H + +#include "calculatedFvPatchField.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class extrapolatedCalculatedFvPatchField Declaration +\*---------------------------------------------------------------------------*/ + +template +class extrapolatedCalculatedFvPatchField +: + public calculatedFvPatchField +{ + +public: + + //- Runtime type information + TypeName("extrapolatedCalculated"); + + + // Constructors + + //- Construct from patch and internal field + extrapolatedCalculatedFvPatchField + ( + const fvPatch&, + const DimensionedField& + ); + + //- Construct from patch, internal field and dictionary + extrapolatedCalculatedFvPatchField + ( + const fvPatch&, + const DimensionedField&, + const dictionary&, + const bool valueRequired=false + ); + + //- Construct by mapping given patchField onto a new patch + extrapolatedCalculatedFvPatchField + ( + const extrapolatedCalculatedFvPatchField&, + const fvPatch&, + const DimensionedField&, + const fvPatchFieldMapper& + ); + + //- Construct as copy + extrapolatedCalculatedFvPatchField + ( + const extrapolatedCalculatedFvPatchField& + ); + + //- Construct and return a clone + virtual tmp> clone() const + { + return tmp> + ( + new extrapolatedCalculatedFvPatchField(*this) + ); + } + + //- Construct as copy setting internal field reference + extrapolatedCalculatedFvPatchField + ( + const extrapolatedCalculatedFvPatchField&, + const DimensionedField& + ); + + //- Construct and return a clone setting internal field reference + virtual tmp> clone + ( + const DimensionedField& iF + ) const + { + return tmp> + ( + new extrapolatedCalculatedFvPatchField(*this, iF) + ); + } + + + // Member functions + + // Evaluation functions + + //- Evaluate the patch field + virtual void evaluate + ( + const Pstream::commsTypes commsType=Pstream::blocking + ); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository +# include "extrapolatedCalculatedFvPatchField.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchFields.C b/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchFields.C new file mode 100644 index 000000000..e09d457b8 --- /dev/null +++ b/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchFields.C @@ -0,0 +1,44 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 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 . + +\*---------------------------------------------------------------------------*/ + +#include "extrapolatedCalculatedFvPatchFields.H" +#include "fvPatchFields.H" +#include "volMesh.H" +#include "addToRunTimeSelectionTable.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +makePatchFields(extrapolatedCalculated); + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchFields.H b/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchFields.H new file mode 100644 index 000000000..ec38e3774 --- /dev/null +++ b/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchFields.H @@ -0,0 +1,49 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 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 . + +\*---------------------------------------------------------------------------*/ + +#ifndef extrapolatedCalculatedFvPatchFields_H +#define extrapolatedCalculatedFvPatchFields_H + +#include "extrapolatedCalculatedFvPatchField.H" +#include "fieldTypes.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +makePatchTypeFieldTypedefs(extrapolatedCalculated); + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchFieldsFwd.H b/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchFieldsFwd.H new file mode 100644 index 000000000..6f1a89d2f --- /dev/null +++ b/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchFieldsFwd.H @@ -0,0 +1,50 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 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 . + +\*---------------------------------------------------------------------------*/ + +#ifndef extrapolatedCalculatedFvPatchFieldsFwd_H +#define extrapolatedCalculatedFvPatchFieldsFwd_H + +#include "fieldTypes.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +template class extrapolatedCalculatedFvPatchField; + +makePatchTypeFieldTypedefs(extrapolatedCalculated); + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H index ffed3dd1f..05f2391b6 100644 --- a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H @@ -65,6 +65,9 @@ class volMesh; template class fvPatchField; +template +class calculatedFvPatchField; + template class fvMatrix; @@ -106,6 +109,7 @@ class fvPatchField public: typedef fvPatch Patch; + typedef calculatedFvPatchField Calculated; //- Runtime type information diff --git a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H index 0a41d83c1..96240cd17 100644 --- a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H @@ -65,6 +65,9 @@ class surfaceMesh; template class fvsPatchField; +template +class calculatedFvsPatchField; + template Ostream& operator<<(Ostream&, const fvsPatchField&); @@ -90,6 +93,7 @@ class fvsPatchField public: typedef fvPatch Patch; + typedef calculatedFvsPatchField Calculated; //- Runtime type information diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/CoEulerDdtScheme/CoEulerDdtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/CoEulerDdtScheme/CoEulerDdtScheme.C index 89a997ba1..f45c34dfc 100644 --- a/src/finiteVolume/finiteVolume/ddtSchemes/CoEulerDdtScheme/CoEulerDdtScheme.C +++ b/src/finiteVolume/finiteVolume/ddtSchemes/CoEulerDdtScheme/CoEulerDdtScheme.C @@ -57,7 +57,7 @@ tmp CoEulerDdtScheme::CorDeltaT() const ), mesh(), dimensionedScalar("CorDeltaT", cofrDeltaT.dimensions(), 0.0), - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/SLTSDdtScheme/SLTSDdtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/SLTSDdtScheme/SLTSDdtScheme.C index a48cd0004..ea8742604 100644 --- a/src/finiteVolume/finiteVolume/ddtSchemes/SLTSDdtScheme/SLTSDdtScheme.C +++ b/src/finiteVolume/finiteVolume/ddtSchemes/SLTSDdtScheme/SLTSDdtScheme.C @@ -107,7 +107,7 @@ tmp SLTSDdtScheme::SLrDeltaT() const ), mesh(), dimensionedScalar("rDeltaT", dimless/dimTime, 0.0), - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); diff --git a/src/finiteVolume/finiteVolume/fvc/fvcCellReduce.C b/src/finiteVolume/finiteVolume/fvc/fvcCellReduce.C index 55a0c92e9..3ec972fc2 100644 --- a/src/finiteVolume/finiteVolume/fvc/fvcCellReduce.C +++ b/src/finiteVolume/finiteVolume/fvc/fvcCellReduce.C @@ -27,7 +27,7 @@ License #include "fvMesh.H" #include "volFields.H" #include "surfaceFields.H" -#include "zeroGradientFvPatchFields.H" +#include "extrapolatedCalculatedFvPatchFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,7 @@ tmp> cellReduce ), mesh, dimensioned("0", ssf.dimensions(), pTraits::zero), - zeroGradientFvPatchField::typeName + extrapolatedCalculatedFvPatchField::typeName ) ); diff --git a/src/finiteVolume/finiteVolume/fvc/fvcReconstruct.C b/src/finiteVolume/finiteVolume/fvc/fvcReconstruct.C index 9efe428b4..9b2f375b0 100644 --- a/src/finiteVolume/finiteVolume/fvc/fvcReconstruct.C +++ b/src/finiteVolume/finiteVolume/fvc/fvcReconstruct.C @@ -28,7 +28,7 @@ License #include "volFields.H" #include "surfaceFields.H" #include "fvcSurfaceIntegrate.H" -#include "zeroGradientFvPatchFields.H" +#include "extrapolatedCalculatedFvPatchFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -74,7 +74,7 @@ reconstruct IOobject::NO_WRITE ), inv(surfaceSum(SfHat*mesh.Sf()))&surfaceSum(SfHat*ssf), - zeroGradientFvPatchField::typeName + extrapolatedCalculatedFvPatchField::typeName ) ); diff --git a/src/finiteVolume/finiteVolume/fvc/fvcReconstructMag.C b/src/finiteVolume/finiteVolume/fvc/fvcReconstructMag.C index 63c03590c..2b8c34a41 100644 --- a/src/finiteVolume/finiteVolume/fvc/fvcReconstructMag.C +++ b/src/finiteVolume/finiteVolume/fvc/fvcReconstructMag.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -27,7 +27,7 @@ License #include "fvMesh.H" #include "volFields.H" #include "surfaceFields.H" -#include "zeroGradientFvPatchFields.H" +#include "extrapolatedCalculatedFvPatchFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -72,7 +72,7 @@ tmp reconstructMag(const surfaceScalarField& ssf) ssf.dimensions()/dimArea, scalar(0) ), - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); diff --git a/src/finiteVolume/finiteVolume/fvc/fvcSimpleReconstruct.C b/src/finiteVolume/finiteVolume/fvc/fvcSimpleReconstruct.C index 0c9e6c0b7..6c97f1afd 100644 --- a/src/finiteVolume/finiteVolume/fvc/fvcSimpleReconstruct.C +++ b/src/finiteVolume/finiteVolume/fvc/fvcSimpleReconstruct.C @@ -25,7 +25,7 @@ License #include "fvcReconstruct.H" #include "fvMesh.H" -#include "zeroGradientFvPatchFields.H" +#include "extrapolatedCalculatedFvPatchFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -81,7 +81,7 @@ reconstruct ssf.dimensions()/dimArea, pTraits::zero ), - zeroGradientFvPatchField::typeName + extrapolatedCalculatedFvPatchField::typeName ) ); diff --git a/src/finiteVolume/finiteVolume/fvc/fvcSurfaceIntegrate.C b/src/finiteVolume/finiteVolume/fvc/fvcSurfaceIntegrate.C index b2c638fe2..ccf92f56c 100644 --- a/src/finiteVolume/finiteVolume/fvc/fvcSurfaceIntegrate.C +++ b/src/finiteVolume/finiteVolume/fvc/fvcSurfaceIntegrate.C @@ -25,7 +25,7 @@ License #include "fvcSurfaceIntegrate.H" #include "fvMesh.H" -#include "zeroGradientFvPatchFields.H" +#include "extrapolatedCalculatedFvPatchFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -104,7 +104,7 @@ surfaceIntegrate ssf.dimensions()/dimVol, pTraits::zero ), - zeroGradientFvPatchField::typeName + extrapolatedCalculatedFvPatchField::typeName ) ); GeometricField& vf = tvf(); @@ -155,7 +155,7 @@ surfaceSum ), mesh, dimensioned("0", ssf.dimensions(), pTraits::zero), - zeroGradientFvPatchField::typeName + extrapolatedCalculatedFvPatchField::typeName ) ); GeometricField& vf = tvf(); diff --git a/src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresGrad.C b/src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresGrad.C index dc04fd0f3..26b582f77 100644 --- a/src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresGrad.C +++ b/src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresGrad.C @@ -28,7 +28,7 @@ License #include "gaussGrad.H" #include "fvMesh.H" #include "volMesh.H" -#include "zeroGradientFvPatchField.H" +#include "extrapolatedCalculatedFvPatchField.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -77,7 +77,7 @@ Foam::fv::LeastSquaresGrad::calcGrad vtf.dimensions()/dimLength, pTraits::zero ), - zeroGradientFvPatchField::typeName + extrapolatedCalculatedFvPatchField::typeName ) ); GeometricField& lsGrad = tlsGrad(); diff --git a/src/finiteVolume/finiteVolume/gradSchemes/gaussGrad/gaussGrad.C b/src/finiteVolume/finiteVolume/gradSchemes/gaussGrad/gaussGrad.C index 73fed99ca..a70e53f5a 100644 --- a/src/finiteVolume/finiteVolume/gradSchemes/gaussGrad/gaussGrad.C +++ b/src/finiteVolume/finiteVolume/gradSchemes/gaussGrad/gaussGrad.C @@ -24,7 +24,7 @@ License \*---------------------------------------------------------------------------*/ #include "gaussGrad.H" -#include "zeroGradientFvPatchField.H" +#include "extrapolatedCalculatedFvPatchField.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -67,7 +67,7 @@ Foam::fv::gaussGrad::gradf ssf.dimensions()/dimLength, pTraits::zero ), - zeroGradientFvPatchField::typeName + extrapolatedCalculatedFvPatchField::typeName ) ); GeometricField& gGrad = tgGrad(); diff --git a/src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresGrad.C b/src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresGrad.C index 954ea3f85..fa80a0856 100644 --- a/src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresGrad.C +++ b/src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresGrad.C @@ -30,7 +30,7 @@ License #include "volMesh.H" #include "surfaceMesh.H" #include "GeometricField.H" -#include "zeroGradientFvPatchField.H" +#include "extrapolatedCalculatedFvPatchField.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -73,7 +73,7 @@ Foam::fv::leastSquaresGrad::calcGrad vsf.dimensions()/dimLength, pTraits::zero ), - zeroGradientFvPatchField::typeName + extrapolatedCalculatedFvPatchField::typeName ) ); GeometricField& lsGrad = tlsGrad(); diff --git a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C index 91dd8e234..7fb437976 100644 --- a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C +++ b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C @@ -26,7 +26,7 @@ License #include "volFields.H" #include "surfaceFields.H" #include "calculatedFvPatchFields.H" -#include "zeroGradientFvPatchFields.H" +#include "extrapolatedCalculatedFvPatchFields.H" #include "coupledFvPatchFields.H" #include "UIndirectList.H" @@ -739,7 +739,7 @@ Foam::tmp Foam::fvMatrix::A() const ), psi_.mesh(), dimensions_/psi_.dimensions()/dimVol, - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); @@ -768,7 +768,7 @@ Foam::fvMatrix::H() const ), psi_.mesh(), dimensions_/dimVol, - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); GeometricField& Hphi = tHphi(); @@ -830,7 +830,7 @@ Foam::tmp Foam::fvMatrix::H1() const ), psi_.mesh(), dimensions_/(dimVol*psi_.dimensions()), - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); volScalarField& H1_ = tH1(); @@ -2274,7 +2274,7 @@ Foam::operator& ), psi.mesh(), M.dimensions()/dimVol, - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); GeometricField& Mphi = tMphi(); diff --git a/src/finiteVolume/fvMatrices/fvScalarMatrix/fvScalarMatrix.C b/src/finiteVolume/fvMatrices/fvScalarMatrix/fvScalarMatrix.C index 8dc91d4d1..7effdd1ef 100644 --- a/src/finiteVolume/fvMatrices/fvScalarMatrix/fvScalarMatrix.C +++ b/src/finiteVolume/fvMatrices/fvScalarMatrix/fvScalarMatrix.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -24,7 +24,7 @@ License \*---------------------------------------------------------------------------*/ #include "fvScalarMatrix.H" -#include "zeroGradientFvPatchFields.H" +#include "extrapolatedCalculatedFvPatchFields.H" // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // @@ -224,7 +224,7 @@ Foam::tmp Foam::fvMatrix::H() const ), psi_.mesh(), dimensions_/dimVol, - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); volScalarField& Hphi = tHphi(); @@ -256,7 +256,7 @@ Foam::tmp Foam::fvMatrix::H1() const ), psi_.mesh(), dimensions_/(dimVol*psi_.dimensions()), - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); volScalarField& H1_ = tH1(); diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/cellCoBlended/cellCoBlended.H b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/cellCoBlended/cellCoBlended.H index 7bfc88dce..fbeb1eef1 100644 --- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/cellCoBlended/cellCoBlended.H +++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/cellCoBlended/cellCoBlended.H @@ -73,7 +73,7 @@ SourceFiles #include "surfaceInterpolationScheme.H" #include "blendedSchemeBase.H" #include "surfaceInterpolate.H" -#include "zeroGradientFvPatchFields.H" +#include "extrapolatedCalculatedFvPatchFields.H" #include "fvcSurfaceIntegrate.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -230,7 +230,7 @@ public: ), mesh, dimensionedScalar("Co", dimless, 0), - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ); scalarField sumPhi diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/outletStabilised/outletStabilised.H b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/outletStabilised/outletStabilised.H index cecbcff03..49a70b700 100644 --- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/outletStabilised/outletStabilised.H +++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/outletStabilised/outletStabilised.H @@ -44,6 +44,7 @@ SourceFiles #include "skewCorrectionVectors.H" #include "linear.H" #include "gaussGrad.H" +#include "zeroGradientFvPatchField.H" #include "mixedFvPatchField.H" #include "directionMixedFvPatchField.H" diff --git a/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C b/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C index f7ce048af..5ed89df04 100644 --- a/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C +++ b/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2014-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -28,6 +28,7 @@ License #include "basicThermo.H" #include "uniformDimensionedFields.H" #include "zeroGradientFvPatchFields.H" +#include "extrapolatedCalculatedFvPatchFields.H" #include "addToRunTimeSelectionTable.H" #include "geometricOneField.H" @@ -103,7 +104,7 @@ Foam::fv::solidificationMeltingSource::Cp() const dimEnergy/dimMass/dimTemperature, CpRef ), - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); } diff --git a/src/genericPatchFields/genericFvPatchField/genericFvPatchField.C b/src/genericPatchFields/genericFvPatchField/genericFvPatchField.C index 298eb6778..374aa5eac 100644 --- a/src/genericPatchFields/genericFvPatchField/genericFvPatchField.C +++ b/src/genericPatchFields/genericFvPatchField/genericFvPatchField.C @@ -702,7 +702,7 @@ Foam::genericFvPatchField::valueInternalCoeffs << " in file " << this->dimensionedInternalField().objectPath() << "\n You are probably trying to solve for a field with a " "generic boundary condition." - << exit(FatalError); + << abort(FatalError); return *this; } @@ -723,7 +723,7 @@ Foam::genericFvPatchField::valueBoundaryCoeffs << " in file " << this->dimensionedInternalField().objectPath() << "\n You are probably trying to solve for a field with a " "generic boundary condition." - << exit(FatalError); + << abort(FatalError); return *this; } @@ -741,7 +741,7 @@ Foam::genericFvPatchField::gradientInternalCoeffs() const << " in file " << this->dimensionedInternalField().objectPath() << "\n You are probably trying to solve for a field with a " "generic boundary condition." - << exit(FatalError); + << abort(FatalError); return *this; } @@ -758,7 +758,7 @@ Foam::genericFvPatchField::gradientBoundaryCoeffs() const << " in file " << this->dimensionedInternalField().objectPath() << "\n You are probably trying to solve for a field with a " "generic boundary condition." - << exit(FatalError); + << abort(FatalError); return *this; } diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H index ced4c77f1..3ed904087 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H @@ -470,7 +470,7 @@ Foam::KinematicCloud::vDotSweep() const ), mesh_, dimensionedScalar("zero", dimless/dimTime, 0.0), - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); @@ -509,7 +509,7 @@ Foam::KinematicCloud::theta() const ), mesh_, dimensionedScalar("zero", dimless, 0.0), - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); diff --git a/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/Basic/Basic.C b/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/Basic/Basic.C index c01ae46a0..97bbb7b9b 100644 --- a/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/Basic/Basic.C +++ b/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/Basic/Basic.C @@ -24,6 +24,7 @@ License \*---------------------------------------------------------------------------*/ #include "Basic.H" +#include "zeroGradientFvPatchField.H" // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/Implicit/Implicit.C b/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/Implicit/Implicit.C index ab2b45799..73a72f554 100644 --- a/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/Implicit/Implicit.C +++ b/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/Implicit/Implicit.C @@ -30,6 +30,7 @@ License #include "fvmLaplacian.H" #include "fvcReconstruct.H" #include "volPointInterpolation.H" +#include "zeroGradientFvPatchFields.H" // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // @@ -43,8 +44,17 @@ Foam::PackingModels::Implicit::Implicit PackingModel(dict, owner, typeName), alpha_ ( - this->owner().name() + ":alpha", - this->owner().theta() + IOobject + ( + this->owner().name() + ":alpha", + this->owner().db().time().timeName(), + this->owner().mesh(), + IOobject::NO_READ, + IOobject::NO_WRITE + ), + this->owner().mesh(), + dimensionedScalar("zero", dimless, 0.0), + zeroGradientFvPatchScalarField::typeName ), phiCorrect_(NULL), uCorrect_(NULL), @@ -53,6 +63,7 @@ Foam::PackingModels::Implicit::Implicit alphaMin_(readScalar(this->coeffDict().lookup("alphaMin"))), rhoMin_(readScalar(this->coeffDict().lookup("rhoMin"))) { + alpha_ = this->owner().theta(); alpha_.oldTime(); } diff --git a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.C b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.C index 868e7cce3..b84da4a75 100644 --- a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.C +++ b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.C @@ -54,7 +54,6 @@ License #include "Random.H" #include "searchableSurfaces.H" #include "treeBoundBox.H" -#include "zeroGradientFvPatchFields.H" #include "fvMeshTools.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -2789,8 +2788,7 @@ void Foam::meshRefinement::dumpRefinementLevel() const false ), mesh_, - dimensionedScalar("zero", dimless, 0), - zeroGradientFvPatchScalarField::typeName + dimensionedScalar("zero", dimless, 0) ); const labelList& cellLevel = meshCutter_.cellLevel(); diff --git a/src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.C b/src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.C index 89506ebc9..ec56dcc94 100644 --- a/src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.C +++ b/src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2013-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -26,6 +26,7 @@ License #include "CourantNo.H" #include "surfaceFields.H" #include "fvcSurfaceIntegrate.H" +#include "zeroGradientFvPatchFields.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactorTemplates.C b/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactorTemplates.C index a9b3121f4..a2275cf5f 100644 --- a/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactorTemplates.C +++ b/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactorTemplates.C @@ -26,6 +26,7 @@ License #include "gaussConvectionScheme.H" #include "blendedSchemeBase.H" #include "fvcCellReduce.H" +#include "zeroGradientFvPatchFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C b/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C index ae118fa10..501f4aa64 100644 --- a/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C +++ b/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C @@ -25,7 +25,6 @@ License #include "reactingOneDim.H" #include "addToRunTimeSelectionTable.H" -#include "zeroGradientFvPatchFields.H" #include "surfaceInterpolate.H" #include "fvm.H" #include "fvcDiv.H" @@ -464,8 +463,6 @@ reactingOneDim::reactingOneDim IOobject::AUTO_WRITE ), regionMesh() - //dimensionedScalar("zero", dimEnergy/dimArea/dimTime, 0.0), - //zeroGradientFvPatchVectorField::typeName ), lostSolidMass_(dimensionedScalar("zero", dimMass, 0.0)), diff --git a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayerI.H b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayerI.H index 39c95ba8c..3c0bd597f 100644 --- a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayerI.H +++ b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayerI.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -223,8 +223,7 @@ inline tmp kinematicSingleLayer::gNorm() const IOobject::NO_READ, IOobject::NO_WRITE ), - g_ & nHat(), - zeroGradientFvPatchScalarField::typeName + g_ & nHat() ) ); @@ -246,8 +245,7 @@ inline tmp kinematicSingleLayer::gNormClipped() const IOobject::NO_READ, IOobject::NO_WRITE ), - g_ & nHat(), - zeroGradientFvPatchScalarField::typeName + g_ & nHat() ) ); @@ -272,8 +270,7 @@ inline tmp kinematicSingleLayer::gTan() const IOobject::NO_READ, IOobject::NO_WRITE ), - g_ - nHat()*gNorm(), - zeroGradientFvPatchVectorField::typeName + g_ - nHat()*gNorm() ) ); diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/constantFilmThermo/constantFilmThermo.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/constantFilmThermo/constantFilmThermo.C index 6e964ac37..cc5337185 100644 --- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/constantFilmThermo/constantFilmThermo.C +++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/constantFilmThermo/constantFilmThermo.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -24,6 +24,7 @@ License \*---------------------------------------------------------------------------*/ #include "constantFilmThermo.H" +#include "extrapolatedCalculatedFvPatchFields.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -270,7 +271,7 @@ tmp constantFilmThermo::rho() const ), owner().regionMesh(), dimensionedScalar("0", dimDensity, 0.0), - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); @@ -297,7 +298,7 @@ tmp constantFilmThermo::mu() const ), owner().regionMesh(), dimensionedScalar("0", dimPressure*dimTime, 0.0), - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); @@ -324,7 +325,7 @@ tmp constantFilmThermo::sigma() const ), owner().regionMesh(), dimensionedScalar("0", dimMass/sqr(dimTime), 0.0), - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); @@ -351,7 +352,7 @@ tmp constantFilmThermo::Cp() const ), owner().regionMesh(), dimensionedScalar("0", dimEnergy/dimMass/dimTemperature, 0.0), - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); @@ -378,7 +379,7 @@ tmp constantFilmThermo::kappa() const ), owner().regionMesh(), dimensionedScalar("0", dimPower/dimLength/dimTemperature, 0.0), - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C index c846a98d5..59b571361 100644 --- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C +++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2013-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -27,6 +27,7 @@ License #include "demandDrivenData.H" #include "thermoSingleLayer.H" #include "SLGThermo.H" +#include "extrapolatedCalculatedFvPatchFields.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -250,7 +251,7 @@ tmp liquidFilmThermo::rho() const ), owner().regionMesh(), dimensionedScalar("0", dimDensity, 0.0), - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); @@ -298,7 +299,7 @@ tmp liquidFilmThermo::mu() const ), owner().regionMesh(), dimensionedScalar("0", dimPressure*dimTime, 0.0), - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); @@ -346,7 +347,7 @@ tmp liquidFilmThermo::sigma() const ), owner().regionMesh(), dimensionedScalar("0", dimMass/sqr(dimTime), 0.0), - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); @@ -394,7 +395,7 @@ tmp liquidFilmThermo::Cp() const ), owner().regionMesh(), dimensionedScalar("0", dimEnergy/dimMass/dimTemperature, 0.0), - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); @@ -442,7 +443,7 @@ tmp liquidFilmThermo::kappa() const ), owner().regionMesh(), dimensionedScalar("0", dimPower/dimLength/dimTemperature, 0.0), - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/laminar/laminar.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/laminar/laminar.C index 6b015cd80..df7ccf084 100644 --- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/laminar/laminar.C +++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/laminar/laminar.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -31,7 +31,7 @@ License #include "volFields.H" #include "fvmSup.H" #include "kinematicSingleLayer.H" -#include "zeroGradientFvPatchFields.H" +#include "extrapolatedCalculatedFvPatchFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -84,7 +84,7 @@ tmp laminar::Us() const ), owner_.regionMesh(), dimensionedVector("zero", dimVelocity, vector::zero), - zeroGradientFvPatchVectorField::typeName + extrapolatedCalculatedFvPatchVectorField::typeName ) ); diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/constantRadiation/constantRadiation.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/constantRadiation/constantRadiation.C index 5d82ba085..4f5c60f14 100644 --- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/constantRadiation/constantRadiation.C +++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/constantRadiation/constantRadiation.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2012-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2012-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -25,7 +25,6 @@ License #include "constantRadiation.H" #include "volFields.H" -#include "zeroGradientFvPatchFields.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -117,8 +116,7 @@ tmp constantRadiation::Shs() IOobject::NO_WRITE ), owner().regionMesh(), - dimensionedScalar("zero", dimMass/pow3(dimTime), 0.0), - zeroGradientFvPatchScalarField::typeName + dimensionedScalar("zero", dimMass/pow3(dimTime), 0.0) ) ); diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/noRadiation/noRadiation.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/noRadiation/noRadiation.C index ce200ee3c..e46dd872e 100644 --- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/noRadiation/noRadiation.C +++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/noRadiation/noRadiation.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -26,7 +26,6 @@ License #include "noRadiation.H" #include "volFields.H" #include "addToRunTimeSelectionTable.H" -#include "zeroGradientFvPatchFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -89,8 +88,7 @@ tmp noRadiation::Shs() IOobject::NO_WRITE ), owner().regionMesh(), - dimensionedScalar("zero", dimMass/pow3(dimTime), 0.0), - zeroGradientFvPatchScalarField::typeName + dimensionedScalar("zero", dimMass/pow3(dimTime), 0.0) ) ); } diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/primaryRadiation/primaryRadiation.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/primaryRadiation/primaryRadiation.C index 21b982073..b653ee463 100644 --- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/primaryRadiation/primaryRadiation.C +++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/primaryRadiation/primaryRadiation.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2012-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2012-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -25,7 +25,6 @@ License #include "primaryRadiation.H" #include "volFields.H" -#include "zeroGradientFvPatchFields.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -104,8 +103,7 @@ tmp primaryRadiation::Shs() IOobject::NO_WRITE ), owner().regionMesh(), - dimensionedScalar("zero", dimMass/pow3(dimTime), 0.0), - zeroGradientFvPatchScalarField::typeName + dimensionedScalar("zero", dimMass/pow3(dimTime), 0.0) ) ); diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/standardRadiation/standardRadiation.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/standardRadiation/standardRadiation.C index 14c2a3bfd..3505f9c8a 100644 --- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/standardRadiation/standardRadiation.C +++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/standardRadiation/standardRadiation.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -120,8 +120,7 @@ tmp standardRadiation::Shs() IOobject::NO_WRITE ), owner().regionMesh(), - dimensionedScalar("zero", dimMass/pow3(dimTime), 0.0), - zeroGradientFvPatchScalarField::typeName + dimensionedScalar("zero", dimMass/pow3(dimTime), 0.0) ) ); diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/constantHeatTransfer/constantHeatTransfer.C b/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/constantHeatTransfer/constantHeatTransfer.C index 924aee708..78769a9bd 100644 --- a/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/constantHeatTransfer/constantHeatTransfer.C +++ b/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/constantHeatTransfer/constantHeatTransfer.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -26,7 +26,6 @@ License #include "constantHeatTransfer.H" #include "volFields.H" #include "addToRunTimeSelectionTable.H" -#include "zeroGradientFvPatchFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -96,8 +95,7 @@ tmp constantHeatTransfer::h() const "c0", dimEnergy/dimTime/sqr(dimLength)/dimTemperature, c0_ - ), - zeroGradientFvPatchScalarField::typeName + ) ) ); } diff --git a/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayerI.H b/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayerI.H index edcef9967..223254c38 100644 --- a/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayerI.H +++ b/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayerI.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -73,8 +73,7 @@ inline tmp thermoSingleLayer::hs IOobject::NO_READ, IOobject::NO_WRITE ), - Cp_*(T - (dimensionedScalar("Tstd", dimTemperature, 298.15))), - zeroGradientFvPatchScalarField::typeName + Cp_*(T - (dimensionedScalar("Tstd", dimTemperature, 298.15))) ) ); } @@ -97,8 +96,7 @@ inline tmp thermoSingleLayer::T IOobject::NO_READ, IOobject::NO_WRITE ), - hs/Cp_ + dimensionedScalar("Tstd", dimTemperature, 298.15), - zeroGradientFvPatchScalarField::typeName + hs/Cp_ + dimensionedScalar("Tstd", dimTemperature, 298.15) ) ); diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel/chemistryModel.C b/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel/chemistryModel.C index 92f1db6b8..ee7a8974d 100644 --- a/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel/chemistryModel.C +++ b/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel/chemistryModel.C @@ -26,6 +26,7 @@ License #include "chemistryModel.H" #include "reactingMixture.H" #include "UniformField.H" +#include "extrapolatedCalculatedFvPatchFields.H" // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // @@ -495,7 +496,7 @@ Foam::chemistryModel::tc() const ), this->mesh(), dimensionedScalar("zero", dimTime, SMALL), - zeroGradientFvPatchScalarField::typeName + extrapolatedCalculatedFvPatchScalarField::typeName ) ); @@ -563,12 +564,10 @@ Foam::chemistryModel::Sh() const false ), this->mesh_, - dimensionedScalar("zero", dimEnergy/dimTime/dimVolume, 0.0), - zeroGradientFvPatchScalarField::typeName + dimensionedScalar("zero", dimEnergy/dimTime/dimVolume, 0.0) ) ); - if (this->chemistry_) { scalarField& Sh = tSh(); @@ -605,8 +604,7 @@ Foam::chemistryModel::dQ() const false ), this->mesh_, - dimensionedScalar("dQ", dimEnergy/dimTime, 0.0), - zeroGradientFvPatchScalarField::typeName + dimensionedScalar("dQ", dimEnergy/dimTime, 0.0) ) ); diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.C b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.C index ef0ab3201..208425212 100644 --- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.C +++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.C @@ -26,7 +26,7 @@ License #include "greyMeanAbsorptionEmission.H" #include "addToRunTimeSelectionTable.H" #include "unitConversion.H" -#include "zeroGradientFvPatchFields.H" +#include "extrapolatedCalculatedFvPatchFields.H" #include "basicSpecieMixture.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -209,7 +209,7 @@ Foam::radiation::greyMeanAbsorptionEmission::aCont(const label bandI) const ), mesh(), dimensionedScalar("a", dimless/dimLength, 0.0), - zeroGradientFvPatchVectorField::typeName + extrapolatedCalculatedFvPatchVectorField::typeName ) ); diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C index 2ab193102..d3da12eb5 100644 --- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C +++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C @@ -26,7 +26,7 @@ License #include "greyMeanSolidAbsorptionEmission.H" #include "addToRunTimeSelectionTable.H" #include "unitConversion.H" -#include "zeroGradientFvPatchFields.H" +#include "extrapolatedCalculatedFvPatchFields.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -158,7 +158,7 @@ calc(const label propertyId) const ), mesh(), dimensionedScalar("a", dimless/dimLength, 0.0), - zeroGradientFvPatchVectorField::typeName + extrapolatedCalculatedFvPatchVectorField::typeName ) ); diff --git a/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModel.C b/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModel.C index 197325953..efa78b4e1 100644 --- a/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModel.C +++ b/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2013-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -619,7 +619,6 @@ Foam::pyrolysisChemistryModel::gasHs const label index ) const { - tmp tHs ( new volScalarField @@ -634,8 +633,7 @@ Foam::pyrolysisChemistryModel::gasHs false ), this->mesh_, - dimensionedScalar("zero", dimEnergy/dimMass, 0.0), - zeroGradientFvPatchScalarField::typeName + dimensionedScalar("zero", dimEnergy/dimMass, 0.0) ) ); @@ -664,4 +662,6 @@ void Foam::pyrolysisChemistryModel::solve { NotImplemented; } + + // ************************************************************************* // diff --git a/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.C b/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.C index e39f1f635..07cc0c3ae 100644 --- a/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.C +++ b/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -25,7 +25,6 @@ License #include "solidChemistryModel.H" #include "reactingMixture.H" -#include "zeroGradientFvPatchFields.H" // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // @@ -131,8 +130,7 @@ Foam::solidChemistryModel::Sh() const false ), this->mesh_, - dimensionedScalar("zero", dimEnergy/dimTime/dimVolume, 0.0), - zeroGradientFvPatchScalarField::typeName + dimensionedScalar("zero", dimEnergy/dimTime/dimVolume, 0.0) ) ); @@ -172,8 +170,7 @@ Foam::solidChemistryModel::dQ() const false ), this->mesh_, - dimensionedScalar("dQ", dimEnergy/dimTime, 0.0), - zeroGradientFvPatchScalarField::typeName + dimensionedScalar("dQ", dimEnergy/dimTime, 0.0) ) ); diff --git a/src/triSurface/triSurface/triSurface.C b/src/triSurface/triSurface/triSurface.C index 1a834edad..7946ae338 100644 --- a/src/triSurface/triSurface/triSurface.C +++ b/src/triSurface/triSurface/triSurface.C @@ -620,10 +620,10 @@ Foam::triSurface::triSurface List& triangles, const geometricSurfacePatchList& patches, pointField& points, - const bool reUse + const bool reuse ) : - ParentType(triangles, points, reUse), + ParentType(triangles, points, reuse), patches_(patches), sortedEdgeFacesPtr_(NULL), edgeOwnerPtr_(NULL) diff --git a/src/triSurface/triSurface/triSurface.H b/src/triSurface/triSurface/triSurface.H index 89d5461d2..1d8629f36 100644 --- a/src/triSurface/triSurface/triSurface.H +++ b/src/triSurface/triSurface/triSurface.H @@ -259,7 +259,7 @@ public: List&, const geometricSurfacePatchList&, pointField&, - const bool reUse + const bool reuse ); //- Construct from triangles, patches, points.